1

У меня запущен 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

Чтобы подвести итог: я нашел помощь в списке рассылки lartc довольно быстро. Мои окончательные правила ip и маршруты ip следующие:

$ 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

Теперь все идет гладко. :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .