Comunicação entre redes internas (precisa de NAT?)

1. Comunicação entre redes internas (precisa de NAT?)

Osama Jr.
/bin/laden

(usa Void Linux)

Enviado em 02/02/2018 - 14:03h

É uma pergunta bem noob essa, mas... :)

Tenho o seguinte cenário hipotético:

# Interfaces de rede no gateway
enp1s0 = Link Internet (IP dinâmico fornecido pela operadora)
enp2s0 = Rede 172.16.0.1/24
enp3s0 = Rede 192.168.1.0/24


Sei que pra acesso à internet, preciso fazer NAT dos meus endereços privados. Se eu fizer:

# sysctl -w net.ipv4.ip_forward=1
# iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE


As duas redes acessam a internet numa boa.

Agora como faço pra que as redes privadas 172.x e 192.x se comuniquem entre si? Ou seja, que ambas acessem arquivos compartilhados, impressoras, etc...

Preciso fazer um "NAT interno"?

Lembrando que nesse cenário, as regras de firewall default estão todas em "accept".


  


2. Re: Comunicação entre redes internas (precisa de NAT?)

Buckminster
Buckminster

(usa Debian)

Enviado em 02/02/2018 - 20:41h

https://www.vivaolinux.com.br/topico/Redes/COMO-FAZER-DUAS-REDES-SE-COMUNICAR


http://blog.angelote.com.br/2012/01/aprendendo-a-usar-o-iptables/

"Comunicação entre redes privadas

Podemos nos utilizar dessa regra para fazer duas redes distintas privadas se comunicarem.

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 10.0.0.1

A nossa rede inteira 192.168.0.0 poderá se comunicar com a rede 10.0.0.0, através da alteração do endereço de origem para 10.0.0.1."


3. Re: Comunicação entre redes internas (precisa de NAT?)

Osama Jr.
/bin/laden

(usa Void Linux)

Enviado em 04/02/2018 - 18:29h

Buckminster escreveu:

https://www.vivaolinux.com.br/topico/Redes/COMO-FAZER-DUAS-REDES-SE-COMUNICAR


http://blog.angelote.com.br/2012/01/aprendendo-a-usar-o-iptables/

"Comunicação entre redes privadas

Podemos nos utilizar dessa regra para fazer duas redes distintas privadas se comunicarem.

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 10.0.0.1

A nossa rede inteira 192.168.0.0 poderá se comunicar com a rede 10.0.0.0, através da alteração do endereço de origem para 10.0.0.1."


Então quer dizer que não há como fugir do NAT né!?
Achava que NAT era utilizado apenas quando fosse comunicar os hosts da minha rede interna com a internet.




4. Re: Comunicação entre redes internas (precisa de NAT?)

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/02/2018 - 15:42h

O roteamento é automático se as redes estão diretamente nas interfaces do equipamento, sendo necessário regra de firewall sem nateamento. Para internet é necessário pois os endereços privados não são roteáveis e o NAT possibilita sair com ip público.

Se precisa de NAT o seu problema é roteamento ou de regra.


5. Re: Comunicação entre redes internas (precisa de NAT?)

Osama Jr.
/bin/laden

(usa Void Linux)

Enviado em 05/02/2018 - 16:19h

amarildosertorio escreveu:

O roteamento é automático se as redes estão diretamente nas interfaces do equipamento, sendo necessário regra de firewall sem nateamento. Para internet é necessário pois os endereços privados não são roteáveis e o NAT possibilita sair com ip público.

Se precisa de NAT o seu problema é roteamento ou de regra.


Como esse é um ambiente de testes, o firewall basicamente tá configurado assim:

# Compartilhando a conexao do servidor
sysctl -q -w net.ipv4.ip_forward=1

# Limpeza de regras
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

# Politicas padroes
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# Permite o acesso da LAN a internet
iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE


A tabela de roteamento está assim:

default via xxx.xxx.xxx.xxx dev enp1s0
172.16.0.0/24 dev enp2s0 proto kernel scope link src 172.16.0.1
127.0.0.0/8 dev lo scope link
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.1


Já que internamente não há necessidade de NAT, posso tentar algo do tipo:

# Comunicação entre os hosts da rede 192.x com os da 172.x
# 192.168.1.1 -> enp3s0
ip route add 172.16.0.0/24 via 192.168.1.1


# Comunicação entre os hosts da rede 172.x com os da 192.x
# 172.16.0.1 -> enp2s0
ip route add 192.168.1.0/24 via 172.16.0.1

Essa abordagem tá correta?


6. Re: Comunicação entre redes internas (precisa de NAT?)

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/02/2018 - 16:30h

Como estão no mesmo equipamento essas interfaces já são roteáveis entre si.

# Ativa roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward

REDE1="172.16.0.1/24"
REDE2="192.168.1.0/24"
iptables -A FORWARD -p ALL -s $REDE1 -d $REDE2 -j ACCEPT
iptables -A FORWARD -p ALL -s $REDE2 -d $REDE1 -j ACCEPT


7. Re: Comunicação entre redes internas (precisa de NAT?)

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/02/2018 - 17:39h

Essa maquina é o gateway das redes né?


8. Re: Comunicação entre redes internas (precisa de NAT?)

Osama Jr.
/bin/laden

(usa Void Linux)

Enviado em 05/02/2018 - 18:03h

amarildosertorio escreveu:

Essa maquina é o gateway das redes né?


Sim.

Uma dúvida quanto a questão da regra de FORWARD que você passou,acima.
- Mesmo minhas regras default estando todas em ACCEPT, preciso dessa que você me passou?


Desculpe a "noobice" :D mas é que tô querendo entender direitinho como tudo funciona.



9. Re: Comunicação entre redes internas (precisa de NAT?)

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/02/2018 - 18:05h

INPUT (Pacotes de Entrada) --> Os pacotes são encaminhados para esta chain quando a origem não é o firewall, mas o destino é o firewall.
FORWARD (Pacotes de Passagem) --> No caso da FORWARD os encaminhamentos são feitos quando a origem não é o firewall e o destino também não é o firewall. Isto é, o pacote de dados esta apenas passando pelo firewall.
OUTPUT (Pacotes de Saída) --> Chain responsável pelos pacotes que tem origem no firewall e destino não firewall.

Referência: https://www.vivaolinux.com.br/artigo/Desvendando-as-regras-de-Firewall-Linux-Iptables


10. Re: Comunicação entre redes internas (precisa de NAT?)

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/02/2018 - 18:27h

/bin/laden escreveu:

Uma dúvida quanto a questão da regra de FORWARD que você passou,acima.
- Mesmo minhas regras default estando todas em ACCEPT, preciso dessa que você me passou?


Entendi. Só precisaria se a política padrão fosse DROP.

Vou testar aqui.


11. Re: Comunicação entre redes internas (precisa de NAT?)

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/02/2018 - 19:37h

amarildosertorio escreveu:

/bin/laden escreveu:

Uma dúvida quanto a questão da regra de FORWARD que você passou,acima.
- Mesmo minhas regras default estando todas em ACCEPT, preciso dessa que você me passou?


Entendi. Só precisaria se a política padrão fosse DROP.

Vou testar aqui.


É isso mesmo.

FORWARD ACCEPT
https://imgur.com/a/RHWHm

FORWARD DROP
https://imgur.com/a/EopaG





12. Re: Comunicação entre redes internas (precisa de NAT?)


01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts