В настоящее время у меня установлено два PPPoE-соединения, первое, ppp0
(настроен как шлюз по умолчанию) отлично работает, второй, ppp1
однако, похоже, не направляет трафик в "пользовательскую среду". Если я сделаю ping -I ppp0 google.com
Получаю ответы, делаю то же самое при втором подключении - ping -I ppp1 google.com
приводит к очевидной 100% потере пакетов. Бег tshark -i ppp1
в то же время показывает как запросы ICMP Echo, так и ответы.
ping -I ppp1 google.com
PING google.com (74.125.225.142) from 1.2.3.4 ppp1: 56(84) bytes of data.
^C
--- google.com ping statistics ---
7 packets transmitted, 0 received, 100% packet loss, time 6047ms
Царк работает одновременно
tshark -i ppp1
Capturing on ppp1
8.358744 1.2.3.4 -> 74.125.225.142 ICMP 100 Echo (ping) request id=0x3630, seq=1/256, ttl=64
8.381235 74.125.225.142 -> 1.2.3.4 ICMP 100 Echo (ping) reply id=0x3630, seq=1/256, ttl=57
9.366481 1.2.3.4 -> 74.125.225.142 ICMP 100 Echo (ping) request id=0x3630, seq=2/512, ttl=64
9.388846 74.125.225.142 -> 1.2.3.4 ICMP 100 Echo (ping) reply id=0x3630, seq=2/512, ttl=57
Я думал, что проблема может быть связана с правилами брандмауэра, но правила настроены для ppp+
, так ppp0
и ppp1
следует относиться одинаково (подтверждено iptables -v -L
).
Что я делаю не так?
Нашел ответ здесь: http://blog.meisterbrau.org/2009/03/routing-over-multiple-ppp-accounts.html. По сути, недостаточно успешно установить соединение, необходимо создать отдельную таблицу маршрутизации, даже если второй интерфейс не используется для маршрутизации любого трафика, кроме как к / от себя. На мой взгляд, это немного противоречиво.