Como permitir com Iptables todas as portas apenas para ips locais, exceto duas portas específicas

Como permitir com Iptables todas as portas apenas para ips locais, exceto duas portas específicas

Estou procurando uma maneira de permitir conexões em todas as portas do meu servidor Debian apenas para um IP local (192.168.2.*), exceto duas portas específicas X e Y, que devem ser permitidas para qualquer IP. Se o IP não for local, todas as conexões com todas as portas, exceto as portas X e Y, deverão ser bloqueadas.

Como posso lidar com essa situação com o Iptables?

Responder1

Não tenho certeza se entendi bem, mas aqui está como fazer isso.

Para permitir todas as portas para o intervalo de IP local 192.168.2.0/24, exceto duas portas (X e Y), você pode usar uma regra como:

iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport X -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport Y -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp -j ACCEPT

Para outros IPs não locais, permita conexões SOMENTE para X e Y, você pode usar:

iptables -A INPUT -p tcp --dport X -j ACCEPT
iptables -A INPUT -p tcp --dport Y -j ACCEPT
iptables -A INPUT -p tcp -j DROP

Você não especificou o protocolo (TCP ou UDP) e estou assumindo o TCP como está claro acima. Você precisa inserir as regras nesta ordem específica e não presumo nenhuma outra regra predefinida.

informação relacionada