Score:1

อินเทอร์เฟซตามลิงค์

ธง id

เครื่องที่มีเดเบียน 10 มี 3 อินเทอร์เฟซที่มี ip ต่างกัน หนึ่งในนั้นจำเป็นในบางกรณี มีเส้นทางคงที่ไปยังเครือข่ายการจัดการ (เส้นทางที่เหลือทำงานผ่าน ospf ผ่านอินเทอร์เฟซอื่น)
ปัญหาคือถ้าคุณดึงสายเคเบิลออกจากการ์ดเครือข่าย อินเทอร์เฟซจะยังคงอยู่และเส้นทางยังคงอยู่ ไม่สามารถเป็นไปโดยอัตโนมัติ? และฉันไม่พบสิ่งใดในคำถามนี้ บางทีฉันอาจทำอะไรผิดหรือเปล่า
นอกจากนี้ หากฉันใช้ auto หรือ allow-hotplug อินเทอร์เฟซจะเปิดใช้งานหลังจากรีบูตแม้ว่าจะไม่มีลิงก์ ดังนั้นฉันจึงต้องเพิ่มด้วยตนเองหากจำเป็น

Score:1
ธง cl
A.B

เครื่องมือระดับสูงเช่น NetworkManager มักจะลบที่อยู่และเส้นทางบนลิงก์ "linkdown" (เช่น: ด้วยการตั้งค่าสถานะ NO-CARRIER ที่แสดงบนอินเทอร์เฟซ) ดังนั้นหากอินเทอร์เฟซได้รับการจัดการโดยเครื่องมือดังกล่าว เราสามารถคาดหวังได้ว่าเส้นทางของมันจะปรากฏขึ้นและหายไปเมื่อเสียบและถอดปลั๊ก

ฉันเข้าใจว่าการใช้ NetworkManager อาจรบกวนเกินไปเมื่อใช้โปรโตคอลการกำหนดเส้นทางแบบไดนามิกพร้อมกัน ดังนั้นอาจไม่ใช่แนวคิดที่ดีที่สุด

แต่จริงๆ แล้วเคอร์เนล routing stack มีฟีเจอร์ดังกล่าวอยู่แล้ว โดยไม่ต้องแก้ไข address หรือ route ใดๆ: ละเว้น_เส้นทาง_กับ_ลิงก์ดาวน์.

เช่นเดียวกับรายการอื่น ๆ รายการนี้ซึ่งปรากฏในเคอร์เนล 4.2 (มีอยู่ในเคอร์เนล 4.19 ของ Debian 10) และเป็น แสดงใน kernelnewbies.org แล้ว เมื่อมันปรากฏขึ้นได้รับ จัดทำเป็นเอกสารตั้งแต่เคอร์เนล 5.11 เท่านั้น:

forget_routes_with_linkdown - บูลีน
ละเว้นเส้นทางที่ลิงก์ไม่ทำงานเมื่อทำการค้นหา FIB

ดังนั้นหากมีการเรียกอินเทอร์เฟซ mgmt0 และควรใช้เส้นทางที่ให้บริการเฉพาะเมื่อตรวจพบผู้ให้บริการเท่านั้น ควรทำดังนี้

sysctl -w net.ipv4.conf.mgmt0.ignore_routes_with_linkdown=1

หรือใส่ในนี้ /etc/sysctl.conf.

ตอนนี้เมื่ออินเทอร์เฟซนี้ยังคงถูกควบคุมไว้จะถูกยกเลิกการเชื่อมต่อ รายการเส้นทางจะแสดงกลับโดย เส้นทางไอพี จะแสดงธง ลิงก์ที่ตายแล้ว แทนธงผืนเดียว ลิงก์ดาวน์ เพื่อบอกผู้ใช้ว่าแท้จริงแล้วเส้นทางนี้ถูกละเว้นในระหว่างการค้นหา FIB

