我正在使用带有 netplan 的全新 Ubuntu Server 18.10 (Cosmic) 安装。我想要实现的是通过 DHCP 设置网络接口并添加一些静态路由。
使用静态 IP 设置时一切正常。使用 DHCP 时“路由:”不适用
有什么想法可以改变这种状况吗?
用于应用设置的命令:
netplan generate
netplan apply
作品
network:
ethernets:
enp0s3:
addresses: []
dhcp4: true
dhcp6: true
enp0s8:
dhcp4: false
addresses:
- 192.168.1.10/24
routes:
- to: 10.10.0.0/24
via: 192.168.1.2
- to: 10.9.0.0/24
via: 192.168.1.2
version: 2
不起作用
network:
ethernets:
enp0s3:
addresses: []
dhcp4: true
dhcp6: true
enp0s8:
dhcp4: true # <- CHANGED
addresses: [] # <- CHANGED
routes:
- to: 10.10.0.0/24
via: 192.168.1.2
- to: 10.9.0.0/24
via: 192.168.1.2
version: 2
编辑:[2018.12.20]:经过新的研究,我发现我的问题是动物(具体来说是虫子)。
答案1
经过新的研究,我发现我的问题是动物(具体来说是虫子)。
路由在 DHCP 之前应用,从而会破坏路由。
答案2
尝试这个... (保持缩进和间距不变)...
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
dhcp6: true
addresses: []
enp0s8:
dhcp4: true
addresses: []
routes:
- to: 10.10.0.0/24
via: 192.168.1.2
- to: 10.9.0.0/24
via: 192.168.1.2
然后...
sudo netplan --debug generate
# 生成配置文件
sudo netplan apply
# 应用配置
reboot
# 重新启动并确认操作正确
更新#1:
由于您发现了错误,请尝试这个......
将唯一现有的 .yaml 文件命名为01-dhcp.yaml
并包含此文本...
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
dhcp6: true
addresses: []
enp0s8:
dhcp4: true
addresses: []
gateway4: 10.x.x.1 <-adjust this address for your environment
optional: true <-don't wait for connection, try with/without this
然后创建第二个 .yaml 文件,02-routes.yaml
并使用该文本进行命名...
network:
version: 2
renderer: networkd
ethernets:
enp0s8:
dhcp4: false <-disable dhcp this time around
addresses: [] <-this MAY need to be removed
routes:
- to: 10.10.0.0/24
via: 192.168.1.2
- to: 10.9.0.0/24
via: 192.168.1.2
sudo netplan --debug generate
# 生成配置文件
sudo netplan apply
# 应用配置
reboot
# 重新启动并确认操作正确