树莓派多网卡、内外网路由的配置方法

在 Windows 系统下,如果有两个网卡(一般是内网和外网),要设置内外网同时使用,只需要两条命令:

route delete 0.0.0.0  
route add -p 0.0.0.0 mask 0.0.0.0 192.168.1.1
route add -p 192.0.0.0 mask 255.0.0.0 192.168.2.1

192.168.1.1 是外网网关;192.168.2.1 是内网网关,192.0.0.0 是内网的地址 255.0.0.0 是子网掩码,这两个地址表示,IP 地址为 192 开头的网络包都会走 192.168.2.1 这个路由。

这三条命令的意思分别是:删除默认网关、添加默认网关为外网网关、添加内网路由。

Linux 双网卡联网

Linux 的 route 命令设置路由。

route add -net 内网网段 netmask 子网掩码 网卡名称(比如 eth0)
route add -net 内网网段 netmask 子网掩码 gw 路由/网关IP

先用 ifconfig 命令查看当前的网络信息,有两个网卡分别为 eth0 和 wwan0。

从终端输出的信息可以看出,我的一个网卡名为 eth0,另一个是 wwan0。

eth0 对应的是内网的环境,wwan0 对应的是外网的环境。

内网网段是 10 开头,路由/网关地址为 10.168.2.1。

外网的路由地址为 192.168.1.10。

设置外网的路由为默认路由:

route add -net 0.0.0.0/0 wwan0
route add -net 0.0.0.0/0 gw 192.168.1.10

设置内网的路由:

route add -net 10.0.0.0 255.0.0.0 eth0
route add -net 10.0.0.0 255.0.0.0 gw 10.168.2.1

或写成

route add -net 10.0.0.0/8 eth0
route add -net 10.0.0.0/8 gw 10.168.2.1

就可以了。

10.168.2.1 是 10 开头的网络包的路由,不是 10 开头的 IP 包都走 192.168.1.10。(默认路由的优先级较低)

这些命令可以保存到 .sh 文件中,方便在需要使用时快速运行。

如果希望在系统启动时自动执行上面的设置,只需要修改 rc.local。

sudo nano /etc/rc.local

然后将命令保存到 rc.local 文件中,如下:

route add -net 0.0.0.0/0 wwan0
route add -net 0.0.0.0/0 gw 192.168.1.10
route add -net 10.0.0.0/8 eth0
route add -net 10.0.0.0/8 gw 10.168.2.1

exit 0

保存之后,重启系统即可。



2 评论

发表评论

你的邮件地址不会公开


*