Ubuntu双线双IP配置

软件环境

Ubuntu 14.04

网络环境

两条网络,电信与移动,测试服务器位于内网,移动IP:192.168.1.8,电信IP:192.168.23.8。

路由器使用端口映射对外暴露部分服务。

设置网络

/etc/network/interfaces

auto em1
#iface em1 inet dhcp
iface em1 inet static
address 192.168.1.8
gateway 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0

auto em2
iface em2 inet static
address 192.168.23.8
netmask 255.255.255.0

em1 使用移动网络,服务器默认出口。em2 使用电信网络,不设置网关。

设置路由表,实现原路返回数据

修改:/etc/iproute2/rt_tables 文件,增加条记录

252 mobile
251 telecom

执行命令:

ip route flush table telecom
ip route add default via 192.168.23.1 dev em2 src 192.168.23.8 table telecom
ip rule add from 192.168.23.8 table telecom

将以上命令加入 /etc/rc.local 实现重启配置不丢失。

在这个案例中,移动为默认网络,所以不需要特殊配置路由表,否则会导致网络不通。

设置路由表,实现指定网络访问特定内容

route add -host 91.189.95.83 gw 192.168.23.1

91.189.95.83 是 launchpad.net 源的IP地址,移动访问不稳定,这里指定网关使用电信网络访问。

结语

网上很多教程是错误的,主要在实现原路返回数据部分,很多人都说要写两个网络的路由表,但这会直接导致网络不通,我也在这里卡了很久。

发表评论

电子邮件地址不会被公开。 必填项已用*标注