Iptables - encaminhar as portas de e-mail?

2

estou tentando abrir algumas portas locais (LAN) e redirecioná-las para outro servidor (WAN) usando o iptables.

Aqui está minha configuração:

#WAN
allow-hotplug eth1
auto eth1
iface eth1 inet static
#Tarjeta red WAN
address 192.168.2.2
gateway 192.168.2.1 
netmask 255.255.255.0

#LAN
allow-hotplug eth0 
auto eth0
iface eth0 inet static
address 192.168.16.6
netmask 255.255.255.0
network 192.168.16.0 
broadcast 192.168.16.255

Eu tento isso:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 110 -j DNAT --to 200.40.30.218:110
iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 200.40.30.218 --dport 110 -j ACCEPT 

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 25 -j DNAT --to 200.40.30.218:25
iptables -A FORWARD -p tcp -i eth0 -o ethq -d 200.40.30.218 --dport 25 -j ACCEPT

mas não funcionou. Eu também tento mudar eth0 para eth1 (e eth1 para eth0), mas nada aconteceu.

Starting Nmap 5.00 ( http://nmap.org ) at 2011-10-03 14:44 UYST
Interesting ports on 192.168.16.6:
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
111/tcp  open  rpcbind
8080/tcp open  http-proxy

Estou executando o debian. Vocês podem me ajudar a verificar o que está acontecendo?

editar: IPTABLES-SALVAR

# Generated by iptables-save v1.4.8 on Mon Oct  3 15:43:14 2011
*mangle
:PREROUTING ACCEPT [139993:77867651]
:INPUT ACCEPT [139385:77761761]
:FORWARD ACCEPT [186:12071]
:OUTPUT ACCEPT [173556:74341650]
:POSTROUTING ACCEPT [173734:74352988]
COMMIT
# Completed on Mon Oct  3 15:43:14 2011
# Generated by iptables-save v1.4.8 on Mon Oct  3 15:43:14 2011
*nat
:PREROUTING ACCEPT [1649:190626]
:POSTROUTING ACCEPT [6729:339646]
:OUTPUT ACCEPT [6697:337660]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 110 -j DNAT --to-destination 200.40.30.218:110 
-A PREROUTING -i eth0 -p tcp -m tcp --dport 25 -j DNAT --to-destination 200.40.30.218:25 
COMMIT
# Completed on Mon Oct  3 15:43:14 2011
# Generated by iptables-save v1.4.8 on Mon Oct  3 15:43:14 2011
*filter
:INPUT ACCEPT [138307:77066136]
:FORWARD ACCEPT [168:11207]
:OUTPUT ACCEPT [172288:73655708]
-A FORWARD -d 200.40.30.218/32 -i eth0 -o eth1 -p tcp -m tcp --dport 110 -j ACCEPT 
-A FORWARD -d 200.40.30.218/32 -i eth0 -o ethq -p tcp -m tcp --dport 25 -j ACCEPT 
COMMIT
# Completed on Mon Oct  3 15:43:14 2011

Atenciosamente

    
por Liam 03.10.2011 / 19:00

1 resposta

2

parece que o MASQUERADING não está configurado. Adicione o seguinte antes da primeira PREROUTING STATEMENT

-A POSTROUTING -o eth0 -j MASQUERADE

Então seria algo como:

-A POSTROUTING -o eth0 -j MASQUERADE
-A PREROUTING -i eth0 -p tcp -m tcp --dport 110 -j DNAT --to-destination 200.40.30.218:110 
-A PREROUTING -i eth0 -p tcp -m tcp --dport 25 -j DNAT --to-destination 200.40.30.218:25 

Além disso, verifique se o encaminhamento de IP está ativado. Você pode configurá-lo dinamicamente com:

sysctl -w net.ipv4.conf.all.forwarding =1

Ou:

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

Para alterá-lo permanentemente (que é o que você deseja), adicione ou altere o valor net.ipv4.conf.all.forwarding em /etc/sysctl.conf para:

net.ipv4.ip_forward = 1 

O último é que eu penso como você faria na Red Hat, então se você não tiver esse arquivo, você pode adicionar o primeiro comando em /etc/rc.local ou procurar o jeito do Ubuntu de fazer o mudar.

Além disso, sua última declaração FORWARD parece ser um erro. Parece que é suposto ser:

-A FORWARD -d 200.40.30.218/32 -i eth1 -o eth0 -p tcp -m tcp --dport 110 -j ACCEPT 
-A FORWARD -d 200.40.30.218/32 -i eth1 -o eth0 -p tcp -m tcp --dport 25 -j ACCEPT

Acho que é assim que você funciona. Eu re-li o post e você quer encaminhar o tráfego de entrada para servidores na WAN, então eu fiz as alterações acima para explicar isso (é um pouco confuso, porque você geralmente vai de WAN - > LAN com NAT, não o de outra maneira).

Mas o importante é que você precisa garantir que o encaminhamento de IP esteja ativado, bem como o MASQUERADING.

    
por 03.10.2011 / 20:04