Sub-rede Iptables

Sub-rede Iptables

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

iptables -I ENTRADA 2 -i eth0 -s xxxx/24 -d xxXx -j ACEITAR

Por exemplo, quero permitir a sub-rede 172.16.0.0/24. Posso enfrentar um problema como um IP desta sub-rede não ter acesso, embora eu tenha configurado esta sub-rede para ser permitida?

Estou lidando com um problema como este. Configurei 172.16.0.0/24 como permitido no iptables, mas quando tento acessar pelo IP 172.16.0.9, não tenho acesso.

Responder1

Você pode depurar regras do netfilter ativando o destino TRACE:

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

modprobe -i ipt_LOG

E então crie uma regra para registrar todo o tráfego do 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:rulenumonde type 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 das cadeias integradas. O Rulenum pode ser encontrado comiptables -L --line-numbers

Responder2

Tente remover "-d xxxx". Digo isso porque INPUT significa todo o tráfego destinado à sua máquina, portanto não há necessidade de especificar destino. EDIT: Além disso, tente adicionar "-p tcp" antes de "-s xxxx/24". Acho que você precisa especificar o protocolo da partida. – aseaudi 17 minutos atrás

Responder3

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 pacotes de broadcast cheguem à sua máquina

tente isso em vez de sua entrada original:

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

sem usar um ip de destino.

informação relacionada