iptables bloquear 1 ip, nat

2

Eu tenho um servidor com 2 interfaces. um netework pequeno se conecta à eth0 e sai para a internet na eth1. Para permitir 1 ip para nat eu uso

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.23 -j SNAT --to-source=23.x.x.x

Eu gostaria de adicionar uma regra que permita um ip único fazer nat e bloquear os outros já existentes no iptables (sem deletá-los)

iptables -t nat -A POSTROUTING -o OUT_IF \! -s ip_sursa -j SNAT --to-source=x3.xxx.1xx.1xx -j DROP

funcionaria?

Ou, para permitir que apenas 1 ip passe a eth0 para eth1 e faça nat.

    
por Linux_begnr 16.07.2011 / 12:31

1 resposta

3

Não é recomendado usar DROP na tabela NAT. É melhor fazer isso na tabela de filtros se você quiser negar o acesso a esses endereços IP.

Caso contrário, você pode usar uma regra diferente para NAT desses IPs para um IP público diferente.

Atualizar

Aqui estão as regras que você precisa para permitir apenas um IP (192.168.0.100)

iptables -A FORWARD -o eth1 -s 192.168.0.100 -j ACCEPT
iptables -A FORWARD -o eth1 -s 192.168.0.0/24 -j DROP
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.100 -j SNAT --to-source=23.x.x.x
    
por 16.07.2011 / 13:18

Tags