我的服务器在 eno1 接口上有 10.20.10.100 的 IP 地址。
我可以成功添加临时 IP 地址 10.20.50.60(或任何其他地址)。
当我尝试使用 netplan 永久添加时,我无法再使用原始 IP 地址连接到服务器。
我的原始 /etc/netplan/00-installer-config.yaml 的内容:
network:
ethernets:
eno1:
dhcp4: true
eno2:
dhcp4: true
enx7e8ae1d2cba7:
dhcp4: true
version: 2
我修改后的版本是:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: false
addresses:
- 10.20.10.100/24
- 10.20.50.60/24
- 10.20.50.61/24
gateway4: 10.20.0.1
nameservers:
addresses: [10.20.0.1,1.1.1.1,8.8.8.8]
eno2:
dhcp4: true
enx7e8ae1d2cba7:
dhcp4: true
ip 地址显示 dev eno1
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 7c:8a:e1:d2:cb:a2 brd ff:ff:ff:ff:ff:ff
inet 10.20.10.100/16 brd 10.20.255.255 scope global dynamic eno1
valid_lft 438sec preferred_lft 438sec
路线-n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.20.0.1 0.0.0.0 UG 100 0 0 eno1
10.20.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eno1
10.20.0.1 0.0.0.0 255.255.255.255 UH 100 0 0 eno1
169.254.95.0 0.0.0.0 255.255.255.0 U 0 0 0 enx7e8ae1d2cba7
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker_gwbridge
我修改后的版本是(version2):
network:
version: 2
ethernets:
eno1: {}
eno2:
dhcp4: true
enx7e8ae1d2cba7:
dhcp4: true
vlans:
vlan.101:
id: 101
link: eno1
addresses: [10.20.10.100/16]
gateway4: 10.20.0.1
nameservers:
addresses: [10.20.0.1, 1.1.1.1]
vlan.102:
id: 102
link: eno1
addresses: [10.20.50.60/16]
gateway4: 10.20.0.1
nameservers:
addresses: [10.20.0.1, 1.1.1.1]
vlan.103:
id: 103
link: eno1
addresses: [10.20.50.61/16]
gateway4: 10.20.0.1
nameservers:
addresses: [10.20.0.1, 1.1.1.1]
答案1
您指定的配置似乎没有任何问题,所以我思考您是如何应用更改的。
其次,输出ip address show dev eno1
显示您的 netplan 配置中的地址10.20.10.100/16
而不是地址/24
。感觉之前的接口详细信息已被缓存或未应用新的接口详细信息。
为了帮助确定您的地址详细信息使用 DHCP,运行以下命令并记下输出:
# All IP addresses
ip a
# Routes and default gateway
ip r
现在更改 netplan 配置并通过将其设置为 false 来禁用 DHCP。更改 netplan 配置后,使用调试标志来帮助确定任何问题:
sudo netplan --debug apply
然后重复上述命令并注意差异。有时需要重新启动才能删除现有接口,或者您可以使用该ip del
命令在应用新的 netplan 配置之前删除现有 IP 地址。
确认新配置已应用的一种方法是将 /16 更改为其他内容,例如 /22。如果输出ip a
与之前相同,则说明配置未正确应用。
答案2
我会将您的地址配置为虚拟局域网(另外,我认为您可能需要为不同网段上的 vlan 设置网关):
network:
version: 2
ethernets:
eno1: {}
eno2:
dhcp4: true
enx7e8ae1d2cba7:
dhcp4: true
vlans:
vlan.101:
id: 101
link: eno1
addresses: [10.20.10.100/16]
routes:
- to: default
via: 10.20.0.1
vlan.102:
id: 102
link: eno1
routes:
addresses: [10.20.50.60/16]
routes:
- to: default
via: 10.20.0.1
vlan.103:
id: 103
link: eno1
addresses: [10.20.50.61/16]
routes:
- to: default
via: 10.20.0.1