iptables e snatting para diferentes redes

1
                linuxbox (p.q.r.t)
                    |
                    |
 INTERNAL  ------ ABCD ----- INTERNET
(p.q.r.s)                  (m.n.o.k)

O ABCD possui 3 interfaces conectadas ao linuxbox, INTERNAL N / W, INTERNET.

O Linuxbox tem um endereço privado (p.q.r.t). No momento estou cheirando os pacotes do linuxbox para INTERNET no ABCD.

Eu tenho uma pequena dúvida sobre o FTP do linuxbox, já que eu tenho que suportar o ftp do linuxbox para o INTERNAL N / W, bem como na INTERNET.

Como posso corrigir uma regra no iptables presente no ABCD, onde ela pode decidir se o endereço IP de destino do servidor ftp está dentro de N / W INTERNO ou na INTERNET e faz o favor de acordo.

    
por codingfreak 23.12.2009 / 05:09

4 respostas

1

Se o linuxbox (p.q.r.t) e o INTERNAL (p.q.r.s) estão na mesma sub-rede, então você não deve estar acessando o ABCD, pois ele está realmente agindo como um roteador mascarado no cenário que você descreveu. Eu tenho que assumir que o encaminhamento está habilitado no ABCD ou você não estaria acessando a internet de lá, e eu também tenho que assumir que as rotas adequadas estão em vigor ou seus clientes internos não receberão o tráfego de volta.

O que o womble está dizendo é correto, mas se este for cabeado da maneira que deveria ser, então o ftp deve funcionar e, se isso não acontecer, o seu problema provavelmente não é com o ABCD. Você pode adicionar o log do iptables para um tráfego específico para ver se o ABCD é o problema, algo assim:

iptables -A INPUT -p tcp -m tcp --destination-port 21 -j LOG --log-level 7 --log-prefix "FTP Testing"

É claro que você pode limitar os hosts que recebem tráfego se você tiver muito tráfego de FTP em sua rede. Desligue isso depois de terminar, porque ele pode preencher um log muito rápido.

    
por 02.02.2010 / 00:28
0

Se você quiser que uma máquina esteja em um segmento de rede diferente, você deve colocá-la em uma sub-rede IP separada - assim, o roteamento normal funciona muito bem. Se isso realmente não puder ser feito, você pode usar uma técnica chamada "proxy ARP", em que a caixa do gateway ("ABCD") pode fingir ser outras máquinas na rede e responder a solicitações ARP em nome do outro. Eu faço não recomendar isso, a menos que você realmente saiba o que está fazendo, e você deve apenas criar sub-redes separadas (não é como se você tivesse uma falta de espaço RFC1918 para brincar) .

    
por 23.12.2009 / 07:16
0

A regra NAT que você precisa definir é uma regra POSTROUTING (snat).

POSTROUTING significa após o enraizamento, então você pode combinar apenas o pacote que vai para a INTERNET porque suas tabelas de roteamento já decidiram isso.

Algo como:

iptables -t nat -I POSTROUTING -o nomeOfABCDInterfaceGoingToInternet -p tcp etc ...

    
por 23.01.2010 / 11:49
0

Se o ABCD for um dispositivo especializado de roteador / switch, ele deverá funcionar. Basta conectar o servidor de rede interno a uma porta sobressalente. Se, no entanto, o ABCD for um servidor com várias NICs (como parece ser a sua pergunta), então você terá que ponte as NICs juntas.

Você não terá mais dois NICs, mas apenas um dispositivo de ponte em seu lugar que funcionará como um único "NIC". Tudo parece estar na rede p.q.r.0 / 24. Suas regras de firewall devem ser atualizadas para refletir o novo dispositivo (a ponte). Se você precisa restringir o tráfego entre as máquinas no INTERNAL e no linuxbox, então você precisa escrever essas regras. Tenha em mente que o FTP tem dois esquemas de protocolo muito diferentes que você precisa considerar. Quanto à comunicação com a INTERNET, você só precisa alterar as regras que já estão trabalhando para o linuxbox para refletir o novo dispositivo.

BTW, você não deve escolher seus próprios números de rede p.q.r.0. Já existe um intervalo específico para esse tipo de uso. A rede / 16 é 192.168.x.x e parece que você deve usá-la. Leia sobre isso . A rede / 16 permite 2 ^ 16 = 65.536 (menos dois para roteador e endereço de broadcast). 192.168.1 / 8 permite cerca de 256 hosts. Deve haver uma regra que elimine pacotes com endereços de origem RFC1918 .

    
por 22.06.2010 / 02:11