我之前已经在很多以前的 debian 版本上使用过这个设置iptables
,但现在使用 debian buster 时它却不起作用了。
我想将来自tun0
(openvpn)的所有流量路由iptables
到特定端口,这是我的rules.v4
:
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:MY_REJECT - [0:0]
-A INPUT -m state --state INVALID -j DROP
-A INPUT -i ens32 -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i tun0 -j ACCEPT
-A INPUT -j MY_REJECT
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -j MY_REJECT
-A OUTPUT -m state --state INVALID -j DROP
-A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
-A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
-A MY_REJECT -p icmp -j DROP
-A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
COMMIT
*nat
:PREROUTING ACCEPT
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT
-A PREROUTING -i tun0 -p tcp --syn -j REDIRECT --to-ports 9040
-A POSTROUTING -s 10.1.0.0/24 -o ens32 -j MASQUERADE
COMMIT
在之前的 Debian 上同样的设置没有问题,谢谢
输出iptables -t nat -nvL
:
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- tun0 * 0.0.0.0/0 0.0.0.0/0 tcp redir ports 9040
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 60 packets, 4280 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * ens32 10.1.0.0/24 0.0.0.0/0
[编辑:6 月 8 日] 我做了一些更改,请参阅“iptables -t nat - L -vn”中的更新,肯定是 REDIRECT 不起作用,我测试了所有传入流量,我可以看到所有流量都进入 tun0,但没有重定向到端口 9040