Contents

好久不用,老司机翻船了,如下命令:

1
2
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 1080
iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 127.0.0.1:1080

运行ss-redir监听在127.0.0.1:1080端口上,发现虽然规则被匹配,但是始终没有包进入到ss-redir中。
失效的原因在于,对于redirect来说,只能在同一个接口上转发,因此ss-redir必须使用进来的包相同的接口上的ip地址才能收到包。
第二条命令失效的原因在于dnat对lo设备无效,因此ss-redir至少要使用某个物理网卡的地址,必redirect限制少一条在于,dnat可以用其他网卡上的地址,而redirect必须使用相同网卡上的地址。
折腾了半天!

Contents