Você pode usar os seguintes comandos para permitir o acesso ao servidor HTTP, desde que você tenha a política padrão definida como DROP
para INPUT
e OUTPUT
cadeias.
$ sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A OUTOUT -i lo -j ACCEPT
$ sudo iptables -A INPUT -s 128.171.21.0/24 -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
$ sudo iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -p tcp -m tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
Toda sub-rede 128.171.21.0/24 terá permissão para acessar seu servidor web. Você pode personalizá-lo de acordo com suas necessidades.
Cuidado, você pode precisar permitir que outros protocolos, como o SSH (porta 22), consigam acessar o servidor remotamente.
EDITAR: As últimas quatro regras foram adicionadas para permitir que o servidor solicite DNS e HTTP.