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 iptables
comando 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