systemd-networkd - วิธีบังคับให้มีการกำหนดค่าใหม่โดยไม่ต้องรีบูต?


12

บนกล่อง Arch ของฉันฉันมีบริดจ์เครือข่าย เป้าหมายคือการลบบริดจ์และใช้อะแดปเตอร์เครือข่ายที่ไม่ได้เชื่อมต่อเท่านั้น ในการดำเนินการดังกล่าวฉันได้ลบไฟล์กำหนดค่า * .netdev และ * .network ทั้งหมดภายใต้/etc/systemd/networkและแทนที่ด้วยไฟล์ง่าย ๆ หนึ่งไฟล์:

/etc/systemd/network/lan.network
--------------------------------
[Match]
eno*

[Network]
DHCP=ipv4

จากนั้นฉันเริ่มใช้บริการเครือข่ายใหม่โดยsystemctl restart systemd-networkdสันนิษฐานว่านี่จะทำให้ฉันมีเพียงแค่loและeno*อินเตอร์เฟส แต่น่าเสียดายที่สิ่งนี้ไม่มีผล ดูอย่างรวดเร็วที่ip linkยังคงแสดงให้เห็นว่าอินเตอร์เฟซบริดจ์ขึ้นและใช้งาน

เนื่องจากสถานะการออนไลน์ในกรณีนี้ไม่สำคัญฉันเพิ่งรีบูตเครื่องซึ่งแก้ไขปัญหา ถึงกระนั้นฉันก็คิดว่าการรีบูตเครื่องไม่ควรจำเป็นสำหรับสิ่งนี้ ฉันพลาดทำอะไร


v244 มีnetworkctl reloadและreconfigure @ github.com / systemd
frostschutz

คำตอบ:


9

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

ip link set down br0
ip link del dev br0
systemctl restart systemd-networkd

1
ฉันจะไม่สูญเสียการเข้าถึงเครือข่ายในกระบวนการหรือไม่
vic

@vic - หากการเข้าถึงเครือข่ายของคุณถูกส่งผ่านสะพานที่คุณได้ผูกไว้แล้วใช่ฉันคาดหวัง ฉันไม่สามารถคิดถึงวิธีง่าย ๆ ในการทำอย่างอื่นและวิธีการที่ซับซ้อนที่ฉันสามารถคิดได้เพียงครึ่งเดียวและเกี่ยวข้องกับการระงับชั่วคราวนิคส์ชั่วคราว น่าเกลียดและโง่ ไม่ว่าจะเป็นการเดินทางข้ามเวลา อาจจะมีวิธีอื่น แต่คุณจะไม่เรียนรู้จากฉัน อย่างไรก็ตามเครือข่ายจะหายไปหลังจากคำสั่งแรกและหลังจากนั้นจะคืนค่าหลังจากที่สาม อาจ dt น้อยกว่ารีบูต

1
@vic ฉันรู้ว่าฉันสายไปงานเลี้ยง ip link set down br0 && ip link del dev br0 && systemctl restart systemd-networkdแต่วิธีหนึ่งที่อาจจะห่วงโซ่คำสั่งร่วมกันในบรรทัดเดียวเช่น การเชื่อมต่อของคุณอาจลดลงอย่างน้อยสักครู่ แต่บริการเครือข่ายของโฮสต์ควรกลับมาออนไลน์และคุณสามารถสร้างเซสชัน SSH ใหม่ได้ตลอดเวลาตราบใดที่คุณทราบที่อยู่ IP ที่คุณจะได้รับหลังจากรีสตาร์ท
code_dredd

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