Потребовалось поднять PPTP(VPN) поверх PPPoE соединения.
Используется mpd5.mpd.conf:
startup:
set user wolong пароль admin
set console self 127.0.0.1 5005
set console open
set web self 0.0.0.0 5006
set web open
default:
load pppoe_client
load pptp_client
pppoe_client:
create bundle static B1
set iface route ип_pptp_сервера
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L1 pppoe
set link action bundle B1
set auth authname "логин pppoe"
set auth password "пароль pppoe"
set link max-redial 0
set link mtu 1460
set link keep-alive 10 60
set pppoe iface nfe0
set pppoe service "Sibirtelecom"
open
pptp_client:
create bundle static B2
set iface route default
#set iface enable tcpmssfix
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L2 pptp
set link action bundle B2
set auth authname "логин pptp сервера"
set auth password "пароль pptp сервера"
set link max-redial 0
set link mtu 1460
set link keep-alive 20 75
set pptp peer ип_pptp_сервера
set pptp disable windowing
open
Идея такая - поднимаем pppoe линк, прописываем его гейт для pptp сервера, соединяемся с ним и прописываем гейт pppoe дефолтным.
Оба интерфейса успешно поднимаются как и задумано, pppoe на ng0, pptp на ng1,
но гейт pptp прописывается принадлежащим ng0, табличка маршрутизации:
Destination Gateway Flags Refs Use Netif Expire
default гейт_pptp UGS 0 5144 ng0
127.0.0.1 127.0.0.1 UH 0 4 lo0
192.168.1.0/24 link#1 UC 0 0 nfe0
192.168.1.255 ff:ff:ff:ff:ff:ff UHLWb 1 77 nfe0
192.168.2.0/24 link#2 UC 0 0 vr0
192.168.2.1 00:02:44:89:e1:67 UHLW 1 2 lo0
192.168.2.2 00:1d:60:23:c7:2b UHLW 1 92263 vr0 1066
192.168.2.255 ff:ff:ff:ff:ff:ff UHLWb 1 75 vr0
гейт_pppoe IP_pppoe_iface UH 1 0 ng0
гейт_pptp гейт_pppoe UGHS 1 152 ng0
Ещё ошибка после поднятия pptp:
[B2] IFACE: Adding IPv4 address to ng1 failed: File exists
Результат - PPTP канал недоступен :(
IP'ы у PPPoE и PPTP соединений разные как и гейты и из разных подсеток.