最近一直都在折腾这方面的东西,没办法,有需求;所以这几篇博文都系真实案例;全部测试通过;这么做的目地也是和之前的一样;节省成本,节省无限制啊;
这次的在上次需求的基础上建设的;这里演示的话进行了精剪;
需求就是;国内一台机器(其实真实是多台)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服务;实现正常拨号;
添加路由表
配置隧道:
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表中:
配置海外默认路由添加到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中添加规则:如
Server B:
配置隧道:
ip tunnel add ethn mode ipip local 60.251.C.C remote 180.153.B.B ifconfig ethn 10.0.0.2 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解析的网段添加进去进行测试;