IPTables + SSHdynamic端口转发= BLOCKED

IPTables正在我的Web服务器上运行。 我真的需要SSHdynamic端口转发,但是我的IPTables DROP任何INPUT / OUPUT连接,只允许一些端口。

对于FORWARD链,我写了这些规则:

Chain FORWARD (policy ACCEPT) target prot opt source destination DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcpflags:! 0x17/0x02 state NEW ACCEPT all -f 0.0.0.0/0 0.0.0.0/0 limit: avg 100/sec burst 100 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 limit: avg 2/sec burst 10 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID 

我的规则可以阻止任何SSHdynamic端口转发连接。

我需要写什么规则? 不要告诉我“禁用IPTables”,我需要防火墙来反黑客。

我猜webserver的INPUT链已经允许ssh了,原谅我问明显。

现在,对于dynamic(-D)隧道,您还需要从Web服务器(任何本地端口)启用OUTPUT到所需的远程主机及其端口。 我指的是那些你想要通过你的dynamic隧道实际连接的那些。

所以,如果你打算使用你的隧道连接到主机端口443上的主机1.2.3.4,那么你需要允许从任何端口的web服务器OUTPUT到1.2.3.4:443。

FORWARD链在这里完全不相关。

只是为了澄清@ kubanczyk的答案,FORWARD链是无关紧要的,因为它只适用于传入的数据包,而不是通过本地主机路由的本地主机。 由于ssh守护程序正在接受tcp / 22上的连接(INPUT链),因此代表客户端(由于-D)启动连接(OUTPUT链),因此不会发生数据包转发。