iptables-persistent bloqueando todas as conexões de saída

2

Eu uso o iptables-persistent para definir regras de firewall.

Esta é a minha configuração padrão:

*filter     
:INPUT DROP [0:0]     
:FORWARD ACCEPT [0:0]     
:OUTPUT ACCEPT [0:0]     
-A INPUT -p tcp --dport 2123 -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT     
COMMIT

O problema é que não consigo baixar pacotes de servidores Debian e pingar endereços IP locais e externos.

INPUT é apenas para conexões "recebidas", isso está correto?

Estas são as regras para o IPv6:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
COMMIT
    
por Nerus 18.09.2016 / 20:47

4 respostas

2

O problema que você tem é que você não está permitindo nenhum pacote de entrada. Então, se você tentar entrar em contato com um servidor externo, não poderá receber as respostas!

Normalmente, isso pode ser tratado com uma regra "estabelecida"

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

A idéia, aqui, é que os pacotes de entrada que correspondem a uma conexão de saída serão permitidos novamente.

Agora com DROP padrão para cadeias de entrada, você pode ver outros problemas (por exemplo, pacotes ICMP), então você também pode precisar permitir que eles dependam de suas necessidades.

    
por 18.09.2016 / 21:04
0

O problema foi resolvido.

novas regras fixas:

*filter
:INPUT DROP [0:0] 
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A FORWARD -o lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp --dport 2123 -m mac --mac-source XX:XX:XX:XX:XX:XX -j    ACCEPT
COMMIT
    
por 18.09.2016 / 21:19
0

Se você quer um melhor controle sobre o iptables, use os módulos "--ctstate" do conntrack. É melhor e mais recente que "- state"

Por exemplo:

iptables -A INPUT -p tcp -m tcp -m conntrack --ctstate ESTABLISHED -j ACCEPT

    
por 10.10.2016 / 20:22
0

Eu não pretendo ser um expert com regras iptables mas o módulo conntrack está fazendo uso da extensão de rastreamento de conexão (conntrack) enquanto o segundo está fazendo uso da extensão de estado. De acordo com este documento the conntrack estado de extensão substituído.

Obsolete extensions: • -m state: replaced by -m conntrack

mais informações aqui

    
por 11.10.2016 / 02:01