解决openwrt宽带多拨后工行无法使用(指定出口)的问题
宽带多拨后,在负载均衡下,出口ip是变动的,使用安全证书通信的443端口重定向后,可能会出现异常.如工行手机银行登陆会出现登陆超时,网页银行会出现验证码错误.
第一种方法:
搜索了之后,得到一段iptables配置,可以解决此问题.
vi /etc/firewall.user #用户自定义的防火墙规则可以存在/etc/firewall.user文件中,实际就是iptables具体的设置命令。
2.插入配置脚本并保存
以下为脚本第一个outgoing的包(tcp SYN),打上标记
iptables -t mangle -A PREROUTING -p tcp –dport 443 -m conntrack –ctstate NEW
-j MARK –set-mark 0x01
routing decision时,会选择与0x01标记对应的那条路由。
然后,我们把这个包上的标记(0x01)转存到与之对应的连接上。–save-mark功能就在于此。
iptables -t mangle -A POSTROUTING -m conntrack –ctstate NEW -j CONNMARK –save-mark
这条连接后续的包,都用–restore-mark命令,把连接上的标记(上一条命令保存的)
再打到每个单一数据包上。
iptables -t mangle -A PREROUTING -i br-lan -m conntrack –ctstate ESTABLISHED,RELATED
-j CONNMARK –restore-mark
至此,所有(目的端口为443的outgoing包)对应连接上的每一个数据包都打上了0x01标记,
可以被正确地路由。
3.重启防火墙:/etc/init.d/firewall restart #重启防火墙.
第二种方法:
我是用MWAN做的负载均衡,可以在web luci界面进行配置,当然也可以直接编辑配置文件,但是容易出错很繁琐.
1.负载均衡->配置->策略中,添加一条策略.
保存
2.负载均衡->配置->规则中,添加一条规则
保存&应用,使配置生效
这样443端口就只会走一个出口了。
版权属于:lyin
转载时须注明出处及本声明