最近代理服务器所在的双线机房合同要到期了,和领导建议转到云上,能节省很多费用。找到之前联系过的一个当地云机房,果然比阿里云便宜点,但是水平也差很多。先测试吧,反正暂时不用。因为不是BGP机房,所以要设置双网卡双ip接入,最终实现的效果是数据由电信线路进来,从联通线路出去。系统为ubuntu14.04。电信网卡eth0,IP:987.876.543.432,掩码:2555.255.255.0,网关:987.876.543.1。联通网卡:eth1,IP:123.234.345.456,掩码:255.255.255.0,网关:123.234.345.1。
一、设置服务器ip,注释掉eth1的网关。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 987.876.543.432
netmask 255.255.255.224
gateway 987.876.543.1
auto eth1
iface eth1 inet static
address 123.234.345.456
netmask 255.255.255.0
#gateway 123.234.345.1(联通网关注释掉)
二、增加路由表
路由表位置 /etc/iproute2/rt_tables打开后进行编辑
sudo nano /etc/iproute2/rt_tables
在文件末尾加上联通和电信的路由表
252 tel (电信)
251 cnc(联通)
如下:
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
252 tel
251 cnc
三、制作脚本文件
新建一个sh文件:sw.sh
nano sw.sh
写入如下内容
sudo ip route flush table tel
#刷新电信路由表:tel
sudo ip route add default via 987.876.543.1 dev eth0 src 987.876.543.432 table tel
#设置由源ip:987.876.543.432进来的数据下一跳为987.876.543.1并且网卡为eth0
sudo ip rule add from 987.876.543.432 table tel
#设置从电信ip进来的数据按tel路由表分配
sudo ip route flush table cnc
#刷新联通路由表
sudo ip route add default via 123.234.345.1 dev eth1 src 123.234.345.456 table cnc
#设置由源ip:123.234.345.456进来的数据下一跳为123.234.345.1并且网卡为eth1
sudo ip rule add from 123.234.345.456 table cnc
#设置从联通ip进来的数据按cnc路由表分配
sudo route add default gw 123.234.345.1 dev eth1
#设置默认路由为联通网关并且网卡是eth1
sudo route del default gw 987.876.543.1 dev eth0
#删除电信默认路由
ps:脚本文件一定要注意网关和服务器ip不要弄错。
四、运行脚本文件
先给脚本文件运行权限
sudo chmod 777 sw.sh
运行
sudo ./sw.sh
五、检查
如果无误的话运行脚本文件是没什么反应的,有问题会有错误提示,然后可以用命令检查下路由配置
route
路由表应该是这种情况
Destination Gateway Genmask Flags Metric Ref Use Iface
default 联通网关 0.0.0.0 UG 0 0 0 eth1
电信ip * 255.255.255.0 U 0 0 0 eth0
联通ip * 255.255.255.0 U 0 0 0 eth1
至此设置完毕 可以ping一下联通的ip看看效果,设置每次重启要重配。
