ฉันติดตั้งเซิร์ฟเวอร์อูบุนตู 17.10 ใหม่ แต่ปัญหาอาจมีผลกับรุ่นก่อนหน้า แต่นี่เป็นครั้งแรกที่ฉันได้พบกับสถานการณ์นี้
เซิร์ฟเวอร์ใช้การ์ดเครือข่ายแยกกัน 2 อันการ์ดหนึ่งสำหรับการสื่อสารเครือข่ายภายใน (เชื่อถือได้) อีกอันหนึ่งเป็นการเชื่อมต่อสาธารณะ (ไม่น่าเชื่อถือ) กับอินเทอร์เน็ตกับ ISP
ในอดีตฉันมักจะกำหนดค่าการเชื่อมต่อภายในเป็นแบบคงที่และไม่มีเกตเวย์เริ่มต้นเนื่องจากการ์ดภายนอกจะให้ผ่าน DHCP จาก ISP ของฉัน (สัญญาเช่าคงที่)
/etc/netplan/00-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
addresses: [192.168.1.xx/24]
nameservers:
addresses: [8.8.8.8,8.8.4.4]
eth1:
dhcp4: yes
dhcp6: no
ตอนนี้ทำงานได้ดีเพราะฉันไม่ได้ให้บรรทัดgateway4ในการกำหนดค่า eth0 ดังนั้นมันจึงเชื่อมโยงเกตเวย์เริ่มต้นจาก ISP และทำงานได้ดี
ฉันตัดสินใจแล้วตั้งแต่ฉันต้องการใช้สัญญาเช่าแบบคงที่สำหรับเซิร์ฟเวอร์ในบ้านของฉันและได้กำหนดค่าเช่นนี้ในเราเตอร์ภายใน แต่เมื่อฉันตั้งค่า netplan เป็น dhcp สำหรับอุปกรณ์ทั้งสองมันจะเพิ่มเกตเวย์เริ่มต้นสำหรับทั้งสองอินเตอร์เฟส (ซึ่งสมเหตุสมผลเนื่องจากเซิร์ฟเวอร์ DHCP ทั้งสองนั้นมีเกตเวย์)
> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
0.0.0.0 173.xxx.xxx.1 0.0.0.0 UG 100 0 0 eth1
173.xxx.xxx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
173.xxx.xxx.1 0.0.0.0 255.255.255.255 UH 100 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.1 0.0.0.0 255.255.255.255 UH 100 0 0 eth0
ฉันจะติดตั้ง netplan ได้อย่างไรเพื่อให้อะแดปเตอร์ eth0 (ภายใน) ไม่สนใจเกตเวย์เริ่มต้นที่เซิร์ฟเวอร์ DHCP จัดหาให้ (โดยไม่ลบเกตเวย์บนเซิร์ฟเวอร์ DHCP เองเนื่องจากเครื่องอื่นยังคงต้องใช้เกตเวย์เริ่มต้น)