Migrar ipfw para iptables

1. Migrar ipfw para iptables

Clansman
clansman

(usa Debian)

Enviado em 09/05/2013 - 14:53h

Pessoal, preciso migrar um fw que usa freebsd com ipfw para um debian 6.0.7 iptables, então estive dando uma olhada nas regras e algumas delas
não estou conseguindo fazer funcionar, principalmente as de acesso externo, vou postar algumas aqui, que caso alguem consiga "traduzir" para o iptables já resolve meu problema. Obrigado.

Isso aqui deve ser loopback:
00100 allow ip from any to any via lo0

Isso aqui imagino que seja liberar a porta 5061 de qq lugar para o ip 192.168.100.10:
00600 allow tcp from any to 192.168.100.10 5061
00700 allow udp from any to 192.168.100.10 5061

E este deve liberar a porta 7003 para toda rede:
03700 allow udp from any to any 7003
03800 allow tcp from any to any 7003

Daqui para baixo eu preciso escrever em iptables :

Não faço nem ideia :
03000 divert 8668 ip from any to any via xl0
03400 allow tcp from any to any 9990
04000 allow tcp from any to 192.168.100.11 3388
04500 allow tcp from 200.0.0.0/8 to 192.168.100.254 3322
04900 pipe 13 tcp from any to 200.20.200.20 25 in recv xl0
05000 pipe 14 tcp from 200.20.200.20 to any 25 out xmit xl0
05100 allow ip from 200.20.200.10/29 to any out xmit xl0
05400 allow tcp from 201.20.200.200 to me 5666 setup
06000 allow tcp from 200.0.0.0/8 to 200.20.200.20 77 in recv xl0 setup
06800 allow tcp from any to 200.20.200.20 49000-50000 in recv xl0 setup
08900 allow udp from any to 201.200.200.10
08700 allow udp from 201.200.200.10 to any


Obrigado pela atenção,

Att,




  


2. Re: Migrar ipfw para iptables

Buckminster
Buckminster

(usa Debian)

Enviado em 09/05/2013 - 17:19h

clansman escreveu:

Pessoal, preciso migrar um fw que usa freebsd com ipfw para um debian 6.0.7 iptables, então estive dando uma olhada nas regras e algumas delas
não estou conseguindo fazer funcionar, principalmente as de acesso externo, vou postar algumas aqui, que caso alguem consiga "traduzir" para o iptables já resolve meu problema. Obrigado.

Isso aqui deve ser loopback:
00100 allow ip from any to any via lo0

Isso aqui imagino que seja liberar a porta 5061 de qq lugar para o ip 192.168.100.10:
00600 allow tcp from any to 192.168.100.10 5061
00700 allow udp from any to 192.168.100.10 5061

E este deve liberar a porta 7003 para toda rede:
03700 allow udp from any to any 7003
03800 allow tcp from any to any 7003

Daqui para baixo eu preciso escrever em iptables :

Não faço nem ideia :
03000 divert 8668 ip from any to any via xl0
03400 allow tcp from any to any 9990
04000 allow tcp from any to 192.168.100.11 3388
04500 allow tcp from 200.0.0.0/8 to 192.168.100.254 3322
04900 pipe 13 tcp from any to 200.20.200.20 25 in recv xl0
05000 pipe 14 tcp from 200.20.200.20 to any 25 out xmit xl0
05100 allow ip from 200.20.200.10/29 to any out xmit xl0
05400 allow tcp from 201.20.200.200 to me 5666 setup
06000 allow tcp from 200.0.0.0/8 to 200.20.200.20 77 in recv xl0 setup
06800 allow tcp from any to 200.20.200.20 49000-50000 in recv xl0 setup
08900 allow udp from any to 201.200.200.10
08700 allow udp from 201.200.200.10 to any


Obrigado pela atenção,

Att,



allow tcp from any to 192.168.100.10 5061
iptables -A FORWARD -p tcp -d 192.168.100.10 --dport 5061 -j ACCEPT
iptables -A FORWARD -p udp -d 192.168.100.10 --dport 5061 -j ACCEPT

allow udp from any to any 7003
iptables -A FORWARD -p tcp -d 0.0.0.0/0 --dport 7003 -j ACCEPT
iptables -A FORWARD -p udp -d 0.0.0.0/0 --dport 7003 -j ACCEPT

divert 8668 ip from any to any via xl0
iptables -A FORWARD -p tcp --dport 8668 -j ACCEPT
iptables -A FORWARD -p udp --dport 8668 -j ACCEPT

allow tcp from 200.0.0.0/8 to 192.168.100.254 3322
iptables -A FORWARD -p tcp -s 200.0.0.0/8 -d 192.168.100.254 --dport 3322 -j ACCEPT

pipe 13 tcp from any to 200.20.200.20 25 in recv xl0
pipe 14 tcp from 200.20.200.20 to any 25 out xmit xl0
A primeira regra aí em cima está fazendo um pipe dummynet de acordo com o número (13) no protocolo tcp recebendo pela interface de rede especificada (recv xl0) e repassando para o IP 200.20.200.20 na porta 25.
A segunda regra aí em cima está fazendo um pipe dummynet de acordo com o número (14) no protocolo tcp transmitindos pela interface especificada (xmit x10) na porta 25.
Essas duas regras não lembro agora de cabeça como ficariam no IPtables.

