dividir o roteamento com duas conexões PPPoE

1

Eu tenho um debian wheezy box rodando, que deveria funcionar como servidor router / firewall / webserver / samba [...]. Eu tenho duas contas do meu provedor: acc1 com um IP estático e acc2 com IPs dinâmicos. A caixa tem duas placas ethernet, eth0 e eth1. eth0 está conectado ao meu modem, eth1 ao meu switch. eth1: ip: 192.168.2.1 netmask: sub-rede 255.255.255.0: 192.168.2.0

Eu configurei o dnsmasq, iptables básicos para permitir conexões e conexões pppoe; Agora posso conectar meus dispositivos em casa à caixa debian.

Lá, eu configuro os iproutes para ativar o acesso à internet. Eu configurei o padrão em main para ser ppp1 (estático), e agora eu quero rotear a sub-rede 192.168.2.0/24 até o ppp2.

# ip rule add from 192.168.2.0/24 table Homenet
# ip route add default via 168.95.98.254 dev ppp2 table Homenet

168.95.98.254 é o gateway através do qual as conexões pppoe se conectam.

Isso não funciona. Assim que essas configurações entrarem em vigor, meus clientes não poderão mais ping na internet ou 192.168.2.1. Eles podem, no entanto, pingar 168.95.98.254.

MAS quando eu substituo 192.168.2.0/24 no comando acima por um dos IPs dos meus clientes, tudo funciona sem problemas, meu cliente conectando através de um IP dinâmico, enquanto os outros ainda usam o IP estático.

O que eu perdi (entendi)?

Obrigado por qualquer ajuda!

aqui estão algumas saídas:

~$ sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp2
168.95.98.254   0.0.0.0         255.255.255.255 UH    0      0        0 ppp2
168.95.98.254   0.0.0.0         255.255.255.255 UH    0      0        0 ppp1
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

~$ sudo ip rule list
0:      from all lookup local 
32763:  from 192.168.2.0/24 lookup Homenet 
32764:  from 192.168.2.239 lookup Claire 
32766:  from all lookup main 
32767:  from all lookup default

~$ sudo ip route list table Claire
default via 168.95.98.254 dev ppp2  # this one works! the same on table Homenet works not.

~$ sudo ip route list
default dev ppp2  scope link 
168.95.98.254 dev ppp2  proto kernel  scope link  src xx.xxx.170.105 
168.95.98.254 dev ppp1  proto kernel  scope link  src xxx.xx.85.229 
192.168.2.0/24 dev eth1  proto kernel  scope link  src 192.168.2.1 

Eu perguntei isso nos fóruns debian antes , mas nenhum guru da rede surgiu, então eu pensei que poderia tentar aqui.

    
por foaly 17.03.2014 / 20:41

1 resposta

1

Para finalizar: Encontrei ajuda na lista de discussão do lartc rapidamente. Minhas últimas regras ip e rotas ip são as seguintes:

$ ip rule ls
0:      from all lookup local 
32763:  from all iif ppp2 lookup Homenet 
32764:  from all iif eth1 lookup Homenet 
32766:  from all lookup main 
32767:  from all lookup default

$ ip route ls
default dev ppp1  scope link 
168.95.98.254 dev ppp2  proto kernel  scope link  src w.x.y.z 
168.95.98.254 dev ppp1  proto kernel  scope link  src a.b.c.d 
192.168.2.0/24 dev eth1  proto kernel  scope link  src 192.168.2.1

$ ip route ls table Homenet
default dev ppp2  scope link 
192.168.2.0/24 dev eth1  scope link

tudo funcionando sem problemas agora. :)

    
por 02.04.2014 / 15:42