[Fedora-users-br] iptables

Otto Fuchshuber Filho o2to2f em gmail.com
Sex Out 5 18:53:11 UTC 2007


Pois ainda não sei como está sendo possível funcionar.  Acompanhe
por esta figura:
http://www.linuxhomenetworking.com/wiki/images/f/f0/Iptables.gif.

Usando teu exemplo, tuas regras configuradas e supondo tráfego 
TCP, quando a máquina 192.168.1.7 manda o primeiro pacote SYN 
requisitando conexão com a máquina 192.168.0.1 (roteador Velox), 
o pacote cai na tabela de roteamento do Linux, a qual decide que 
o pacote deve ser enviado para a eth0.  Daí ele passa pela 
FORWARD Chain da filter Table, onde é aceito pela primeira regra 
(source 192.168.1.7, destination anywhere, target ACCEPT), passa 
pela POSTROUTING Chain da nat Table, onde sofre um SNAT assumindo 
o source address 192.168.0.254 e é encaminhado à máquina 
192.168.0.1 pela eth0.

Em resposta ao pacote SYN, a máquina 192.168.0.1 manda um pacote
SYN,ACK para o IP 192.168.0.254, onde o processo de gestão de nat 
verifica que tal pacote está relacionado a um SNAT anterior e 
então troca seu destination address para 192.168.1.7.  Depois o 
pacote SYN,ACK passa pela tabela de roteamento que decide que o 
pacote deve ir para a eth1 e quando chega na FORWARD Chain da 
filter Table, dá match na última regra (source 192.168.0.0/16, 
destination anywhere, target DROP) e é descartado.

Em suma, o three way handshake do TCP não se consuma e a conexão 
entre os IP's 192.168.1.7 e 192.168.0.1 não é estabelecida.  Para 
que isto fosse possível, teria que haver uma regra com target 
ESTABLISHED em algum ponto antes da última regra, permitindo 
respostas a pacotes originados nas redes da eth1.

Mas abstraíndo este fato, vamos ao seu problema: porque você não 
consegue estabelecer conexões com a rede interna a partir da rede 
192.168.0.X.

Não conheço as configurações das máquinas conectadas no router 
ADSL, mas suponho que elas estejam com o default gateway 
apontando para o IP do router.  Daí, pacotes com destination 
address iguais aos IP's das máquinas da rede interna estão indo é 
parar na internet.

Para fazer com que eles cheguem na máquina Linux e sejam roteadas 
para a rede interna, você pode:
- injetar as rotas correspondentes na tabela de roteamento das 
máquinas 192.168.0.X; ou
- supondo que o default gateway da máquina Linux seja o IP do 
router ADSL, mudar o default gateway das máquinas 192.168.0.X 
para 192.168.0.254.
- configurar DNAT no iptables e quando quizer estabelecer 
conexões com a rede interna, enviar as requisições para o IP 
192.168.0.254.

Em qualquer caso, você ainda vai precisar configurar as regras 
correspondentes na FORWARD Chain da filter Table da máquina Linux.

Saudações,
Otto Fuchshuber Filho
o2to2f em gmail.com

Alexandre Singulani escreveu, Em 03-10-2007 23:32:
> So o compartilhamento.....:
> 
> [root em localhost ~]# iptables -t nat -vL
> Chain PREROUTING (policy ACCEPT 330K packets, 21M bytes)
> pkts bytes target     prot opt in     out     source               
> destination
> 
> Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
> pkts bytes target     prot opt in     out     source               
> destination
>    0     0 MASQUERADE  all  --  any    any     anywhere             
> anywhere
> 
> Chain OUTPUT (policy ACCEPT 4749 packets, 421K bytes)
> pkts bytes target     prot opt in     out     source               
> destination
> 
> 
> 
> []s
> 
>> From: Otto Fuchshuber Filho <o2to2f em gmail.com>
>> Reply-To: Lista de discussão voltada para os usuários brasileiros do 
>> Fedora <fedora-users-br em redhat.com>
>> To: Lista de discussão voltada para os usuários brasileiros do Fedora 
>> <fedora-users-br em redhat.com>
>> Subject: Re: [Fedora-users-br] iptables
>> Date: Wed, 03 Oct 2007 23:25:20 -0300
>>
>> Então só pode ter nat configurado na máquina Linux. Manda o resultado 
>> do comando iptables -t nat -vL
>>
>> Saudações,
>> Otto Fuchshuber Filho
>> o2to2f em gmail.com
>>
>> Alexandre Singulani escreveu, Em 03-10-2007 22:22:
>>> isso mesmo.... eth0 no roteador velox com mais 3 porta e maquinas 
>>> ligadas nelas
>>>
>>> eth1 pro hub e depois pra rede..... ai vai variando.. 192.168.1.xxx 
>>> 192.168.3.xxx, etc...
>>>
>>> se eu sentar numa maquina com o ip 192.168.1.7 e acessar 192.168.0.1 
>>> q é o modem...ele acessa
>>>
>>>
>>>
>>>
>>>
>>>     
>>> ------------------------------------------------------------------------
>>>     From:  /Otto Fuchshuber Filho <o2to2f em gmail.com>/
>>>     Reply-To:  /Lista de discussão voltada para os usuários brasileiros
>>>     do Fedora <fedora-users-br em redhat.com>/
>>>     To:  /Lista de discussão voltada para os usuários brasileiros do
>>>     Fedora <fedora-users-br em redhat.com>/
>>>     Subject:  /Re: [Fedora-users-br] iptables/
>>>     Date:  /Wed, 03 Oct 2007 22:15:11 -0300/
>>>      >Tem coisa aí que não está fazendo sentido para mim pois tuas 
>>> regras
>>>      >permitem que pacotes com endereço de origem iguais aos da coluna
>>>      >source cheguem até a subnet 192.168.0.X (por causa do in=any,
>>>      >out=any e destination=anywhere) mas não há regra que permita 
>>> pacotes
>>>      >com endereço de origem 192.168.0.X alcançar as máquinas 
>>> 192.168.1.X,
>>>      >3.X, 5.X, etc, uma vez que a última regra (DROP) inviabiliza isto.
>>>      >Em suma, pacotes gerados nas redes 1.X, 3.X, 5.X, etc, chegam à 
>>> rede
>>>      >192.168.0.X mas as respostas não voltam, impedindo assim o
>>>      >estabelecimento de conexões, mas isto você diz que consegue.
>>>      >Talvez eu não tenha entendido direito a topologia da rede.  O que
>>>      >entendi foi que a eth0 da máquina Linux está ligada no roteador
>>>      >Velox, no qual também existem portas RJ45 (switch built-in no
>>>      >roteador) onde existem outras máquinas.  Já a eth1 está 
>>> conectada a
>>>      >um outro switch (ou hub) no qual estão também ligadas as máquinas
>>>      >192.168.1.X, 3.X, 5.X, etc.  É isto?
>>>      >
>>>      >Saudações,
>>>      >Otto Fuchshuber Filho
>>>      >o2to2f em gmail.com
>>>      >
>>>      >Alexandre Singulani escreveu, Em 03-10-2007 13:13:
>>>      >>Não tem como eu retornar esse comando, pois o servidor fica em 
>>> uma
>>>      >>empresa que so visito uma vez por semana. infelizmente nao 
>>> consigo
>>>      >>acesso remoto lá, pois a internet é via satelite (LIXO).
>>>      >>Mas tem alguma ideia de como proceder??
>>>      >>Aqui tenho outro servidor quase na mesma situacao. eth0 no 
>>> roteador
>>>      >>velox que joga pro servidor linux e mais 3 maquinas. eth1 pro
>>>      >>restante da rede.
>>>      >>
>>>      >>
>>>      >>roteador velox(192.168.0.1)  ---> Servidor Linux (192.168.0.254)
>>>      >>esse roteador joga pra mais 3 máquinas na faixa 192.168.0.xxx
>>>      >>
>>>      >>eth1 do servidor (192.168.1.1, 192.168.3.1,...) ---> rede interna
>>>      >>(192.168.1.xxx)
>>>      >>
>>>      >>So pra explicar, na eth1 uso vários aliases pra separar as redes
>>>      >>internas, faço isso para as maquinas de algumas salas nao 
>>> acessarem
>>>      >>outras.
>>>      >>
>>>      >>se eu tento acessar o modem (192.168.0.1) ou outra maquina que 
>>> esta
>>>      >>nele (192.168.0.3) de alguma maquina da faixa 192.168.3.xxx,
>>>      >>consigo normalmente. Agora quando faço o inverso, ele nao acessa.
>>>      >>
>>>      >>aqui vou postar o resultado do comando:
>>>      >>
>>>      >>
>>>      >>[root em localhost etc]# iptables -vL
>>>      >>Chain INPUT (policy ACCEPT 3557K packets, 2169M bytes)
>>>      >>pkts bytes target     prot opt in     out     
>>> source                   >>destination
>>>      >>
>>>      >>Chain FORWARD (policy ACCEPT 7392K packets, 7077M bytes)
>>>      >>pkts bytes target     prot opt in     out     
>>> source                   >>destination
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.1.7               >>anywhere            MAC 00:0E:A6:6E:11:BA
>>>      >>  362 97155 ACCEPT     all  --  any    any     
>>> 192.168.1.31             >>anywhere            MAC 00:13:D4:42:A9:CD
>>>      >>   61  3564 ACCEPT     all  --  any    any     
>>> 192.168.3.233             >>anywhere            MAC 00:D0:09:FE:FE:3E
>>>      >>  221 19694 ACCEPT     all  --  any    any     
>>> 192.168.5.253             >>anywhere            MAC 00:18:E7:03:B6:16
>>>      >>  726  147K ACCEPT     all  --  any    any     
>>> 192.168.7.229             >>anywhere            MAC 00:18:E7:0E:2F:37
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.9.221             >>anywhere            MAC 00:19:21:87:1B:F1
>>>      >>    5   377 ACCEPT     all  --  any    any     
>>> 192.168.9.25             >>anywhere            MAC 00:11:5B:43:BC:97
>>>      >>  495 92525 ACCEPT     all  --  any    any     
>>> 192.168.11.4             >>anywhere            MAC 00:16:EC:2C:74:41
>>>      >>   50  2470 ACCEPT     all  --  any    any     
>>> 192.168.11.6             >>anywhere            MAC 00:0A:E6:E7:51:F6
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.13.11             >>anywhere            MAC 00:18:F3:DD:00:F3
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.13.13             >>anywhere            MAC 00:90:F5:56:26:01
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.15.130           >>anywhere            MAC 00:01:6C:3B:9B:0B
>>>      >>   79  5896 ACCEPT     all  --  any    any     
>>> 192.168.15.132           >>anywhere            MAC 00:0A:E6:65:E3:7E
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.15.133           >>anywhere            MAC 00:16:EC:34:DE:55
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.15.134           >>anywhere            MAC 00:19:B9:6D:F0:16
>>>      >>   20   850 ACCEPT     all  --  any    any     
>>> 192.168.17.75             >>anywhere            MAC 00:11:D8:3D:51:8C
>>>      >>  117 10546 ACCEPT     all  --  any    any     
>>> 192.168.19.9             >>anywhere            MAC 00:0C:6E:A2:4A:88
>>>      >>  824 98903 ACCEPT     all  --  any    any     
>>> 192.168.19.38             >>anywhere            MAC 00:11:5B:F0:F2:70
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.19.40             >>anywhere            MAC 00:1A:4D:A1:C0:67
>>>      >>   32  1429 ACCEPT     all  --  any    any     
>>> 192.168.21.215           >>anywhere            MAC 00:19:21:8D:AE:CD
>>>      >>    4   263 ACCEPT     all  --  any    any     
>>> 192.168.23.3             >>anywhere            MAC 00:0A:E6:D7:8E:48
>>>      >>  226 33213 ACCEPT     all  --  any    any     
>>> 192.168.23.8             >>anywhere            MAC 00:13:D4:31:C4:BF
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.23.12             >>anywhere            MAC 00:40:33:A1:47:D1
>>>      >>    3   120 ACCEPT     all  --  any    any     
>>> 192.168.23.232           >>anywhere            MAC 00:14:2A:FE:B2:6C
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.23.7             >>anywhere            MAC 00:08:54:20:7C:95
>>>      >>  607  206K ACCEPT     all  --  any    any     
>>> 192.168.25.71             >>anywhere            MAC 00:08:0D:95:A2:C5
>>>      >>   21   885 ACCEPT     all  --  any    any     
>>> 192.168.25.192           >>anywhere            MAC 00:30:21:13:94:E4
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.27.187           >>anywhere            MAC 00:13:A9:4C:4E:D9
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.29.123           >>anywhere            MAC 00:16:36:C7:BD:34
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.31.13             >>anywhere            MAC 00:11:D8:13:62:D3
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.33.33             >>anywhere            MAC 00:40:F4:F4:00:96
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.35.15             >>anywhere            MAC 00:C0:9F:CB:16:7C
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.35.51             >>anywhere            MAC 00:08:54:B0:5B:1B
>>>      >>   22   915 ACCEPT     all  --  any    any     
>>> 192.168.37.62             >>anywhere            MAC 00:60:6E:37:7A:AE
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.37.14             >>anywhere            MAC 00:40:CA:DD:35:42
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.41.10             >>anywhere            MAC 00:40:F4:58:DB:90
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.43.17             >>anywhere            MAC 00:1D:60:03:D4:80
>>>      >>    0     0 ACCEPT     all  --  any    any     
>>> 192.168.43.18             >>anywhere            MAC 00:19:21:16:5F:DA
>>>      >>  288 24919 ACCEPT     all  --  any    any     
>>> 192.168.43.19             >>anywhere            MAC 00:19:21:15:9D:C0
>>>      >>    0     0 DROP       all  --  any    any     
>>> 192.168.0.0/16           >>anywhere
>>>      >>
>>>      >>Chain OUTPUT (policy ACCEPT 4053K packets, 4208M bytes)
>>>      >>pkts bytes target     prot opt in     out     
>>> source                   >>destination
>>>      >>
>>>      >>
>>>      >>
>>>      >>
>>>      >>>From: Otto Fuchshuber Filho <o2to2f em gmail.com>
>>>      >>>Reply-To: Lista de discussão voltada para os usuários 
>>> brasileiros
>>>      >>>do Fedora <fedora-users-br em redhat.com>
>>>      >>>To: Lista de discussão voltada para os usuários brasileiros do
>>>      >>>Fedora <fedora-users-br em redhat.com>
>>>      >>>Subject: Re: [Fedora-users-br] iptables
>>>      >>>Date: Tue, 02 Oct 2007 23:00:54 -0300
>>>      >>>
>>>      >>>
>>>      >>>Posta o resultado do comando iptables -vL
>>>      >>>
>>>      >>>Saudações,
>>>      >>>Otto Fuchshuber Filho
>>>      >>>o2to2f em gmail.com
>>>      >>>
>>>      >>>Alexandre Singulani escreveu, Em 02-10-2007 22:48:
>>>      >>>>Pessoal, tenho um servidor de internet rodando e to com um
>>>      >>>>pequeno problema. O servidor tem duas placas de rede, uma está
>>>      >>>>conectada em um Win2003 recebendo a internet e a outra 
>>> ligada num
>>>      >>>>switch distribuindo a internet pro resto da rede. Tenho uma 
>>> regra
>>>      >>>>básica no iptables, so mesmo pra compartilhar a internet, mais
>>>      >>>>nada. Quando estou na rede e pingo o win2003(que esta em outra
>>>      >>>>faixa de ip), ele aceita. Consigo inclusive acessar a 
>>> maquina com
>>>      >>>>win2003 pela rede. Agora quando faço o inverso, nao obtenho
>>>      >>>>exito. Não consigo acessar a rede pelo 2003 de forma alguma. so
>>>      >>>>pra demonstrar:
>>>      >>>>
>>>      >>>>eth0(192.168.1.2) ----> ligada no Win2003 (192.168.1.1)
>>>      >>>>eth1(192.168.0.1)---> ligada no switch que vai pro restante da
>>>      >>>>rede (faixa de ip 192.168.0.xxx)
>>>      >>>>
>>>      >>>>tentei algumas regras pra fazer a ligacao de uma faixa com 
>>> outra,
>>>      >>>>mas nao consegui, alguem pode me ajudar???
>>>      >>>>
>>>      >>>>
>>>      >>>>[]s
>>>      >>>>
>>>      
>>> >>>>_________________________________________________________________
>>>      >>>>Descubra como mandar Torpedos do Messenger para o celular!
>>>      >>>>http://mobile.msn.com/
>>>      >>>>
>>>      >>>>--
>>>      >>>>Fedora-users-br mailing list
>>>      >>>>Fedora-users-br em redhat.com
>>>      >>>>https://www.redhat.com/mailman/listinfo/fedora-users-br
>>>      >>>>
>>>      >>>
>>>      >>>--
>>>      >>>Fedora-users-br mailing list
>>>      >>>Fedora-users-br em redhat.com
>>>      >>>https://www.redhat.com/mailman/listinfo/fedora-users-br
>>>      >>
>>>      >>_________________________________________________________________
>>>      >>Descubra como mandar Torpedos do Messenger para o celular!
>>>      >>http://mobile.msn.com/
>>>      >>
>>>      >>--
>>>      >>Fedora-users-br mailing list
>>>      >>Fedora-users-br em redhat.com
>>>      >>https://www.redhat.com/mailman/listinfo/fedora-users-br
>>>      >>
>>>      >
>>>      >--
>>>      >Fedora-users-br mailing list
>>>      >Fedora-users-br em redhat.com
>>>      >https://www.redhat.com/mailman/listinfo/fedora-users-br
>>>
>>>
>>> ------------------------------------------------------------------------
>>> Mande Torpedos do seu messsenger para o celular da galera! Clique 
>>> aqui e descubra como! <http://g.msn.com/8HMABRBR/2740??PS=47575>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> -- 
>>> Fedora-users-br mailing list
>>> Fedora-users-br em redhat.com
>>> https://www.redhat.com/mailman/listinfo/fedora-users-br
>>
>> -- 
>> Fedora-users-br mailing list
>> Fedora-users-br em redhat.com
>> https://www.redhat.com/mailman/listinfo/fedora-users-br
> 
> _________________________________________________________________
> Verificador de Segurança do Windows Live OneCare: verifique já a 
> segurança do seu PC! http://onecare.live.com/site/pt-br/default.htm
> 
> -- 
> Fedora-users-br mailing list
> Fedora-users-br em redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-users-br
> 






Mais detalhes sobre a lista de discussão Fedora-users-br