On 18.08.2015 23:19, Yuriy B. Borysov wrote: > Здравствуйте! > > Есть 10.1-RELEASE, на ней поднимаются два pptp соединения (mpd5) к > разным vpn серверам. > К сожалению, сервера выдают IP из одинаковой сети, и удалённый пир > имеют одинаковый. Выглядит это так: > > ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu > 1404 > inet 10.20.21.13 --> 10.20.20.1 netmask 0xffffffff > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu > 1404 > inet 10.20.21.8 --> 10.20.20.1 netmask 0xffffffff > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > > Необходимо выполнять PBR для каждого линка отдельно. Обычный способ > вида > fwd 10.20.20.1 ip from 10.20.21.8 to any > fwd 10.20.20.1 ip from 10.20.21.13 to any > > не срабатывает из-за одинакового удалённого конца туннеля. > > Я правильно понимаю, что указать интерфейс в fwd возможности нет?
Указать интерфейс в fwd нельзя, так как fwd не влияет на роутинг напрямую, а влияет косвенно, заменяя next-hop на указанный IP, а затем ядро определяет исходящий интерфейс по таблице маршрутизации. Но в случае с mpd задачу можно решить иначе: в mpd.conf для первого линка вместо set ipcp ranges 0.0.0.0/0 0.0.0.0/0 написать: set ipcp ranges 0.0.0.0/0 1.1.1.1/0 А для второго: set ipcp ranges 0.0.0.0/0 1.1.1.2/0 тогда вместо inet 10.20.21.13 --> 10.20.20.1 netmask 0xffffffff на первом интерфейсе станет inet 10.20.21.13 --> 1.1.1.1 netmask 0xffffffff и на втором 1.1.1.2 соответственно и fwd на эти адреса решит задачу. Как уже было сказано, адрес удаленной стороны в случае mpd-интерфейсов не очень важен и работать будет.
