Bloqueio de portas com iptables

3

Eu tenho um servidor com várias interfaces (IPs). Eu gostaria de bloquear todas as portas em um dos IPs (não quero alterar nada para outros IPs / interfaces), mas permitir conexões de saída a partir dele. Por exemplo, deve ser possível executar um cliente de IRC a partir dele, mas não deve ser possível simplesmente conectar-se a ele de fora (eu me conectarei de um IP na lista de permissões).

Isso é o que eu tenho até agora:

Chain INPUT (policy ACCEPT)
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
DROP       all  --  0.0.0.0/0            IP

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

Mas essas regras não funcionam. Mesmo quando eu inicio uma conexão deste IP, o servidor remoto não pode se conectar de volta, apesar de eu estar permitindo conexões RELACIONADAS / ESTABELECIDAS. O que há de errado?

    
por qqq 14.06.2011 / 12:16

2 respostas

2

Primeiro, a política padrão para OUTPUT Chain é ACCEPT , portanto, a última linha:

ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

não é necessário.

Então a primeira linha:

ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

também é redundante porque a política padrão para INPUT é ACCEPT .

Experimente apenas estas duas regras e veja se ajuda:

iptables -A INPUT -d IP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -d IP -j DROP
    
por 14.06.2011 / 13:32
0

Você está especificamente tendo um problema com conexões de IRC? O servidor de IRC ao qual você está tentando se conectar pode estar exigindo que você execute um ident server. A maioria dos clientes de IRC falsifica um. Tente permitir conexões de entrada na porta 113 e veja se ela melhora.

    
por 14.06.2011 / 13:31