19.04
系统启动时没有默认路由。然后当我尝试添加默认路由时,出现此错误。
即使我完全清除路由表,仍然会出现错误。
IP 地址有效:
ip a
ethusb: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:e0:4c:61:20:ca brd ff:ff:ff:ff:ff:ff
inet 10.0.0.120/24 brd 10.0.0.255 scope global ethusb
valid_lft forever preferred_lft forever
这是启动时的路由表:
ip r
10.0.0.0/24 dev ethusb proto kernel scope link src 10.0.0.120
这是我尝试添加默认路由
ip r add default 10.0.0.1 dev ethusb source 10.0.0.120
Error: either "to" is duplicate, or "10.0.0.1" is a garbage
以及 netplan 配置:
network:
version: 2
renderer: networkd
ethernets:
ethusb:
dhcp4: no
dhcp6: no
addresses:
- 10.0.0.120/24
- 2604:n:n:n::120/64
nameservers:
search: [asus]
addresses: [10.0.0.120,1.1.1.1,1.0.0.1,"2606:4700:4700::1111","2606:4700:4700::1001"]
答案1
因此,如果您的配置设置正确,您就不必返回并手动配置路由 - 因为这应该在配置中定义。
因此,去核您的问题,并感谢您提供的netplan
配置,我可以肯定地说你的 Netplan 配置不完整,无法达到你的目标,这就是你遇到的问题。
你需要告诉系统一个路由计划,可以通过指定默认网关来使用默认值,也可以使用自定义路由计划/表。
当通过 DHCP/DHCP4 自动完成网络配置时,系统告诉要使用的默认网关和路由。
当你这样做静态,手动配置然而,你必须真正指定自己设置路由 - 默认路由或专门的路由规则。在这种情况下,您需要通过指定网关来指定路由,因为您使用的是默认路由,该路由会直接指向该网关以获取所有数据。
尝试使用这个 netplan 配置,它添加了一个gateway4
语句(用于指定默认路由):
network:
version: 2
renderer: networkd
ethernets:
ethusb:
dhcp4: no
dhcp6: no
addresses:
- 10.0.0.120/24
- 2604:n:n:n::120/64
gateway4: 10.0.0.1
nameservers:
search: [asus]
addresses: [10.0.0.120,1.1.1.1,1.0.0.1,"2606:4700:4700::1111","2606:4700:4700::1001"]