ผู้จัดการเครือข่ายแบ่งเส้นทางด้วยตนเอง


9

ฉันมี Ubuntu 13.10, Saucy Salamander x64 ทำงานเป็นแขกใน VirtualBox (โดยมี Windows 7 เป็นโฮสต์)

ฉันเขียนสิ่งนี้/etc/network/interfacesเพราะฉันต้องการเพิ่มเส้นทางแบบคงที่ถาวรจำนวนมากด้วยตนเอง:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp
    up ip -force -b /etc/network/eth1-routes

eth1-routes มีหลายบรรทัดของแบบฟอร์ม:

route add 10.0.0.0/8 via 172.x.x.x dev eth1

ซึ่ง172.x.x.xเป็นประตูที่ VBox NAT ให้ฉัน

โดยการเรียกใช้netstat -nrก็ปรากฏว่าทุกเส้นทางคู่มือของฉันได้รับการเพิ่มเรียบร้อยแล้วรวมทั้งเส้นทางที่จะได้รับสองเซิร์ฟเวอร์ DNS 172.x.x.xผ่าน

อย่างไรก็ตามผู้จัดการเครือข่ายบอกว่าอุปกรณ์ทั้งคู่นั้น "ไม่ได้รับการจัดการ" หากฉันตั้งค่า/etc/NetworkManager/NetworkManager.conf managed=trueตัวจัดการเครือข่ายจะทำงานอีกครั้ง แต่เส้นทางของฉันหายไป ดังนั้นการประนีประนอมปัจจุบันของฉันคือการตั้งค่าmanaged=falseและแสดงความคิดเห็นออกเส้นในeth0/etc/network/interfaces

มีวิธีที่จะจัดการอุปกรณ์และทำเส้นทางด้วยตนเองตามที่กล่าวไว้ข้างต้นหรือไม่?

คำตอบ:


4

/etc/network/interfacesผู้จัดการเครือข่ายไม่รู้จักงบที่คุณเขียนไว้ใน

ดังนั้นคุณสามารถเพิ่มสคริปต์ของคุณเป็นผู้มอบหมายงานสคริปต์สำหรับการจัดการเครือข่ายในeth1-routes /etc/network/if-up.d/มันจะทำงานทุกครั้งที่อินเตอร์เฟสทำงาน บางทีคุณอาจต้องเขียนคำว่า "if clause" ในสคริปต์เพื่อเพิ่มเส้นทางหากeth1เกิดขึ้น แบบนี้:

if [ "$IFACE" == "eth1" ]; then
  route add ...
  route add ...
fi

5

ผู้จัดการเครือข่ายจัดการเส้นทางคงที่ของตัวเอง - เปิดตัวจัดการเครือข่ายและเลือก "การเชื่อมต่อแบบมีสาย 1" เลือกแก้ไข เลือกแท็บ IPv4 ที่ด้านล่างของหน้านี้มีปุ่มสำหรับ "เส้นทาง" นั่นคือที่ที่คุณเพิ่มเข้าไป เมื่อเสร็จแล้ว NM จะเขียนไปยังไฟล์ที่มีการอนุญาตรูทในไดเร็กทอรี / etc / NetworkManager / system-connections / directory ชื่อ "Wired connection 1"

ตัวอย่างดังต่อไปนี้

ls -l /etc/NetworkManager/system-connections/
total 4.0K
-rw------- 1 root root 216 Aug 26 10:38 Wired connection 1

sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 1

[802-3-ethernet]
mac-address=A:Real:Mac:Add:re:ss

[connection]
id=Wired connection 1
uuid=df4491fc-0981-4071-82ae-04c7b2d6d9fc
type=802-3-ethernet

[ipv6]
method=auto

[ipv4]
method=auto
route1=10.2.2.0/24,10.1.1.68,1

โดยที่ 10.2.2.0 เป็นเครือข่ายปลายทางและ 10.1.1.68 เป็นเกตเวย์


1

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

เพิ่มเส้นทางไปยังไฟล์การกำหนดค่า/ etc / NetworkManager / system-connections / "ชื่อการเชื่อมต่อ"โดยการเพิ่มคำสั่งเส้นทางไปยังไฟล์การตั้งค่าสำหรับ (สมมติว่า IPv4) เส้นทางมีสี่ส่วน "สิ่งแรกคือเครือข่าย IPv4 ปลายทางหรือที่อยู่ (ลำดับไบต์ของเครือข่าย), อันดับที่สองของเครือข่ายปลายทางหรือคำนำหน้าที่อยู่ (1 - 32), อันดับที่สามเป็นลำดับถัดไป (ลำดับไบต์ของเครือข่าย) ถ้ามีและลำดับที่สี่คือ เส้นทางที่ตัวชี้วัด"

[ipv4]
method=auto
route1=172.16.0.0/16,192.168.3.1,1

นี่คือเทียบเท่าของการตั้งค่าเส้นทางโดยใช้คำสั่งเส้นทางต่อไปนี้:

route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.3.1

ชื่อเส้นทางหลักถูกกำหนดไว้ในตารางที่ 12 ในเอกสารประกอบสำหรับนักพัฒนา NetmorkManager โปรดดู URL ต่อไปนี้สำหรับข้อมูลเพิ่มเติม: https://developer.gnome.org/NetworkManager/0.9/ref-settings.html

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