Permitir primeiro sua conexão local e seus protocolos RELATED, ESTABLISHED
connections.
$ sudo iptables -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT
$ sudo iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A INPUT -p icmp -m state --state RELATED,ESTABLISHED -j ACCEPT
Isso permitirá a conexão com a internet.
Definir políticas de cadeia padrão
$ sudo iptables -P INPUT DROP
$ sudp iptables -P OUTPUT DROP
Isso negará todo o tipo de tráfego de entrada / saída.
Permitir sua conexão VPN
$ sudo iptables -A INPUT -s [VPN ip connection] -j ACCEPT
$ sudo iptables -A OUPUT -d [VPN ip connection] -j ACCEPT
Isso permitirá a conexão VPN.
SE VOCÊ ESTIVER CONECTADO, VOCÊ DEVE TAMBÉM PERMITIR O ENDEREÇO IP COMO SUA LOCALHOST
ATUALIZAÇÃO:
Para outras regras de conexões, permita-as.
HTTP por exemplo:
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
RECOMENDAÇÃO PESSOAL
O que eu faço é fazer o backup das minhas regras do iptables com $ sudo iptables-save > iptables_backup
, então para qualquer alteração eu edito as regras com o vim e restauro o iptables com $ sudo iptables-restore < iptables_backup
. Esta é apenas uma prática pessoal para evitar a duplicação de regras.