ไม่สามารถกำหนดค่า eth1 และ eth2 ได้อย่างถูกต้องบน Ubuntu


10

ฉันใหม่สำหรับการบริหารเครือข่ายอย่างสมบูรณ์และฉันก็พบว่ามันค่อนข้างยาก ฉันมีเครื่องที่มี 1 อินเตอร์เฟสฉันต้องตั้งค่าเป็น subnet 10.0.20.0/24, อีก 10.1.0.0/24 และที่สามเป็น 10.128.0.0/24 eth0 ของฉันกำลังทำงานอยู่และคำสั่ง ifconfig แสดงผลลัพธ์:

eth0      Link encap:Ethernet  HWaddr fa:16:3e:31:bc:c9  
          inet addr:10.0.20.3  Bcast:10.0.20.255  Mask:255.255.255.0
          inet6 addr: fe80::f816:3eff:fe31:bcc9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1454  Metric:1
          RX packets:8941 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5324 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5662823 (5.6 MB)  TX bytes:616960 (616.9 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:672 (672.0 B)  TX bytes:672 (672.0 B)

เมื่อดูที่นี่และที่อื่น ๆ ฉันได้กำหนดค่า / etc / network / interfaces ของฉันดังนี้:

auto eth0
iface eth0 inet static
    address 10.0.20.3
    netmask 255.255.255.0

auto eth1
iface eth1 inet static
    address 10.1.0.1
    netmask 255.255.255.0

auto eth2
iface eth2 inet static
    address 10.128.0.1
    netmask 255.255.255.0

ฉันไม่ได้ทำอะไรกับ eth0 เพราะมันทำงานอยู่แล้ว ฉันลอง "sudo ifdown eth1" ฉันได้รับ:

ifdown: interface eth1 not configured

ฉันดูในฟอรัมเหล่านี้และผู้คนกำลังพูดถึงเกตเวย์ แต่ฉันไม่แน่ใจว่าจะตั้งค่าเกตเวย์นี้เป็นอินเทอร์เฟซใด มีคนช่วยฉันหน่อยได้ไหม

เมื่อใช้งาน "sudo ifup eth1" ฉันได้รับผลลัพธ์:

Cannot find device "eth1"
Failed to bring up eth1.

ตกลงนี่คือสิ่งที่ฉันทำ - แทนที่จะใช้ eth1 และ eth2 ฉันแทนที่พวกเขาด้วย eth0: 1 และ eth0: 2 ตามลำดับตามที่ระบุด้านล่าง:

auto eth0:1
iface eth0:1 inet static
    address 10.1.0.1
    netmask 255.255.255.0

auto eth0:2
iface eth0:2 inet static
    address 10.128.0.1
    netmask 255.255.255.0

ตอนนี้เมื่อฉันกำลังทำ "sudo ifup eth0: 1" และ "sudo ifup eth0: 2" ส่วนต่อประสานเริ่มต้นอย่างถูกต้อง ดังนั้นเอาต์พุตของ "ifconfig -a" คือ:

eth0      Link encap:Ethernet  HWaddr fa:16:3e:31:bc:c9  
          inet addr:10.0.20.3  Bcast:10.0.20.255  Mask:255.255.255.0
          inet6 addr: fe80::f816:3eff:fe31:bcc9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1454  Metric:1
          RX packets:1498 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1220 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:149182 (149.1 KB)  TX bytes:148374 (148.3 KB)

eth0:1    Link encap:Ethernet  HWaddr fa:16:3e:31:bc:c9  
          inet addr:10.1.0.1  Bcast:10.1.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1454  Metric:1

eth0:2    Link encap:Ethernet  HWaddr fa:16:3e:31:bc:c9  
          inet addr:10.128.0.1  Bcast:10.128.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1454  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)

แต่ฉันยังคงสับสน ฉันควรจะทำเช่นเดียวกันกับอุปกรณ์ eth1 และ eth2 หากไม่มีอินเทอร์เฟซเหล่านี้ฉันจะเพิ่มได้อย่างไร

ตกลงฉันได้รับมันในที่สุด เมื่อฉันสร้างอินสแตนซ์ OpenStack ของฉันฉันใช้อินเทอร์เฟซเครือข่ายเดียวเท่านั้น ดังนั้นจึงสร้างเฉพาะ eth0 ฉันลบอินสแตนซ์และสร้างอันใหม่ที่ระบุอินเทอร์เฟซเพิ่มเติม กำหนดค่า eth1 และ eth2 สำเร็จแล้ว!


คุณรีสตาร์ทเครือข่ายหลังจากทำการเปลี่ยนแปลงกับ / etc / network / interfaces หรือไม่
EEAA

ใช่ฉันรันคำสั่ง "sudo /etc/init.d/networking restart"

รีสตาร์ทเครือข่ายของคุณและตรวจสอบบันทึกของคุณ โพสต์ข้อมูลจาก syslog และบันทึกอื่น ๆ ที่เกี่ยวข้อง นั่นคือ Ubuntu SERVER หรือเดสก์ท็อป
ETL

1
ทำไมifdown? อินเทอร์เฟซไม่ทำงานแล้ว ifupจะได้รับมันคุณควรใช้
etagenklo

ฉันแก้ไขโพสต์ของฉันด้านบนเพื่อรวมผลลัพธ์ของ ifup

คำตอบ:


1

คำสั่งifupและifdownกำลังใช้ไฟล์ชั่วคราวด้านล่าง/var/libเพื่อให้จำได้ว่าอินเทอร์เฟซใดที่เร็ว ๆ นี้และไม่ได้ คำสั่งอื่น ๆ ( ifconfig) ไม่ทราบสิ่งนี้ ดังนั้นหากคุณกําหนดคอินเตอร์เฟซของคุณด้วยifconfigการifup/ ifdownจะคิดว่าจะยังไม่ลดลง

ในราวปี 1998 มันก็เร็วมากและอาจไม่มีใครพูดได้ว่าทำไม

แก้ไข/etc/networking/interfaces(หรืออาจเป็นการตั้งค่าอื่น ๆ ที่ขึ้นอยู่กับการกระจาย/etc) และใช้คำสั่งifup/ ifdownหากคุณสามารถทำได้ การตั้งค่าเหล่านี้จะถูกจดจำระหว่างการรีบูต โชคดี!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.