Испытуемый: FreeBSD 7.2 amd64, mpd5.3, ipfirewall_nat, netgraph_nat.Сначала столкнулся с проблемой создания нескольких линков pptp средствами mpd на один сервер провайдера, соответственно на ng* selfip разные, а peerip одинаковые, при этом оказалось что multilink у провайдера не поддерживается. Об этом написал здесь: http://www.opennet.me/openforum/vsluhforumID1/87358.html. Вопрос не решился.
Теперь немного поменял схему и решил не самим серваком поднимать pptp интерфейсы, а машинами, установленными за ним за натом. В тестах использовал ipfirewall_nat (без дополнительных опций, только ip 1.1.1.1) и netgraph_nat (без дополнительных опций, только setaliasaddr 1.1.1.1 и с/без settarget 1.1.1.1) - в обоих случаях неудачно.
В ходе тестов замечено, что если один пользователь через нат пытается соединиться - успешно. Соединяется через этот же нат следующий - подключается, но при этом у предыдущего перестает работать: тоннель немного держится и падает. При этом в попытках redial дальше обмена LCP conf не продвигается. После продолжительных тестов, в которой участвовали виндовая машинка и линукс (OpenSuse с демоном pppd), при различных вариациях создания линков pptp (линух-винда, линух-испытуемая фря, винда-испытуемая фря) пришел к выводу, что через один нат непроходят несколько pptp-соединений, а точнее gre не проходит. И это меня также огорчило.Если у кого-то на фре подобных проблем не возникало, не подскажите рабочих вариантов в моем случае?
ПС: не думаю что у меня ошибка в конфигах, но если у кого-то вызовет интерес выложу.
СПС.
>Испытуемый: FreeBSD 7.2 amd64, mpd5.3, ipfirewall_nat, netgraph_nat.
> ПОСКИПАНО
>Сначала столкнулся с проблемой создания нескольких линков pptp средствами mpd на один
>сервер провайдера, соответственно на ng* selfip разные, а peerip одинаковые, при
>ПС: не думаю что у меня ошибка в конфигах, но если у
>кого-то вызовет интерес выложу.
>
>СПС.Без какой либо конкретики могу предположить откуда растут ноги у проблемы. Дело в том, что для правильной работы pptp тоннеля требуется корректная работа NAT c протоколом GRE. Большинство реализаций отлично работают до той поры, пока не требуется пробросить несколько GRE соединений с одним и тем же IP адресом. Как только возникает подобная (как у вас) ситуация, обычно работает только одно соединение. Остальные нормально соединяются, но при этом что либо передать не в состоянии. Единственная реализация NAT под FreeBSD, которая справляется с подобной задачей это старый добрый NATD. Все остальные PF, IPFILTER, KERNEL NAT, NG_NAT - пасуют. Так что попробуйте
natd_enable="YES"
natd_interface="вашвнешнийинтерфейс"У меня работает еще с FreeBSD 4
>[оверквотинг удален]
>же IP адресом. Как только возникает подобная (как у вас) ситуация,
>обычно работает только одно соединение. Остальные нормально соединяются, но при
>этом что либо передать не в состоянии. Единственная реализация NAT под
>FreeBSD, которая справляется с подобной задачей это старый добрый NATD. Все
>остальные PF, IPFILTER, KERNEL NAT, NG_NAT - пасуют. Так что попробуйте
>
>natd_enable="YES"
>natd_interface="вашвнешнийинтерфейс"
>
>У меня работает еще с FreeBSD 4Вы не правы.
Прекрасно работает на FreeBSD 7.2 amd64 с kernel nat.
В /boot/loader.conf надо добавить (чтобы модуль при загрузке подгружался):
alias_pptp_load="YES"Можно загрузить модуль через kldload и проверить ...
>[оверквотинг удален]
>>natd_interface="вашвнешнийинтерфейс"
>>
>>У меня работает еще с FreeBSD 4
>
>Вы не правы.
>Прекрасно работает на FreeBSD 7.2 amd64 с kernel nat.
>В /boot/loader.conf надо добавить (чтобы модуль при загрузке подгружался):
>alias_pptp_load="YES"
>
>Можно загрузить модуль через kldload и проверить ...Когдато 2 дня потратил пытаясь завести :(. Писал сюда, http://www.opennet.me/openforum/vsluhforumID1/85255.html, только что обнаружил там ваш ответ :) . В версии 7.1 модуля видимо еще небыло, либо не нашел, обязательно попробую, спасибо !
Я вчера как раз подумал про стандартный демон во фре natd, а также мне показалось, что если ноду ng_nat привязывать не к ноде ng_ipfw как я делал, а к ноде ng_iface - тоже должно получится. А если уж есть alias_pptp_load, тогда замечательно.