O Netfilter possui 5 cadeias principais. Você pode ignorar PREROUTING e POSTROUTING por enquanto, então os 3 que você precisa manipular são INPUT, FORWARD e OUTPUT.
INPUT e OUTPUT controlam o tráfego direcionado ao próprio sistema, enquanto o FORWARD controla o tráfego que passa por e é direcionado para outra máquina (o caso de um gateway).
No seu caso, se você quiser permitir que usuários externos se conectem ao próprio sistema, será necessário o seguinte conjunto de regras:
# Rule 1: accept packets from established connections to enter and leave the system
iptables -A INPUT -i eth0 -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m state --state ESTABLISHED -j ACCEPT
# Rule 2: accept new connections entering the system
iptables -A INPUT -i eth0 -p tcp -s 192.168.10.200 -m state --state NEW -j ACCEPT
# Rule 3: block all connections entering and leaving the system (if not previously accepted)
iptables -A INPUT -i eth0 -j DROP
# note: only use the filtering on output if you want to control outgoing connection
# if you want to let all connections leave your system, just comment this out
iptables -A OUTPUT -o eth0 -j DROP
As regras 1 e 3 são gerais, a regra 2 é específica da conexão. Basta usar essa amostra e adicionar a nova Regra 2 quando precisar de novas conexões.
Se você quiser algo mais sólido, dê uma olhada nisso: link