URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87115
[ Назад ]

Исходное сообщение
"mpd5 как PPPoE-клиент и VPN-сервер одновременно"

Отправлено aleksey_o , 31-Окт-09 09:49 
Приветствую всех.

В настоящий момент есть задача - в небольшом офисе настроить сервер под управлением FreeBSD, так чтобы он выступал в роли VPN-сервера для машин с Windows XP и может быть Vista. При этом провайдер предоставляет доступ в Интернет через DSL-модем.

Вопрос: можно ли использовать mpd5 как PPPoE-клиент и VPN-сервер одновременно на одной машине?

PS: Я искал информацию на этот счет так и не нашел прямого и конкретного ответа.


Содержание

Сообщения в этом обсуждении
"mpd5 как PPPoE-клиент и VPN-сервер одновременно"
Отправлено PavelR , 31-Окт-09 10:09 
>[оверквотинг удален]
>В настоящий момент есть задача - в небольшом офисе настроить сервер под
>управлением FreeBSD, так чтобы он выступал в роли VPN-сервера для машин
>с Windows XP и может быть Vista. При этом провайдер предоставляет
>доступ в Интернет через DSL-модем.
>
>Вопрос: можно ли использовать mpd5 как PPPoE-клиент и VPN-сервер одновременно на одной
>машине?
>
>PS: Я искал информацию на этот счет так и не нашел прямого
>и конкретного ответа.

Можно. у меня mpd5 = vpn-client + vpn-server одновременно.


"mpd5 как PPPoE-клиент и VPN-сервер одновременно"
Отправлено aleksey_o , 31-Окт-09 17:12 
>Можно. у меня mpd5 = vpn-client + vpn-server одновременно.

Получается никаких сложностей нет, это хорошо. Я так понимаю нужно создать две метки сначала подгрузить ту которая подключиться к провайдеру а потом и VPN-сервер?



"mpd5 как PPPoE-клиент и VPN-сервер одновременно"
Отправлено PavelR , 31-Окт-09 18:17 
>>Можно. у меня mpd5 = vpn-client + vpn-server одновременно.
>
>Получается никаких сложностей нет, это хорошо. Я так понимаю нужно создать две
>метки сначала подгрузить ту которая подключиться к провайдеру а потом и
>VPN-сервер?

в общем - да.

сложности могут быть при нестабильном линке к провайдеру и частых подключениях клиентов - тупо ng0 заберет клиент а линк к провайдеру подымется на ngX  что может несколько не состыковаться с файрволлом. Как привязаться к интерфейсу - я не знаю, потребности пока не возникло.

Может быть полезным использование скриптов на событие поднятия интерфейса в самом mpd, и в скрипте добавлять-удалять куски файрволла..


"mpd5 как PPPoE-клиент и VPN-сервер одновременно"
Отправлено aleksey_o , 01-Ноя-09 16:56 
>в общем - да.
>
>сложности могут быть при нестабильном линке к провайдеру и частых подключениях клиентов
>- тупо ng0 заберет клиент а линк к провайдеру подымется на
>ngX  что может несколько не состыковаться с файрволлом. Как привязаться
>к интерфейсу - я не знаю, потребности пока не возникло.
>
>Может быть полезным использование скриптов на событие поднятия интерфейса в самом mpd,
>и в скрипте добавлять-удалять куски файрволла..

Вообще-то у нас в Хабаровске связь оставляет желать лучшего. Поэтому я думаю что придется помучиться... Я хочу освоить pf поэтому буду использовать pfctl там есть много удобных фишек для работы с правилами. Можно будет передавать скрипту ngX интерфейс через который mpd подключился или пере подключился и динамически формировать правила. Конечно помучаемся. Спасибо за совет!

А вообще можно ли "привязать" mpd-клиент к например к ng0 и не морочить себе голову?


"mpd5 как PPPoE-клиент и VPN-сервер одновременно"
Отправлено ws , 01-Ноя-09 17:58 
>А вообще можно ли "привязать" mpd-клиент к например к ng0 и не
>морочить себе голову?

Можно. Где-то так:

default:
    load iface0
    load iface1
    load iface2

iface0:
    new -i ng0 if0 link0
    load pppoe_adsl

iface1:
    new -i ng1 if1 link1
    set ipcp ranges 192.168.1.1/32 192.168.1.2/32
    load pppoe_local

iface2:
    new -i ng2 if2 link2
    set ipcp ranges 192.168.2.1/32 192.168.2.2/32
    load pppoe_local


"mpd5 как PPPoE-клиент и VPN-сервер одновременно"
Отправлено PavelR , 01-Ноя-09 18:12 
>>А вообще можно ли "привязать" mpd-клиент к например к ng0 и не
>>морочить себе голову?

Фишка пятого мпд как раз в том, чтобы не описывать каждый интерфейс отдельно, т.е. в случае большого числа входящих подключений достаточно описать одну секцию load.
В идеологии mpd я не силен, но вполне возможно что можно совместить старый и новый подходы.

Кроме того, скрипту передается параметр имени поднявшегося интерфейса.

>[оверквотинг удален]
>
>iface1:
>    new -i ng1 if1 link1
>    set ipcp ranges 192.168.1.1/32 192.168.1.2/32
>    load pppoe_local
>
>iface2:
>    new -i ng2 if2 link2
>    set ipcp ranges 192.168.2.1/32 192.168.2.2/32
>    load pppoe_local