O firewall mais simples não funciona

1

Eu tento redirecionar o tráfego ssh de uma máquina para outra com o seguinte sctipt bash:

   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 

Mas quando eu digito

ssh user@localhost

ou

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

Eu recebo o erro "Conexão recusada".

Por favor, me ajude.

    
por Михаил Беляков 01.12.2011 / 03:46

1 resposta

5

ssh user@localhost não funciona, pelo menos não com as regras que você usou.

A corrente PREROUTING funciona nos pacotes que entram na máquina, enquanto se você estiver se conectando ao host local, os pacotes estão sendo gerados localmente.

A vantagem, no entanto, é que sua configuração deve funcionar para conexões externas. Você tentou de outro lugar?

Edit: Este é um diagrama útil dos fluxos para o netfilter: -

    
por 02.12.2011 / 15:50