|
最近一直都在折腾这方面的东西,没办法,有需求;所以这几篇博文都系真实案例;全部测试通过;这么做的目地也是和之前的一样;节省成本,节省无限制啊; 这次的在上次需求的基础上建设的;这里演示的话进行了精剪; 需求就是;国内一台机器(其实真实是多台)2块网卡:eth0(网通cnc)eth1(电信tel)还有一条隧道(ip隧道)看过我前面的博文的朋友知道,这条隧道连接的是海外的一台机器; 拓扑见下:
实现目地:目的地是网通的话就从网通网卡出去,目的地是海外的话就去往隧道;其他的话都从电信网卡出去; 路由匹配顺序:网通路由(cnc)>>>>>海外路由(ipip)>>>>其他路由<默认路由>(tel) ip分配情况(老规矩,后面两位我就隐藏了,见谅)
ServerA:eth0:58.247.A.A gw:58.247.a.a (网通链路)
eth1:180.153.B.B gw:180.153.b.b (电信链路) ethn:10.0.0.1 (ip隧道) ServerB: eth0:60.251.C.C gw:60.251.c.c (海外链路) ethn:10.0.0.2 (ip隧道) 下面开始操作了: Server A: 本机你会发现有两条默认路由的; route -n 查看即可
安装pptpd服务;实现正常拨号;
yum install pptpd
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o eth1 -j MASQUERADE
添加路由表
vim /etc/iproute2/rt_tables
240 cnc
250 ipip
260 tel
配置隧道:
ip tunnel add ethn mode ipip local 180.153.B.B remote 60.251.C.C
ifconfig ethn 10.0.0.1
route add -host 10.0.0.2 dev ethn
echo 1 > /proc/sys/net/ipv4/ip_forward
配置电信默认路由添加到260表中:
ip route add 0/0 via 180.153.b.b dev eth1 table 260
配置网通默认路由添加到240表中:
ip route add 0/0 via 58.247.a.a dev eth0 table 240
配置海外默认路由添加到250表中:
ip route add 0/0 via 10.0.0.2 dev ethn table 250
在table 250中添加规则:如
ip rule add to 103.4.172.0/22 table 250
......继续;此处省略~
在table 240中添加规则:如
ip rule add to 58.16.0.0/16 table 240
......继续;此处省略~
Server B: 配置隧道: [backcolor=white !important]| ip tunnel add ethn mode ipip local 60.251.C.C remote 180.153.B.B |
| route add -host 10.0.0.1 dev ethn |
| echo 1 > /proc/sys/net/ipv4/ip_forward |
| iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o eth0 -j MASQUERADE |
这样你去测试的时候;针对去往不同的目地地实现了分流; 可以将myip.cn或123cha.com解析的网段添加进去进行测试;
|