A fila FORWARD
é usada apenas quando o servidor é a questão é o roteador , para lidar com pacotes de entrada / saída fora de sua rede; ele é usado para bloquear / aceitar o roteamento de pacotes fora de sua rede (no nível do roteador).
Para controlar conexões no nível do host, você normalmente usa INPUT
ou OUTPUT
filas, não importa de onde as conexões são provenientes, pois elas não fazem roteamento (por exemplo, não fazem IP Forwarding).
Se você realmente quer que um grupo de máquinas em uma rede local converse entre si e não converse com a Internet, a abordagem mais simples de todas não é definir um gateway nessas máquinas.
Se você ainda tiver a ver com iptables
, precisará usar a fila INPUT
no seu script, em vez de FORWARD
.
Se sua principal preocupação é o tráfego indo para a Internet, embora eu prefira não dar a eles um gateway para sair, você precisa usar a fila OUTPUT
nas máquinas locais.
Como em:
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -j DROP
(192.168.1.0/24 - > todas as máquinas na rede 192.168.1)
Esteja ciente de que, se você vir via ssh de outra rede, ficará efetivamente bloqueado com essas regras.
No entanto, se o seu roteador for uma caixa linux, talvez seja suficiente escrever como uma regra FORWARD para bloquear algumas máquinas da Internet:
iptables -A FORWARD -s 192.168.1.10 -j DROP
iptables -A FORWARD -s 192.168.1.11 -J DROP
De man iptables
:
INPUT (for packets destined to local sockets)
FORWARD (for packets being routed through the box)
OUTPUT (for locally-generated packets).