A ordem importa! Você não está indo pelo caminho errado, mas precisa mudar a ordem. Coloque o ACCEPT primeiro, depois o REJECT, e você ficará bem.
Eu tenho duas contas dsl. Um é o uso geral que é configurado no meu roteador e o segundo é configurado em um servidor. Meu roteador está bem protegido, mas notei depois de configurar o PPPoe no meu servidor que a segurança do roteador é completamente ignorada e todas as portas no meu servidor estão essencialmente abertas para o mundo.
Então eu tentei isso bloquear todas as conexões no PPP
iptables -A INPUT -i ppp0 -p tcp -j DROP
iptables -I INPUT -i ppp0 -p tcp --dport 563 -j ACCEPT
Mas agora não consigo me conectar à porta 563 ou a partir dela.
Eu suspeito que estou fundamentalmente entendendo mal como o iptables funciona.
A ordem importa! Você não está indo pelo caminho errado, mas precisa mudar a ordem. Coloque o ACCEPT primeiro, depois o REJECT, e você ficará bem.
Você precisa definir algumas regras padrão e, em seguida, uma política para o restante. Este é um bom ponto de partida:
iptables -A INPUT --match state --state RELATED,ESTABLISHED -j ACCEPT --match comment --comment "Accept traffic from outgoing connections and stuff like FTP."
iptables -A INPUT -p icmp -j ACCEPT --match comment --comment "Allow ping"
iptables -A INPUT -p tcp --dport 22 -j ACCEPT --match comment --comment "Allow SSH"
iptables -A INPUT --in-interface lo -j ACCEPT --match comment --comment "Allow everything on the localhost"
iptables -P INPUT DROP
Depois, você pode adicionar sua regra:
iptables -A INPUT -i ppp0 -p tcp --dport 563 -j ACCEPT