Sub-rede Iptables

1

Eu tenho uma regra de iptable onde eu permito uma sub-rede de IPs. A regra é a seguinte:

iptables -I INPUT 2 -i eth0 -s x.x.x.x / 24 -d x.x.X.x -j ACCEPT

Por exemplo, desejo permitir a sub-rede 172.16.0.0/24. Posso me deparar com um problema como um IP desta sub-rede não tem acesso, embora eu tenha configurado esta sub-rede para ser permitido?

Estou lidando com um problema como este. Eu configurei 172.16.0.0/24 para permitido do iptables, mas quando tento acessar do IP 172.16.0.9, não tenho acesso.

    
por user200913 31.12.2013 / 11:13

3 respostas

2

Você pode depurar as regras do netfilter ativando o alvo TRACE:

Primeiro carregue o módulo do kernel relevante para logar diretamente no syslog:

modprobe -i ipt_LOG

Em seguida, crie uma regra para registrar todo o tráfego de seu sistema com comportamento inadequado:

iptables -t raw -A PREROUTING --source 172.16.0.9 -p tcp -j TRACE

Os pacotes são registrados com o prefixo de string: TRACE: tablename:chain- name:type:rulenum onde tipo pode ser "rule" para regra simples, "return" para regra implícita no final de uma cadeia definida pelo usuário e "policy" para a política do build em cadeias. O rulenum pode ser encontrado com iptables -L --line-numbers

    
por 31.12.2013 / 13:00
2

Tente remover "-d x.x.x.x". Digo isso porque INPUT significa todo o tráfego destinado à sua máquina, portanto, não é necessário especificar o destino. EDIT: Além disso, tente adicionar "-p tcp" antes de "-s x.x.x.x / 24". Eu acho que você precisa especificar o protocolo para a partida. - aseaudi 17 mins ago

    
por 31.12.2013 / 13:57
0

Estou pensando em dois possíveis problemas:

1 - você não está permitindo que o tráfego saia da sua máquina

iptables -I OUTPUT 1 -i eth0 -d x.x.x.x/24 -j ACCEPT

2 - você está impedindo que os pacotes de transmissão cheguem à sua máquina

tente isso em vez da sua entrada original:

iptables -I INPUT 1 -i eth0 -s x.x.x.x/24 -j ACCEPT

sem usar um ip de destino.

    
por 31.12.2013 / 14:16