选择 automatic
引入的防火墙配置问题,默认规则里面有一行:
iptables -t nat -I PREROUTING -p tcp -m tcp --dport 1194 -j ACCEPT
使连接直接进入 ACCEPT 而跳过了 SHADOWSOCKS chain。
解决方案:
a. 执行命令删掉这行规则 (其中 tcp 和 1194 分别对应 openxxx 的设置)
iptables -t nat -D PREROUTING -p tcp -m tcp --dport 1194 -j ACCEPT
b. 更改 OpenVPN Server 的防火墙为 Custom,然后在 /jffs/scripts/firewall-start
里面加上配置:
#!/bin/sh
iptables -I INPUT -p tcp --dport 1194 -j ACCEPT
iptables -I INPUT -i tun21 -j ACCEPT
iptables -I FORWARD 2 -i tun21 -j ACCEPT
问题在于 ss-redir
和对应的 iptables 规则,只修改了路由器作为 gateway 的时候的流量。
而 ss-server
是开在路由器本地的,流量并没有被 SHADOWSOCKS chain 修改。
如果希望使 ss-server 的流量遵循自动翻墙的规则,执行:
iptables -t nat -I OUTPUT -p tcp -j SHADOWSOCKS
目前梅林的版本下,删除语句貌似不成功,发现直接修改防火墙为custom,PREROUTING里也就没有那一句了。但是找不到/jffs/scripts/firewall-start,这个文件。只能直接输入下面的四条命令,openvpn可以连接,ss成功,但是过一段时间就openvpn连不上了,需要再次输入命令。请问怎样可以不用老丢配置。谢谢。