หมายเหตุ: สำหรับอินเทอร์เฟซเพื่อตรวจหาลิงก์ จะต้องเปิดใช้งาน ดังนั้นจึงต้องอยู่บริหาร หากนำลงมาเมื่อพาหะสูญหาย จะไม่สามารถนำกลับขึ้นมาโดยอัตโนมัติในภายหลังเมื่อตรวจพบพาหะ เนื่องจากจะไม่มีการตรวจจับดังกล่าวอีกต่อไป


ตัวอย่างที่สมบูรณ์:

ip link เพิ่มชื่อ vethtest1 ขึ้นพิมพ์ veth peer name vethtest1peer
ip link เพิ่มชื่อ vethtest2 ขึ้นพิมพ์ veth peer name vethtest2peer
ลิงค์ ip ตั้งค่า dev vethtest2peer up
ที่อยู่ IP เพิ่ม 192.0.2.2/25 dev vethtest1
ที่อยู่ IP เพิ่ม 192.0.2.3/24 dev vethtest2

การตั้งค่าที่อยู่จะติดตั้งเส้นทาง LAN ของเคอร์เนลอัตโนมัติ vethtest1 ซึ่งอินเทอร์เฟซแบบเพียร์ไม่ได้ปรากฏขึ้นจะมีสถานะ NO-CARRIER และเส้นทางจะได้รับ a ลิงก์ดาวน์ ธง.

# เส้นทาง ip แสดงไปที่รูท 192.0.2.0/24
192.0.2.0/25 dev vethtest1 proto kernel scope ลิงก์ src 192.0.2.2 ลิงก์ดาวน์ 
192.0.2.0/24 dev vethtest2 โปรโตเคอร์เนลขอบเขตลิงก์ src 192.0.2.3 

เส้นทางไปยัง 192.0.2.100 จะใช้ vethtest1 เนื่องจากได้เส้นทางที่แคบกว่า (แม้จะมี ลิงก์ดาวน์ ธง).

# เส้นทาง ip รับ 192.0.2.100
192.0.2.100 dev vethtest1 src 192.0.2.2 uid 0 
    แคช 

จากนั้นด้วยการตั้งค่าใหม่:

sysctl -w net.ipv4.conf.vethtest1.ignore_routes_with_linkdown=1

มาพร้อมกับพฤติกรรมใหม่:

# เส้นทาง ip แสดงไปที่รูท 192.0.2.0/24
192.0.2.0/25 dev vethtest1 proto kernel scope ลิงก์ src 192.0.2.2 ลิงก์ที่ตายแล้ว 
192.0.2.0/24 dev vethtest2 โปรโตเคอร์เนลขอบเขตลิงก์ src 192.0.2.3 
# ip -4 netconf แสดง dev vethtest1
inet vethtest1 การส่งต่อบน rp_filter ปิด mc_forwarding ปิด proxy_neigh off forget_routes_with_linkdown บน 
# เส้นทาง ip รับ 192.0.2.100
192.0.2.100 vethtest2 src 192.0.2.3 uid 0 
    แคช 

ตอนนี้หากอินเทอร์เฟซได้รับพาหะ (จำลองที่นี่โดยนำอินเทอร์เฟซเพียร์ขึ้นมา):

ลิงค์ ip ตั้งค่า dev vethtest1peer up

เส้นทางถูกกู้คืนผ่าน:

# เส้นทาง ip แสดงไปที่รูท 192.0.2.0/24
192.0.2.0/25 dev vethtest1 โปรโตเคอร์เนลขอบเขตลิงก์ src 192.0.2.2 
192.0.2.0/24 dev vethtest2 โปรโตเคอร์เนลขอบเขตลิงก์ src 192.0.2.3 
# เส้นทาง ip รับ 192.0.2.100
192.0.2.100 dev vethtest1 src 192.0.2.2 uid 0 
    แคช 
Mystic avatar
id flag
คุณเหลือเชื่อมาก! ขอบคุณมากสำหรับข้อมูลที่ครบถ้วน !! และสิ่งที่ดีที่สุดสำหรับคุณ ฉันจะตรวจสอบมันในวันพรุ่งนี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา