ตั้งค่าตารางเส้นทางแบบต่อเนื่องใน Debian


13

ฉันได้ปรับเปลี่ยนตารางเส้นทางของฉันโดยการลบกฎหนึ่งข้อและเพิ่มกฎใหม่สองกฎสำหรับอินเทอร์เฟซที่สองของฉัน eth1:

route del -net 10.1.2.0 netmask 255.255.255.0
route add -host 10.1.2.51 eth1
route add -host 10.1.2.52 eth1

ฉันต้องการกฎเพื่อความอยู่รอดในการรีบูต ฉันสามารถเขียนสคริปต์ rc แบบง่าย ๆ เพื่อลบ 1 กฎและแทรก 2 กฎใหม่ได้ แต่ฉันสงสัยว่ามีวิธีการกำหนดค่า ifconfig ไม่ใช่เพื่อเพิ่มกฎเส้นทางสำหรับส่วนต่อประสาน (eth1) เมื่อมันเริ่มทำงานหรือดียิ่งขึ้น เพื่อระบุกฎที่ควรเพิ่ม

อะไรจะเป็นวิธีที่สะอาดที่จะทำ? ไม่ifconfigอนุญาตให้ผมระบุกฎที่กำหนดเองสำหรับการกำหนดเส้นทาง?

คำตอบ:


21

คุณสามารถเพิ่มการโทรไปที่post-uphook เมื่ออินเทอร์เฟซปรากฏขึ้น /etc/network/interfacesการกำหนดค่าอินเตอร์เฟซที่ตั้งอยู่ใน นี่คือตัวอย่าง:

auto eth1
iface eth1 inet dhcp
  post-up route del -net 10.1.2.0 netmask 255.255.255.0
  post-up route add -host 10.1.2.51 eth1
  post-up route add -host 10.1.2.52 eth1
  pre-down route add -net 10.1.2.0 netmask 255.255.255.0
  pre-down route add -host 10.1.2.51 eth1
  pre-down route add -host 10.1.2.52 eth1

จากหน้า man - อินเตอร์เฟส :

command
คำสั่งเรียกใช้post-upหลังจากนำอินเตอร์เฟสขึ้นมา หากคำสั่งนี้ล้มเหลว ifup จะยกเลิกให้งดการทำเครื่องหมายอินเทอร์เฟซตามที่กำหนดค่า (แม้ว่าจะได้รับการกำหนดค่าจริงๆ) พิมพ์ข้อความแสดงข้อผิดพลาดและออกจากสถานะ 0

pre-down command
Run command ก่อนที่จะทำการอินเตอร์เฟส หากคำสั่งนี้ล้มเหลว ifdown จะยกเลิกให้ทำเครื่องหมายอินเตอร์เฟสว่าเป็น deconfigured (แม้ว่าจะไม่ได้ถูกกำหนดค่าจริง) และออกจากสถานะ 0

นอกจากนี้บน Linux“ เครื่องมือสุทธิ” routeเลิกใช้แล้วและควรแทนที่ด้วยเครื่องมือจากแพ็คเกจiproute2

อ่านเพิ่มเติม:


ฉันสามารถแทนที่จะสร้างกฎแรกได้หรือไม่เพื่อป้องกันไม่ให้สร้างขึ้นตั้งแต่แรก? จะสร้างกฎเส้นทางได้อย่างไร จากการตั้งค่าเครือข่าย/etc/network/interfaces? และฉันจะรู้ได้อย่างไรว่าเมื่อมีการเรียกใช้โพสต์อัพจะมีการลบกฎไปแล้วหรือไม่ หน้าคนไม่ได้พูดในเวลาที่มันถูกสร้างขึ้น
Martin Vegter

1
เนื่องจากฉันไม่ทราบว่าเครือข่ายของคุณหรือการกำหนดค่าโฮสต์ของคุณฉันไม่สามารถบอกได้ว่าเส้นทางนี้ทำให้มันเป็นวิธีในตารางเส้นทาง มันมาพร้อมกับสัญญาเช่า DHCP หรือไม่? ถ้าไม่ให้ตรวจสอบบริการของคุณ/etc/init.dและตรวจสอบว่าคนใดบ้างที่อาจมีคนจรจัดกับตารางเส้นทาง ยังมีลักษณะเป็น/etc/networkรวมถึงไดเรกทอรีย่อย
Marco

5
post-upและpre-downเป็นชื่อแทนupและdownตามลำดับ และการเพิ่ม a || :ที่ท้ายบรรทัดช่วยให้คำสั่งล้มเหลวและไม่รบกวน ifup / ifdown ฉันมักจะเพิ่มสิ่งนี้ลงroute delในกรณีที่ไม่มีเส้นทางและดังนั้นจึงไม่สามารถลบได้
Tino
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.