双线服务器策略路由设置
(金庆的专栏)
电信网通双线服务器,发现只有电信用户能连,网通不通。
经运维检查,发现是策略路由没做好。
添加了策略路由后就正常了。
双线服务器有2个外网网卡,一个配电信IP, 一个配网通IP.
策略路由让电信网的数据走电信网卡,电信网关; 网通的数据走网通的网卡,网通网关。
配置方法如下:
1. 创建 /etc/rc.d/route.sh
需要更改里面的网关地址和服务器地址.
#!/bin/bash
echo '1' > /proc/sys/net/ipv4/ip_forward
sed -i -e '/252 dianxin/d' /etc/iproute2/rt_tables
sed -i -e '/251 wangtong/d' /etc/iproute2/rt_tables
echo '252 dianxin' >> /etc/iproute2/rt_tables
echo '251 wangtong' >> /etc/iproute2/rt_tables
IF_DIANXIN=eth1
IF_WANGTONG=eth2
GW_DIANXIN=222.73.123.129
GW_WANGTONG=112.65.123.129
IP_DIANXIN=222.73.123.45
IP_WANGTONG=112.65.123.45
ip route flush table dianxin
ip route flush table wangtong
ip route add default via $GW_DIANXIN dev eth1 table dianxin
ip route add default via $GW_WANGTONG dev eth2 table wangtong
ip rule add from $IP_DIANXIN table dianxin
ip rule add from $IP_WANGTONG table wangtong
ip rule add fwmark 1 table dianxin
ip rule add fwmark 2 table wangtong
2. chmod 755 /etc/rc.d/route.sh 赋权
3. 执行一次 /etc/rc.d/route.sh
4. /etc/rc.d/rc.local文件中加入/etc/rc.d/route.sh, 使之开机启动
如果按照这个办法发现端口不通。只有4种可能。
1、脚本里面IP写错了。
2、服务器本地没有启动端口。
3、本地防火墙挡住了。
4、交换机端口没有开放。
其间因网关填错,脚本执行报错:
RTNETLINK answers: no such process
网关改正后就没有错了。
开通交换机端口和网关地址须询问运营平台的同事。