Iptables trabalhando estranhamente

0

Eu tenho o Ubuntu 12.04 x64 instalado no meu laptop.

Sou bastante novo no linux e queria especificar certas regras para o firewall do iptables.

Esta é a configuração salva do meu iptables:

*mangle

:PREROUTING ACCEPT [0:0]

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

COMMIT


*nat

:PREROUTING ACCEPT [0:0]

:INPUT ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

-A PREROUTING -p tcp -m tcp --dport 3306 -j DNAT --to-destination 192.168.1.100:3306

-A PREROUTING -p tcp -m tcp --dport 11002 -j DNAT --to-destination 192.168.1.100:11002

-A PREROUTING -p tcp -m tcp --dport 13000 -j DNAT --to-destination 192.168.1.100:13000

-A PREROUTING -p tcp -m tcp --dport 13001 -j DNAT --to-destination 192.168.1.100:13001

-A PREROUTING -p tcp -m tcp --dport 13002 -j DNAT --to-destination 192.168.1.100:13002

-A PREROUTING -p tcp -m tcp --dport 13003 -j DNAT --to-destination 192.168.1.100:13003

-A PREROUTING -p tcp -m tcp --dport 13004 -j DNAT --to-destination 192.168.1.100:13004

-A PREROUTING -p tcp -m tcp --dport 13061 -j DNAT --to-destination 192.168.1.100:13061

-A PREROUTING -p tcp -m tcp --dport 13099 -j DNAT --to-destination 192.168.1.100:13099

-A POSTROUTING -j MASQUERADE

COMMIT


*filter

:INPUT DROP [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT


-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT

Em teoria, o que ele faz é eliminar todas as conexões em todas as portas, exceto http, mysql e algumas outras portas.

Além disso, ele redireciona todas as conexões de porta mysql e 13000-13004..etc para um ip local específico na mesma porta, que é 192.168.1.100.

Mas o que eu acho estranho é que quando meu firewall está ativo, ele bloqueia absolutamente todas as conexões de entrada, mesmo aquelas que não devem ser bloqueadas (http, mysql). Na verdade, estou literalmente bloqueado e não consigo estabelecer nenhuma conexão externa.

O que estou fazendo de errado?

PS: Eu testei o firewall sem esses redirecionamentos, e ele ainda bloqueia todas as entradas, então eu suponho que não é o problema.

    
por user109985 22.11.2012 / 19:22

1 resposta

3

primeiro e para tudo você precisa verificar se o encaminhamento de pacotes é permitido em seu sistema:

cat /proc/sys/net/ipv4/ip_forward

ou

sysctl ipv4_forward

Isso deve ter o valor de '1'. se não (sudo ou como root):

echo '1' > /proc/sys/net/ipv4/ip_forward

e para tornar a alteração permanente, você pode remover o comentário de net.ipv4.ip_forward=1 em /etc/sysctl.conf . Uma vez feito isso, você pode testar suas configurações do iptables (eu presumo que ele funcionará depois dessa pequena alteração ;-)). Já que você disse que você é novo nisso, eu coloquei uma descrição da regra em cada regra, esperando que tudo faça sentido para você.

iptables -P INPUT DROP
iptables -A OUTPUT ACCEPT
iptables -A FORWARD ACCEPT

Isso eliminará todo o tráfego, exceto o tráfego que corresponder às regras definidas. -P INPUT DROP pode ser declarado como a primeira regra, enquanto -A INPUT DROP tem que ser o último. As próximas 2 regras permitirão conexões e encaminhamentos de saída.

iptables -A INPUT -i lo -j ACCEPT

Permitir tráfego de loopback (127.0.0.1)

iptables -A INPUT -m state --state RELEATED,ESTABLISHED -j ACCEPT

Isso permitirá que todos os pacotes que possuem estado RELATED (Uma nova conexão secundária por FTP) ou ESTABLISHED (pacotes para esta conexão tenham sido vistos em ambas as direções, por exemplo, tráfego HTTP).

iptables -t nat -A POSTROUTING -o ethx -j MASQUERADE

nat porque você provavelmente está natting, mascarar o pacote saindo da interface ethx . Por exemplo, o lado WAN está em eth1 e lan em eth0, então ethx seria eth0. Isso está no POSTROUTING.

iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to-destination 192.168.1.100:3306

este é o encaminhamento real.

Então, basicamente, as regras do iptables estão OK, você provavelmente esqueceu a configuração do ip_forward.

    
por Goez 23.11.2012 / 00:07