As outras regras você pode fazer tendo por base as que te passei aí em cima.
Se você ainda não instalou o Debian, aconselho a instalar o Wheezy, saiu a versão estável.

Para te auxiliar no transporte das regras, veja esses dois links:
http://www2.unijui.edu.br/~heini/freebsd/ipfw2.html

http://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras/


3. Re: Migrar ipfw para iptables

Clansman
clansman

(usa Debian)

Enviado em 10/05/2013 - 16:28h

Buck, fera, obrigado pela ajuda ! ainda ficaram algumas regras meio estranhas no ipfw,
mesmo lendo os materiais indicados nao consegui escrever no iptables, como essas por exemplo:

06100 allow tcp from 186.1.0.1 to 192.1.1.10 55 in recv xl0 setup

06300 allow tcp from 192.168.0.0/24 to me 55 in recv xl1 setup

06500 allow tcp from me 55 to 192.168.0.0/24 55 in recv xl1 setup

06600 allow tcp from any to 177.2.1.1 20 in recv xl0 setup
06800 allow tcp from any to 177.2.1.1 49000-50000 in recv xl0 setup

vou fazer mais algumas tentativas.

Muito obrigado !


4. Re: Migrar ipfw para iptables

Buckminster
Buckminster

(usa Debian)

Enviado em 10/05/2013 - 16:47h

clansman escreveu:

Buck, fera, obrigado pela ajuda ! ainda ficaram algumas regras meio estranhas no ipfw,
mesmo lendo os materiais indicados nao consegui escrever no iptables, como essas por exemplo:

06100 allow tcp from 186.1.0.1 to 192.1.1.10 55 in recv xl0 setup

06300 allow tcp from 192.168.0.0/24 to me 55 in recv xl1 setup

06500 allow tcp from me 55 to 192.168.0.0/24 55 in recv xl1 setup

06600 allow tcp from any to 177.2.1.1 20 in recv xl0 setup
06800 allow tcp from any to 177.2.1.1 49000-50000 in recv xl0 setup

vou fazer mais algumas tentativas.

Muito obrigado !


Mais ou menos assim:

allow tcp from 186.1.0.1 to 192.1.1.10 55 in recv xl0 setup
iptables -A FORWARD -p tcp -i eth0 -s 186.1.0.1 -d 192.1.1.10 --dport 55 --syn -j ACCEPT

recv << significa que está recebendo o pacote.
xl0 << é a interface, provavelmente a eth0; verifique isso.
setup << pacotes com o bit SYN, mas sem o bit ACK

allow tcp from 192.168.0.0/24 to me 55 in recv xl1 setup
iptables -A INPUT -p tcp -i eth1 -s 192.168.0.0/24 --dport 55 --syn -j ACCEPT

allow tcp from me 55 to 192.168.0.0/24 55 in recv xl1 setup
iptables -A OUTPUT -p tcp -i eth1 -d 192.168.0.0/24 --dport 55 --syn -j ACCEPT

allow tcp from any to 177.2.1.1 20 in recv xl0 setup
iptables -A FORWARD -p tcp -i eth0 -d 177.2.1.1 --dport 20 --syn -j ACCEPT

allow tcp from any to 177.2.1.1 49000-50000 in recv xl0 setup
iptables -A FORWARD -p tcp -i eth0 -d 177.2.1.1 --dports 49000:50000 --syn -j ACCEPT

OUTPUT << pacotes originados no próprio servidor onde está o IPtables.
INPUT << pacotes com destino ao próprio servidor onde está o IPtables.
FORWARD << pacotes que passam pelo servidor onde está o IPtables.

from me << de mim (tipo índio).
to me << para mim.


5. Re: Migrar ipfw para iptables

Clansman
clansman

(usa Debian)

Enviado em 11/05/2013 - 10:12h

Buck, show de bola !!! Muito obrigado, com tuas transcrições e dicas minha rede interna e alguma coisa de fora está rodando 100%.
Mas olha o que ainda me acontece;

tenho 3 redes, e deste servidor eu estou indo para todas elas por qualquer protocolo (443, 3389, 80, 8080, 22, 21, 53) mas quando tento da uma outra rede entrar nessa onde este fw esta sendo instalado nao tenho exito, nem mesmo consigo pingar as estações. um exemplo :

de 192.168.1.0/24 para 192.168.2.0/24 (3389) OK
de 192.168.1.0/24 para 192.168.3.0/24 (3389) OK
PING de 192.168.1.0/24 para 192.168.2.0/24 OK

de 192.168.2.0/24 para 192.168.1.0/24 (3389) NAO VAI
de 192.168.3.0/24 para 192.168.1.0/24 (3389) NAO VAI
PING de 192.168.2.0/24 para 192.168.1.0/24 NAO VAI

Eu tenho uma regra que "teoricamente" me permitiria acessar, veja :

$IPT -A FORWARD -p tcp -d 192.168.1.254 --dport 3389 -j ACCEPT

----------
E sobre o PING, será que não estou conseguindo PINGAR por causa destas regras (DROP) ?

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
$IPT -t filter -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$IPT -t filter -A INPUT -p icmp -m state --state INVALID -j DROP
$IPT -t filter -A OUTPUT -p icmp -m state --state INVALID -j DROP
$IPT -t filter -A FORWARD -p icmp -m state --state INVALID -j DROP

Obrigado pela atenção !

Abrasss











Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts