iptables configuration

1

Estou tentando configurar o iptables, as regras de encaminhamento estão funcionando bem, mas as regras de saída estão causando problemas.

Não consigo acessar a Internet a partir dos hosts do firewall, nem o servidor de firewall pode acessar www.google.com. E os anfitriões não podem fazer o ping em www.google.com também, o ping também não funcionou com o ip.

A ação padrão para entrada, saída e encaminhamento é soltar.

Eu abri 80.443,53 (tcp e udp) e as portas para o outlook.

Aqui minhas regras de saída:

iptables -P OUTPUT DROP

# Output
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT


# DNS
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
    
por lipesmile 09.06.2016 / 06:07

1 resposta

2

Aqui, na sua cadeia FORWARD, você permite algum tráfego de saída. Embora não possa voltar, você deve usar a máquina conntrack para permitir esse comportamento na cadeia FORWARD para as máquinas LAN e na cadeia INPUT para o roteador.

Você não permitiu o ICMP também, portanto o ping não pode passar.
Mais uma coisa: eu especificaria uma interface na cadeia FORWARD. Se você não fizer isso, suas portas poderão ficar expostas ou a máquina poderá ser usada como um gateway por uma máquina externa.

Vamos reescrever suas regras adequadamente (substitua eth1 pela sua interface LAN):

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# Forward - WAN to LAN
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Forward - LAN to WAN
iptables -A FORWARD -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -p icmp -j ACCEPT

# Input
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Output
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

Edit: especifique eth1 como recomendado nos comentários.

    
por 09.06.2016 / 12:00