最简单的防火墙不起作用

最简单的防火墙不起作用

我尝试使用以下 bash 脚本将 ssh 流量从一台机器重定向到另一台机器:

   IPTABLES="/usr/sbin/iptables"

   $IPTABLES -F        
   $IPTABLES -X        
   $IPTABLES -F -t nat 
   $IPTABLES -X -t nat 
   $IPTABLES -F -t mangle
   $IPTABLES -X -t mangle

   $IPTABLES --policy INPUT   ACCEPT
   $IPTABLES --policy FORWARD ACCEPT
   $IPTABLES --policy OUTPUT  ACCEPT

   $IPTABLES -t nat -A POSTROUTING --out-interface ppp0 -j MASQUERADE
   $IPTABLES -t nat -A PREROUTING  -p tcp --dport 22 -j DNAT --to 192.168.2.2

   echo 1 > /proc/sys/net/ipv4/ip_forward 

但是当我输入

ssh user@localhost

或者

ssh [email protected] # (address of local host)

我收到错误‘连接被拒绝’。

请帮我。

答案1

ssh user@localhost行不通,至少按照你使用的规则行不通。

PREROUTING链对进入机器的数据包起作用,而如果您连接到本地主机,则数据包将在本地生成。

不过,好处是您的配置应该适用于外部连接。您是否从其他地方尝试过?

编辑:这是 netfilter 流程​​的有用图表:-

在此处输入图片描述

相关内容