netplan apply报错:Error: Conflicting default route declarations for IPv4(默认路由声明冲突,通常一台机器只能有一个默认网关)
然而,请注意,即使在这种情况下,某些操作系统和网络服务可能仍然期望存在一个默认网关,并且在没有默认网关的情况下可能会给出错误或警告。如果不在,你的计算机就会把请求发送到默认网关,由默认网关将请求转发到适当的位置。但是,如果目标只是让这两个接口都可以连接到网络,而无需通过两个接口访问外部网络,可以选择只在一个接口上设置默认网关。如果设备只需要在局域网(LAN)内进行通信,且不需要访问互联网或其他网络
背景
我在双网口的linux盒子上执行netplan apply
失败了:
network:
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.1.158/24
nameservers:
addresses:
- 192.168.1.1
- 8.8.8.8
gateway4: 192.168.1.1
eth1:
dhcp4: false
addresses:
- 192.168.1.115/24
nameservers:
addresses:
- 192.168.1.1
- 8.8.8.8
gateway4: 192.168.1.1
renderer: NetworkManager
version: 2
(.venv-python3.8-ky_ai_ip_change) root@nvidia:/ky/tml/ky_ai_ip_change# netplan apply
** (generate:886321): WARNING **: 17:42:56.120: Problem encountered while validating default route consistency.Please set up multiple routing tables and use `routing-policy` instead.
Error: Conflicting default route declarations for IPv4 (table: main, metric: default), first declared in eth1 but also in eth0
** (process:886319): WARNING **: 17:43:03.563: Problem encountered while validating default route consistency.Please set up multiple routing tables and use `routing-policy` instead.
Error: Conflicting default route declarations for IPv4 (table: main, metric: default), first declared in eth1 but also in eth0
原因分析
错误信息指出,对于IPv4的默认路由声明存在冲突,首次在eth1中声明,但也在eth0中声明。这是因为您的两个网络接口(eth0和eth1)都设置了相同的默认网关地址(192.168.1.1)。在大多数情况下,一台机器只能有一个默认网关。
如果确实需要在两个接口上都配置默认路由,那么需要设置多个路由表,并使用routing-policy
,而不是直接在每个接口上都设置gateway4
。
但是,如果目标只是让这两个接口都可以连接到网络,而无需通过两个接口访问外部网络,可以选择只在一个接口上设置默认网关。
例如:
network:
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.1.158/24
nameservers:
addresses:
- 192.168.1.1
- 8.8.8.8
gateway4: 192.168.1.1
eth1:
dhcp4: false
addresses:
- 192.168.1.115/24
nameservers:
addresses:
- 192.168.1.1
- 8.8.8.8
renderer: NetworkManager
version: 2
在这个例子中,只在eth0上设置了默认网关,留下了eth1。之后执行 netplan apply
应该不会再有错误了。
为什么要配置默认网关?(从局域网到互联网的中转站)
默认网关是网络路由的一个重要概念。在计算机网络中,一台计算机通常会连接到局域网(LAN),并且可以直接访问同一局域网上的其他设备。但是,如果要访问位于其他网络(例如互联网上)的设备,就需要通过一个叫做“网关”的设备来进行。
默认网关是当目标IP地址不在本地子网内时,数据包将被发送到的设备。简单地说,它是计算机从其当前网络(例如家庭或办公室网络)出口到其他任何地方(例如互联网)的路径。
例如,当你试图访问一个网站时,你的计算机首先会检查这个网站的IP地址是否在本地网络内。如果不在,你的计算机就会把请求发送到默认网关,由默认网关将请求转发到适当的位置。
因此,配置默认网关对于能否成功访问除本地网络之外的其他网络至关重要。
如果设备不需要访问互联网,是否可不设置默认网关?(如果只需要在局域网(LAN)内通信,通常可以不设置)
如果设备只需要在局域网(LAN)内进行通信,且不需要访问互联网或其他网络,则一般情况下不需要设置默认网关。
默认网关主要是用来将数据包路由到除本地网络之外的其他网络。如果设备只在局域网内通信,那么所有的目标IP地址都应该在本地子网内,因此不需要通过默认网关。
然而,请注意,即使在这种情况下,某些操作系统和网络服务可能仍然期望存在一个默认网关,并且在没有默认网关的情况下可能会给出错误或警告。此外,如果未来需要将设备连接到互联网或其他网络,那么需要添加一个默认网关。
ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ
ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ
更多推荐
所有评论(0)