การเพิ่มเกตเวย์เริ่มต้นสองรายการในไฟล์ Debian อินเตอร์เฟส


10

นี่คือไฟล์อินเตอร์เฟสของฉัน:

auto eth0
iface eth0 inet static
   address 192.168.1.10
   netmask 255.255.255.0
   gateway 192.168.1.1

auto eth1
iface eth1 inet static
   address 192.168.2.10
   netmask 255.255.255.0
   gateway 192.168.2.1

eth1 is not upถ้าผมรีสตาร์ทเครือข่ายภูตฉันได้รับข้อผิดพลาดนี้: ฉันต้องการสองเกตเวย์เริ่มต้นเพื่อให้บรรลุสิ่งที่ถูกกล่าวถึงในคำตอบที่ได้รับการยอมรับที่จะคำถามที่นี่ นี่คือวิธีตารางตารางเส้นทางของฉัน:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1

ฉันได้รับตารางข้างต้นโดยใช้ifconfigและroute add default gwคำสั่ง แต่ฉันต้องการทำกับ/etc/network/interfacesไฟล์ ฉันจะทำมันได้อย่างไร

Update1:

iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    up ip route del 192.168.1.0/24
    post-up ip route add 192.168.1.0/24 dev eth0 metric 1
    up route add default gw 192.168.1.1 metric 1

1
ตราบใดที่คุณไม่สนใจว่าปริมาณการใช้งานจะลดลง บน Solaris และ Linux เวอร์ชันก่อนหน้านี้เกิดขึ้นในแบบ Round-Robin
Karlson

ไฟล์อินเตอร์เฟสของคุณดูถูกต้อง โดยปกติแล้ว DHCP จะสะดวกกว่าในทุกวันนี้และนั่นคือสิ่งที่ฉันใช้ในกรณีนี้ คุณสามารถให้ที่อยู่ MAC เฉพาะที่อยู่ IP ชุดในการตั้งค่าของเซิร์ฟเวอร์ DHCP
casualunixer

เพียงแค่ทราบด้าน NetworkManager เพิ่งเพิ่มการสนับสนุนที่ครอบคลุมมากขึ้นสำหรับตัวชี้วัดเส้นทาง มันจัดการพวกเขาโดยอัตโนมัติหรือคุณสามารถตั้งค่าด้วยตนเอง อาจเป็นวิธีที่สะดวกกว่าหรือคุณอาจต้องการยื่นคำขอคุณสมบัติสำหรับเครื่องมือของคุณ
Pavel Šimerda

นอกจากนี้คุณอาจต้องการเพิ่มรายละเอียดเกี่ยวกับสาเหตุที่คุณต้องการให้มีสองเส้นทางเริ่มต้นเลย ฉันสามารถเดาได้ว่าเส้นทางสองเส้นทางที่มีเมตริกแตกต่างกันจะไม่ทำงานอย่างที่คุณคาดไว้
Pavel Šimerda

ไฟล์อินเตอร์เฟสอนุญาตให้ตั้งค่าเมทริก ควรจะมีความจำเป็นที่จะเพิ่มเส้นทางด้วยตนเองโดยใช้ขึ้นและโพสต์ขึ้น
Goswin ฟอน Brederlow

คำตอบ:


10

/ etc / network / interfaces นี้ใช้ได้กับฉันใน 2.6.32-40 Ubuntu 10.04 LTS:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.254
    post-up route add default gw 192.168.1.1 metric 1
    pre-down route del default gw 192.168.1.1

auto eth1
iface eth1 inet static
    address 192.168.2.10
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.254
    post-up route add default gw 192.168.2.1 metric 2
    pre-down route del default gw 192.168.2.1

ฉันได้รับสองเส้นทางเริ่มต้น:

root@gamla:/etc/network# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 eth0
0.0.0.0         192.168.2.1     0.0.0.0         UG    2      0        0 eth1

หมายเหตุตัวชี้วัด ฉันเข้าใจคำถามของคุณหรือไม่


เครือข่ายและเกตเวย์ที่เกี่ยวข้องeth0ควร apper ก่อนเพราะมันเป็นเครือข่ายหลักและเกตเวย์ ผลลัพธ์ของnetstat -anrหรือเพียงแค่routeคำสั่งในการตั้งค่าของคุณคืออะไร?
nixnotwin

ฉันแก้ไขเพิ่มพารามิเตอร์ตัวชี้วัดเพื่อให้ได้คำสั่งเส้นทางที่ต้องการ ระบบของฉันมีอินเทอร์เฟซอื่น ๆ จำนวนมากที่ฉันแก้ไขจากเอาท์พุตและชื่ออินเทอร์เฟซของฉันไม่ใช่ ethX ดังนั้นฉันจึงไม่แน่ใจ 100% ว่าโซลูชันของฉันจะได้ผลสำหรับคุณ ลองใช้และแจ้งให้เราทราบผลลัพธ์
Eli Rosencruft

การเพิ่มการวัดสำหรับเกตเวย์เริ่มต้นทำงาน แต่ฉันจะเพิ่มเมตริกสำหรับเส้นทางได้อย่างไร ตารางเส้นทางของฉันมีซับเน็ตคลาส B ซึ่งควรมาก่อนซับเน็ตคลาส A อื่นของฉัน การระบุmetric 3จากifmetricแพ็คเกจdebian ใช้งานไม่ได้สำหรับฉัน
nixnotwin

1
เคอร์เนลจัดเก็บเมทริก แต่ไม่ได้ใช้เพื่อจัดเส้นทาง ในการใช้ตัวชี้วัดคุณต้องเรียกใช้ดีมอนการกำหนดเส้นทางเช่น quagga (เป็นม้าลาย) หรือนก
Eli Rosencruft

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