ฉันเป็นมือใหม่ของ Ubuntu ฉันจะใช้ Ubuntu เพื่อตั้งค่าเครื่องเสมือน KVM ฉันมี IP สาธารณะเท่านั้น ฉันรู้วิธีกำหนดค่าใน ifupdown แต่ฉันต้องการกำหนดค่าใน NetPlan
การกำหนดค่าของฉันใน /etc/network/interface มีลักษณะดังนี้
vmbr0 อัตโนมัติ
iface vmbr0 inet แบบคงที่
ที่อยู่ 107.175.49.24/32
เกตเวย์ 107.175.49.1
DNS-เนมเซิร์ฟเวอร์ 8.8.8.8
บริดจ์พอร์ต ens3
ปิดสะพาน
บริดจ์-fd 0
DNS-เนมเซิร์ฟเวอร์ 8.8.8.8
vmbr1 อัตโนมัติ
iface vmbr1 inet แบบคงที่
ที่อยู่ 192.168.0.1
เน็ตมาสก์ 255.255.255.0
ไม่มี bridge_ports
ปิด bridge_stp
บริดจ์_fd 0
โพสต์อัพ iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o br0 -j MASQUERADE
โพสต์ลง iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE
iface vmbr1 inet6 แบบคงที่
ที่อยู่ 2001:470:89c7:0000:0000:0000:0000:0001
เน็ตมาสก์48
bridge_ports tun0
ปิดสะพาน
บริดจ์-fd 0
IPv4 เชื่อมโยงกับ ens3, IPv6 เชื่อมโยงกับ tun0 และเปิดใช้งานการส่งต่อ NAT
ฉันไม่สามารถระบุพารามิเตอร์ใน netplan ได้ เมื่อรัน netplan ลองให้มัน br0: ไม่รองรับการคืนค่าพารามิเตอร์ที่กำหนดเองสำหรับบริดจ์และพันธบัตร เกิดข้อผิดพลาด แม้ว่าฉันจะบังคับให้ใช้ netplan แต่ก็ไม่ได้เปลี่ยนแปลงอะไร
ตอนนี้การกำหนดค่า NetPlan ของฉันเป็นดังนี้:
เครือข่าย:
รุ่น: 2
เรนเดอร์: เครือข่าย
อีเธอร์เน็ต:
ens3:
dhcp4: ไม่
สะพาน:
br0:
ที่อยู่:
- "107.175.49.24/32"
เนมเซิร์ฟเวอร์:
ที่อยู่:
- "8.8.8.8"
อินเทอร์เฟซ:
- ens3
เส้นทาง:
- ถึง: "0.0.0.0/0"
ผ่าน: "107.175.49.1"
เมตริก: 1
br1:
ที่อยู่:
- "192.168.0.1/24"
- "2544:470:89c7::1/64"
ตอนนี้ผมต้องแก้ปัญหา 2 อย่าง วิธีประกาศ bridge-stp ใน NetPlan เพราะเขาไม่ยอมรับบริดจ์ภายใต้พารามิเตอร์ที่รวมพารามิเตอร์ และวิธีใช้ NetPlan เพื่อเพิ่มการส่งต่อ NAT
รูปแบบการทำงานอัตโนมัติอื่น ๆ ก็เป็นที่ยอมรับเช่นกัน แต่บางครั้ง iptables-persistent จะถูกดำเนินการก่อนที่ br1 จะทำงาน ดังนั้นจึงไม่สามารถเพิ่มกฎได้ และจะไม่ถอนการติดตั้งกฎเมื่อ br1 ถูกปิด