双线服务器策略路由设置


(金庆的专栏)


电信网通双线服务器,发现只有电信用户能连,网通不通。


经运维检查,发现是策略路由没做好。


添加了策略路由后就正常了。



双线服务器有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


网关改正后就没有错了。



开通交换机端口和网关地址须询问运营平台的同事。