Como funciona o roteamento

Iniciado por doidopb, 08 de Abril de 2012, 17:07

tópico anterior - próximo tópico

doidopb

Oi gente... vamos supor que eu tenho um modem da velox roteado 192.168.254.254/24.

Ligo esse modem na eth1 (192.168.254.1/24) e minha rede local na eth0 (10.0.0.1/24)

Ai eu coloco o ip_forward = 1 e dou um iptables -t nat -o eth1 -j MASQUERADE.

Ai o compartilhamento funciona. Minha dúvida é como funciona o roteamento nesse caso??? Eu sei que tudo que sair pela eth1 vai ser mascarado, mas como o sistema sabe que tem que procurar a internet na eth1???? E como é feito essa busca???

Grato

raidicar

Doidopb, a resposta depende do quando quer se aprofundar.
Pesquise sobre NAT.
Eis um resumo que lhe fará entender o comando iptables -t nat -o eth1 -j MASQUERADE.
http://pt.wikipedia.org/wiki/Network_address_translation
http://imasters.com.br/artigo/1904/redes/afinal_o_que_e_nat/
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

doidopb

Citação de: raidicar online 08 de Abril de 2012, 17:23
Doidopb, a resposta depende do quando quer se aprofundar.
Pesquise sobre NAT.
Eis um resumo que lhe fará entender o comando iptables -t nat -o eth1 -j MASQUERADE.
http://pt.wikipedia.org/wiki/Network_address_translation
http://imasters.com.br/artigo/1904/redes/afinal_o_que_e_nat/

Grato pela resposta amigo. Li esses 2 links e pude confirmar minha noção de NAT. Mas a minha dúvida sobre o roteamento em si ainda continua, vou explicar como surgiu a mesma.

Peguei um script de um servidor que possui 2 links de net na eth0 e eth1... e na eth2 roda a rede local.
O adm do mesmo, colocou um  MASQUERADING para o -o etho e um para o -o eth1.

Isso me fez pensar ... por qual das 2 placas as máquinas tentam sair para achar a internet? Como funciona o roteamento desses pacotes????

raidicar

Se vc tem dois links e duas placas de rede e mais uma placa de rede alimentando a rede e quer saber por qual link o cliente está saindo ou como esse roteamento está funcionando. A resposta é depende.
Depende do que fez o adm da sua rede;

Pode ter Juntado os dois links.
Pode ter criado uma redundância de Links (Principal cai, o outro assume).
Pode estar fazendo o balanceamento e a redundância dos links.
Pode até estar tudo errado e apenas um link estar realmente trabalhando.
Nesse caso, tem bem mais coisa do que apenas uma regra, se você me disser que tem dois links ativos em placas de redes distintas e o servidor distribui de maneira inteligente as requisições para links diferentes de acordo com a utilização de cada ou qualquer outra regra com apenas dois comandos, tem coisa errada ai e apenas um link esta trabalhando para os clientes da rede interna.

Existe um material bem explicativo (ingles) de como funciona e como configurar dois links para trabalhar com a rede interna.
http://tech.gaeatimes.com/index.php/archive/how-to-load-balancing-failover-with-dual-multi-wan-adsl-cable-connections-on-linux/

Pesquise no google sobre "linux balanceamento de link" e "linux balanceamento de carga"
encontrará scripts bem comentados e outros tutoriais explicando como fazer, como funciona, etc.
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

doidopb

Citação de: raidicar online 08 de Abril de 2012, 17:54
Se vc tem dois links e duas placas de rede e mais uma placa de rede alimentando a rede e quer saber por qual link o cliente está saindo ou como esse roteamento está funcionando. A resposta é depende.
Depende do que fez o adm da sua rede;

Pode ter Juntado os dois links.
Pode ter criado uma redundância de Links (Principal cai, o outro assume).
Pode estar fazendo o balanceamento e a redundância dos links.
Pode até estar tudo errado e apenas um link estar realmente trabalhando.
Nesse caso, tem bem mais coisa do que apenas uma regra, se você me disser que tem dois links ativos em placas de redes distintas e o servidor distribui de maneira inteligente as requisições para links diferentes de acordo com a utilização de cada ou qualquer outra regra com apenas dois comandos, tem coisa errada ai e apenas um link esta trabalhando para os clientes da rede interna.

Existe um material bem explicativo (ingles) de como funciona e como configurar dois links para trabalhar com a rede interna.
http://tech.gaeatimes.com/index.php/archive/how-to-load-balancing-failover-with-dual-multi-wan-adsl-cable-connections-on-linux/

Pesquise no google sobre "linux balanceamento de link" e "linux balanceamento de carga"
encontrará scripts bem comentados e outros tutoriais explicando como fazer, como funciona, etc.

Entendo e concordo contigo raidicar, inclusive amanha estarei analisando melhor esse server.  O lance é que essa leitura me gerou uma baita dúvida. Suponha que o cara tem 2 link e simplesmente colocou o MASQUERADE no -o eth0 e no -o eth1... habilitando o forward claro.

Qual das placas o linux "sairia para achar a net"??? PS: Ambas estariam ligadas a modens VELOX roteados!

raidicar

bom, o melhor jeito de descobrir (alem do comando traceroute) é ir até um micro da rede e acessar sites que lhe informa qual o seu ip.
basta ir no google e digitar "meu ip".

Esse site também mostra o seu IP.
http://meuip.datahouse.com.br/

Você vai receber como resposta o IP da eth do servidor por onde está saindo pra internet, assim saberá qual modem esta fornecendo a placa de rede.
Acredito que receberá sempre o mesmo ip nos testes por que devem estar saindo pelo mesmo link.

Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

zekkerj

Citarcomo o sistema sabe que tem que procurar a internet na eth1?
Pelo default gateway configurado, que aponta para o endereço do modem.

Por isso que quando tem 2 placas de rede vc não pode configurar default gateway nas duas.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D