自定义多网络的路由表规则
环境简介
在树莓派同时连接到多个网络时,比如有线网络(eth0)和无线网络(wlan0),eth0 和 wlan0 接口连接到不同的网络,eth0为内部局域网,wlan0为外部网络。
一般使用DHCP默认配置网络设置,此时每个接口都有一个生成默认路由;这通常意味着树莓派可能会使用其中一个接口作为主要的网络连接,而另一个接口可能处于备用状态。哪个接口作为主要连接取决于路由的优先级(或度量值,metric),以及可能的接口状态(如是否启用、是否连接等)。
展示网络配置页面及一般配置信息
分别执行命令“ip route” 和 “route” 可以查询当前路由表信息。
由图可知,这两个接口都启用了DHCP自动获取网络配置信息。
其中有线网络(eth0)的本地IP为“172.16.118.103”;网关地址为“172.16.118.9”
无线网络(wlan0)的本地IP为“192.168.43.163”;网关地址为“192.168.43.1”

展示各个网络接口的主要功能分配情况
eth0接口为局域网,主要职能用于访问内部服务器。wlan0接口为外部网,主要用于访问万维网。
具体服务器接口功能描述如下表所示:
| 接口 | 子网分配 | 功能描述 |
|---|---|---|
| eth0 | 172.16.118.103/32 | 本机有线网络IP |
| eth0 | 172.16.118.0/24 | eht0接口直网服务器 |
| eth0 | 192.168.123.0/24 | 访问内网数据服务器 |
| eth0 | 192.168.125.0/24 | 访问内网网页服务器 |
| eth0 | 192.168.129.0/24 | 访问内网文件服务器 |
| – | – | – |
| wlan0 | 192.168.43.162/32 | 本机无线网络IP |
| wlan0 | 192.168.43.0/24 | wlan0接口直网服务器 |
| wlan0 | www.baidu.com | 访问外网万维网 |
自定义路由规则
由路由表可知,同时存在两个默认路由,意味着有且仅有可能一个接口可用。另一个接口为备用状态,而且是随机的。这可能并不符合我们的需求,我们仅需要保留一个主要的借口作为默认路由即可,其余接口不创建默认路由。
本例中,我们以无线网络为主要接口,其余网络为次要接口进行配置。
(以无线网络为主要接口,是因为wlan0是用来访问万维网。一般万维网的IP地址由DNS服务器解析提供,并且不固定,无法手动创建设置路由表规则。而eth0接口主要是访问内部网络,一般内部网络服务器的IP地址均是固定分配可查,不经常变更的。)
将有线网络设置为不自动生成默认路由
打开网络配置页面,选中“Interface” 和“eth0”选项,将“Router”的值设置为“0.0.0.0”。
点击应用,保存配置后,重新插拔网线或重启。
然后输入命令“ip route”,即可看到路由表只剩下waln0的默认路由。

手动添加新的路由规则
通过命令 sudo ip route add <host_network> via <gateway_ip> dev 添加一个特定路由。
根据上边提供的“网络接口的主要功能分配情况”表可知,“数据/网页/文件“ 这三个内部服务器和有线网络(eth0)并不在同一个网段内,属于非直网连接,若要正常访问,则需要经过网关。
因此针对该有线网络(eth0),我们需要添加三条新的路由规则。
命令参考如下:
#为eth0添加可以访问数据服务器网段的路由规则
sudo ip route add 192.168.123.0/24 via 172.16.118.9 dev eth0
#为eth0添加可以访问网页服务器网段的路由规则
sudo ip route add 192.168.125.0/24 via 172.16.118.9 dev eth0
#为eth0添加可以访问文件服务器网段的路由规则
sud

最低0.47元/天 解锁文章
7632

被折叠的 条评论
为什么被折叠?



