ฉันกำลังพยายามเชื่อมต่อ NIC สองตัวจากหลายตัวเพื่อทำหน้าที่เหมือนฮับสวิตชิ่ง
ในการทำเช่นนั้น ต้องเปิดใช้งานโหมดสำส่อนบน NIC
แม้ว่าฉันจะตั้งค่าเป็น âpromisc onâ ด้วยคำสั่ง âip linkâ การตั้งค่าจะถูกรีเซ็ตเมื่อฉันรีบูตเครื่องพีซี
ฉันจะเปิดใช้งานโหมดสำส่อนอย่างถาวรได้อย่างไร แม้ว่าฉันจะรีบูตเครื่องคอมพิวเตอร์ใหม่
สภาพแวดล้อมคือ Ubuntu Desktop 20.04 LTS
ด้วยเหตุนี้ การกำหนดค่าเครือข่ายจึงขึ้นอยู่กับ NetworkManager
ตัวอย่างของการกำหนดค่าขั้นต่ำแสดงอยู่ด้านล่าง:
Vagrant.configure("2") ทำ |config|
config.vm.define :บริดจ์ทำ |เครื่อง|
machine.vm.box = "เบนโตะ/อูบุนตู-20.04"
machine.vm.network :private_network, auto_config: เท็จ, virtualbox__intnet: "intnet_a"
machine.vm.network :private_network, auto_config: เท็จ, virtualbox__intnet: "intnet_b"
machine.vm.provision "shell" แบบอินไลน์: <<-SHELL
apt-รับการปรับปรุง
apt-get install -y ผู้จัดการเครือข่าย
แมว > /etc/netplan/50-bridge.yaml << 'EOS'
เครือข่าย:
รุ่น: 2
อีเธอร์เน็ต:
eth1:
ที่อยู่:
- 0.0.0.0/32
eth2:
ที่อยู่:
- 0.0.0.0/32
สะพาน:
br0:
อินเทอร์เฟซ:
- eth1
- eth2
อีโอเอส
echo 'เครือข่าย: { เวอร์ชัน: 2, เรนเดอร์: NetworkManager }' > /etc/netplan/99-NetworkManager.yaml
สมัครเน็ตแพลน
เปลือก
จบ
จบ
คำสั่ง "ip link" เปิดใช้งานสถานะ PROMISC ของ NIC ดังที่แสดงด้านล่าง
$ sudo ip link set dev eth1 promisc on
$ sudo ip link ตั้งค่า dev eth2 promisc บน
$ ip addr
[...]
3: eth1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP กลุ่มเริ่มต้น qlen 1,000
ลิงก์/อีเธอร์ xx:xx:xx:xx:c4:f5 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP กลุ่มเริ่มต้น qlen 1,000
ลิงค์/อีเธอร์ xx:xx:xx:xx:48:57 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
ลิงก์/อีเธอร์ xx:xx:xx:xx:c4:f5 brd ff:ff:ff:ff:ff:ff
[...]
อย่างไรก็ตาม หลังจากรีบูตระบบปฏิบัติการแล้ว สถานะ PROMISC จะถูกรีเซ็ต
$ sudo รีบูต
[...]
$ ip addr
[...]
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP กลุ่มเริ่มต้น qlen 1,000
ลิงก์/อีเธอร์ xx:xx:xx:xx:c4:f5 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP กลุ่มเริ่มต้น qlen 1,000
ลิงค์/อีเธอร์ xx:xx:xx:xx:48:57 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
ลิงก์/อีเธอร์ xx:xx:xx:xx:c4:f5 brd ff:ff:ff:ff:ff:ff
[...]
ในตัวอย่างนี้ ฉันใช้ Vagrant เพื่อจุดประสงค์ในการแสดงสภาพแวดล้อมที่ทำซ้ำได้
คนจรจัดไม่ใช่ข้อกำหนด สิ่งที่ฉันต้องการใช้จริงๆ คือ Ubuntu บนพีซีจริง
เพียงแค่เปิดใช้งานโหมดสำส่อนผ่านการเรียกใช้การจัดสรรคนพเนจร ไม่ แก้ปัญหานี้.