Ele*_*iar 14 server network-manager networking
在新的 netplan 配置中需要有关静态路由的帮助。拥有 ubuntu 服务器 18.04 和 2 个网络接口,ethernet和wlan。在/etc/netplan/50-cloud-init.yaml 中成功进行基本配置后,我拥有两个网络。但是enp3s0是内网,wlp2s0是wifi路由器。而且我无法通过 wifi 上网。几天后配置/重新配置Yaml文件我无法让它工作。
只删除默认网关/sbin/route del default gw 10.185.0.1有效,但没有路由到内网。路由 -n列表
如何添加这条路线我不知道......
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses: []
dhcp4: true
gateway4: 10.185.0.1
nameservers:
addresses: [10.185.x.x, y.y.y.y]
routes:
- to: 10.185.0.0/0
via: 10.185.0.1
metric: 100
table: 101
routing-policy:
- from: 10.185.0.0/24
table: 101
wifis:
wlp2s0:
addresses: []
dhcp4: true
optional: true
gateway4: 192.168.8.1
access-points:
"Wifi":
password: "password"
nameservers:
addresses: [8.8.8.8,8.8.4.4]
routes:
- to: 0.0.0.0/0
via: 192.168.8.1
metric: 90
table: 91
routing-policy:
- from: 192.168.8.0/24
table: 91
Run Code Online (Sandbox Code Playgroud)
UPD:覆盖 config /etc/systemd/network/。UseRoutes=false在启动时使用无限网络搜索,设置RouteMetric=700效果更好,启动后通过 wifi 上网!但是添加新路由如:10.180.0.0/16via 10.185.0.1 不会造成影响,不会出现在路由内核路由表中。
我仍然误解了为什么 tracerout 172.16.185.194 会经过 192.168.8.1。我阅读了有关 ip4 表的信息,但- to: 172.16.0.0/12还是/16行不通。
fil*_*den 19
一般来说,你想要的是:
gateway4在连接 Internet 的接口上设置单个默认网关(带有)。如果您在两者上都设置了默认网关,那么一半的数据包将被路由到您的 Intranet 并且无法到达它们的目的地。
如果您的 Intranet 有多个子网,那么您需要静态路由才能通过连接到您的 Intranet 的接口到达这些子网。(一个例子可能是将任何RFC1918子网路由到该接口,这可能是一个好主意。)
现在,在您的具体示例中,您没有完整地描述您的 Intranet,但让我们假设您的 Intranet 由 10.185.xy 网络组成,换句话说, 10.185.0.0 /16。
我们还假设您的 enp3s0 接口允许您访问 Intranet,它将接收 10.185.0.z 子网中的 IP,即 10.185.0.0 /24子网,并且该子网中的网关是 10.185.0.1。
所以你需要一个静态路由来到达10.185的其余部分。x .y 子网,其中 x 不为 0。
您可以使用如下配置进行设置:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses: []
dhcp4: true
nameservers:
addresses: [10.185.x.x, y.y.y.y]
routes:
- to: 10.185.0.0/16
via: 10.185.0.1
wifis:
wlp2s0:
addresses: []
dhcp4: true
optional: true
gateway4: 192.168.8.1
access-points:
"Wifi":
password: "password"
nameservers:
addresses: [8.8.8.8,8.8.4.4]
Run Code Online (Sandbox Code Playgroud)
在这个编辑过的配置中,请注意:
gateway4enp3s0 配置中没有,因为默认情况下您不希望流量进入该接口,只有当流量目的地是通过静态路由设置的内网时。
相反,wlp2s0 不需要任何静态路由,因为它附加了一个默认网关,这就足够了。
不需要路由表和路由策略,你需要做的就是设置一条静态路由(或几条静态路由)来覆盖你的内网内部地址,并通过该网络中网关的IP路由它们可以将您路由到您未直接连接到的其他子网。
请注意,此设置实际上取决于内部网络中的 DHCP 服务器为您提供的某些内容,例如您的接口在 10.185 中。0 /24 网络,而 10.185.0.1 是您可以在该接口中使用的网关...因此,也许更好的设置是让 Intranet 中的 DHCP 服务器推送静态路由(而不是在 netplan 中配置它们) .) 这样,如果重新配置 Intranet,可能是为了更改网关的 IP,或者可能扩展为包括其他 RFC1819 专用范围,则只需要重新配置 DHCP 服务器,而无需重新配置其他所有内容...
但是,如果 DHCP 服务器不受您的控制,那么这种设置可能是可以接受的,假设内部网络不会经常重新配置,因此网关 IP 会发生变化。您可能需要考虑向所有 RFC1918 范围添加静态路由,因为这些在 Internet 中将无效,因此它们可能仅在 Intranet 中有效:
routes:
- to: 10.0.0.0/8
via: 10.185.0.1
- to: 172.16.0.0/12
via: 10.185.0.1
- to: 192.168.0.0/16
via: 10.185.0.1
Run Code Online (Sandbox Code Playgroud)
我希望你觉得这有用!