Bom dia a todos,
ESTOU ESCREVENDO O TUTORIAL PARA QUEM ESTÁ BUSCANDO AJUDA COM IPTABLES
Eu tenho experimentado com regras diferentes e depois de muitos “hearaches” e “flushes” do iptables eu descobri e também entendi porque eu não tinha acesso à internet / throughput do tun0 para a interface eth0
/ etc / sysconfig / iptables
# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
// Eu falo sob correção mas o NAT simplesmente roteia quaisquer pacotes ANTES de passar pelo firewall, então basicamente, já que TODOS os pacotes estão indo para o servidor - assim ele precisa passar pelo firewall, entretanto você pode dizer ao servidor para "coloque" esses pacotes em interfaces diferentes (por exemplo, eth0, tun0, wlan0)
*nat
:PREROUTING ACCEPT [721:50130]
// aceita todos os pacotes de qualquer fonte OUTSIDE e não encaminha para qualquer interface específica (o mesmo que o filtro INPUT)
:POSTROUTING ACCEPT [0:0]
// aceita todos os pacotes de qualquer fonte INSIDE IP RANGE (10.8.0.0/24) e os encaminha para a interface eth0 como OUTPUT (o mesmo que o filtro FORWARD)
:OUTPUT ACCEPT [0:0]
// aceita todos os pacotes de qualquer fonte INSIDE para o OUTSIDE e não encaminha para qualquer interface específica (o mesmo que o filtro OUTPUT)
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
// acrescenta uma regra para enviar todo o tráfego pós-rota após o firewall, a partir de um dispositivo com um endereço IP no intervalo de 10.8.0.0/24 (incluindo todos os pacotes desde que nenhum --sport foi adicionado) para a interface eth0 (a interface com a conexão de internet ao vivo para o servidor)
COMMIT
# Completed on Thu Feb 13 17:10:07 2014
# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
*filter
// tudo o que o filtro faz é classificar os pacotes em grupos (com base nos números das portas) e permitir que certos pacotes com os números de porta adequados sejam acessados, além de permitir determinados pacotes a partir de determinados endereços IP
// OBSERVAÇÃO: o filtro funciona com uma política padrão de ACCEPT / DROP em resumo (as opções mais usadas), os pacotes serão descartados com base em sua origem / de onde eles vêm, MAS, assim como você tem regras para o NAT, então você também terá regras para o filtro
:INPUT DROP [886:120871]
// Todos os pacotes que ENTRAM para o servidor serão descartados / ignorados
:FORWARD DROP [0:0]
// Todos os pacotes que precisam ser encaminhados entre as interfaces do servidor serão descartados / ignorados
:OUTPUT ACCEPT [1209:156538]
// O servidor sabe que deve eliminar todos os pacotes INPUT / incoming e FORWARD / transferring, MAS todas essas regras são exceções à política declarada, portanto, essas exceções serão listadas abaixo
// Todos os pacotes que saem do servidor serão aceitos / permitidos
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: entrada da porta 443 (porta HTTPS) no protocolo TCP
-A INPUT -i tun0 -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: entrada da interface tun0 (sua interface VPN)
-A FORWARD -i tun0 -o eth0 -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: transferir todos os pacotes da interface tun0 para a interface eth0
-A FORWARD -i eth0 -o tun0 -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: transferir todos os pacotes da interface eth0 para a interface tun0
// ESTAS 2 REGRAS SÃO MUITO MUITO IMPORTANTES para permitir que seus clientes se conectem ao seu servidor openvpn para ter acesso à internet, sem eles, você é capaz de se conectar, mas não terá acesso à internet usando o openvpn
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: todos os pacotes relacionados a conexões existentes e / ou conexões estabelecidas entre interfaces, aceitá-los
-A INPUT -p tcp -m tcp --dport 22 -m comment --comment "SSH" -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: receber pacotes na porta tcp 22 e adicionar um comentário "SSH"
-A INPUT -p tcp -m tcp --dport 5252 -m comment --comment "SecureSSH" -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: pacotes recebidos na porta tcp 5252 e adicionar um comentário "SecureSSH"
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: permitir todas as solicitações de echo / ping novas, relacionadas ou estabelecidas
-A OUTPUT -p icmp -m icmp --icmp-type 0 -m state --state RELATED,ESTABLISHED -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: permitir todas as novas respostas echo / ping novas, relacionadas ou estabelecidas
// VEJA O LINK PARA A LISTA DE RESPOSTAS / TIPOS DE SOLICITAÇÃO / CÓDIGOS - link
-A INPUT -i lo -j ACCEPT
// Permitir todos os pacotes com os seguintes critérios: entrada do localhost
COMMIT
Concluído em Qui 13 de fevereiro 17:10:07 2014
Espero que isso ajude alguém e boa sorte a todos no futuro!