Como posso aplicar uma regra de firewall a um IP local específico?

Como posso aplicar uma regra de firewall a um IP local específico?

Eu hospedo servidores de jogos e, como resultado, tenho alguns IPs. No IP do servidor principal tenho o painel do jogo, outros IPs são reservados para uso dos gameservers que hospedo para meus clientes.

Como resultado, gostaria que as portas 80 e 443 estivessem abertasapenasno endereço IP do servidor primário. Procurei um iptablescomando que cubra isso, mas não encontrei nada (apenas resultados que dizem como permitir/bloquear portas para determinados IPs estrangeiros).

Isso é possível com iptables? Se sim, como?

O sistema operacional é Ubuntu 14.04LTS.

Responder1

Você também pode bloquear/permitir com base em IPs. Na página de manualhttp://linux.die.net/man/8/iptables

-s, --source [!] endereço[/mask] Especificação da fonte. O endereço pode ser um nome de rede, um nome de host (observe que especificar qualquer nome a ser resolvido com uma consulta remota, como DNS, é uma péssima ideia), um endereço IP de rede (com /mask) ou um endereço IP simples. A máscara pode ser uma máscara de rede ou um número simples, especificando o número de 1 no lado esquerdo da máscara de rede. Assim, uma máscara de 24 equivale a 255.255.255.0. A "!" argumento antes da especificação do endereço inverter o sentido do endereço. A bandeira --src é um alias para esta opção. -d, --destination [!] endereço[/mask] Especificação de destino. Consulte a descrição do sinalizador -s (fonte) para obter uma descrição detalhada da sintaxe. A bandeira --dst é um alias para esta opção.

Então você pode fazer algo como

sudo iptables -A INPUT -d [serverip]/32 -p tcp --dport 80 -j ACCEPT

permitirá apenas a porta 80 para o IP especificado ou você pode bloquear a escuta nos outros IPs

Para endereço de origem, o sinalizador é-s

informação relacionada