Netplan配置VLAN后,VLAN接口与物理接口IP地址相同的原因咨询
Netplan配置VLAN后,VLAN接口与物理接口IP地址相同的原因咨询
嗨Greg,我仔细看了你遇到的问题——配置完VLAN60后,它居然和eth0用了同一个IP,这确实挺让人困惑的。咱们来拆解下可能的原因和解决办法:
首先,最可能的问题出在Netplan配置文件的缩进上。Netplan依赖YAML格式,这种格式对空格缩进的要求特别严格,哪怕多一个或少一个空格,都会导致配置不生效。我看了你贴出来的/etc/netplan/50-cloud-init.yaml内容,里面的层级缩进明显有问题,比如vlans下面的vlan60、id、addresses这些选项没有正确嵌套,导致Netplan根本没读取到你给vlan60设置的192.168.60.20/24地址,反而默认继承了eth0的IP。
修复步骤:
- 修正配置文件的缩进:把你的配置改成下面这样(注意每一层都用2个空格缩进,不要用Tab键):
network: version: 2 renderer: networkd ethernets: eth0: match: macaddress: 48:b0:2d:2e:63:b8 critical: yes addresses: [192.168.200.202/24 ] nameservers: addresses: [192.168.200.5] routes: - to: 0.0.0.0/0 via: 192.168.200.1 mtu: 1500 vlans: vlan60: id: 60 link: eth0 addresses: - 192.168.60.20/24 nameservers: addresses: [192.168.60.1] mtu: 1500
- 验证配置语法:在终端运行这个命令检查配置是否有语法错误:
sudo netplan generate
如果有错误,命令会给出具体提示,你可以根据提示调整。
- 应用新配置:验证没问题后,运行下面的命令让配置生效:
sudo netplan apply
之后再用ip a查看vlan60的IP,应该就会显示你设置的192.168.60.20/24了。
另外还有个小细节要注意:你用的是50-cloud-init.yaml,cloud-init有时候会在系统启动时自动覆盖网络配置。如果上面的步骤还没解决问题,可以试试把配置文件重命名为01-netcfg.yaml(Netplan会按文件名的数字顺序加载,数字越小优先级越高),然后再重新应用配置。
备注:内容来源于stack exchange,提问作者Greg B
相关产品推荐
相关产品推荐

