разделенная маршрутизация с двумя соединениями PPPoE

1233
foaly

У меня запущен Debian Wheezy Box, который должен функционировать как сервер маршрутизатора / брандмауэра / веб-сервера / samba [...]. У меня есть две учетные записи от моего провайдера: acc1 с одним статическим IP и acc2 с динамическими IP. В коробке есть две сетевые карты, eth0 и eth1. eth0 подключен к моему модему, eth1 к моему коммутатору. eth1: ip: 192.168.2.1 маска сети: 255.255.255.0 подсеть: 192.168.2.0

Я установил dnsmasq, базовые iptables, чтобы разрешить соединения, и оба соединения pppoe; теперь я могу подключить свои устройства дома к коробке Debian.

Там я настроил iproutes для доступа в интернет. Я установил по умолчанию в main значение ppp1 (static), и теперь я хочу направить подсеть 192.168.2.0/24 через 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 - это шлюз, через который соединяются соединения pppoe.

Это не работает. Как только эти настройки вступят в силу, мои клиенты больше не смогут пинговать Интернет или 192.168.2.1. Они могут, однако, пинг 168.95.98.254.

НО, когда я заменяю 192.168.2.0/24 в приведенной выше команде на один из моих клиентских IP-адресов, все работает без сбоев, мой клиент подключается через динамический IP-адрес, в то время как другие все еще используют статический IP-адрес.

Что я пропустил (-понимаю)?

Спасибо за любую помощь!

Вот некоторые выводы:

~$ 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  

Я спрашивал об этом на форумах Debian раньше, но гуру сетей не появилось, поэтому я подумал, что можно попробовать и здесь.

1

1 ответ на вопрос

1
foaly

To wrap this up: I found help on the lartc mailing list pretty quickly. My final ip rules and ip routes are as follows:

$ 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 

all running smoothly now. :)