昨天要帮客服做一个电信服务器分流,最初用iptables起一个DNAT和SNAT,直接可以做到,但是却拿不到请求方的ip地址,如果用squid可能太慢,而且是ssl连接,配置麻烦,后来准备做策略路由,用iptables做一个DNAT到openvpn,哪里知道openvpn过滤了这些包,超级郁闷弄了一天,没搞定,最后网管用ip tunnel搞定了,又学到东西了。。。
on machine A
498 iptunnel add tun1 mode ipip remote bbb.bbb.bbb.bbb local aaa.aaa.aaa.aaa
499 ifconfig tun1 10.7.0.1
501 route add 10.7.0.2 dev tun1
504 ip route add default dev tun1 table tunnel
505 ip rule add from 10.7.0.1 table tunnel
on machine B
456 iptunnel add tun1 mode ipip remote aaa.aaa.aaa.aaa local bbb.bbb.bbb.bbb
457 ifconfig tun1 10.7.0.2
459 route add 10.7.0.1 dev tun1
462 iptables -t nat -A PREROUTING -d bbb.bbb.bbb.bbb -p tcp -m tcp –dport 443 -j DNAT –to-destination 10.7.0.1
嘿嘿,拿到一台网通+电信双ip的机器,只做分流浪费了,看来可以拿来做点坏事了。