Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - [решено] MPD и настройки bundle

Ответить
Настройки темы
FreeBSD - [решено] MPD и настройки bundle

Старожил


Сообщения: 341
Благодарности: 128


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Доброе время суток!
Сразу скажу - ни гугль, ни opennet с налета не ответили.
Кратко конфигурация и ТЗ:
Есть шлюз под FreeBSD 7 current. на нем крутится MPD (3.18), обеспечивает VPN подключения. Пользователей немного (около 10), поэтому радиусов и т.п. нет - родные mpd.conf, mpd.secret, mpd.links.
Все это работает прелестно, но... Надо конкретным пользователям отдавать конкретные сервера ДНС в зависимости от логина. Почитал man на mpd, вроде как "set bundle authname bla-bla" должен привязывать конкреный узел пользователю. Пытаюсь сделать так (mpd.conf):
Код: Выделить весь код
default:
        load vpn00
        load vpn01
        load vpn02
        load vpn03
.....
vpn00:
        new -i ng5 vpn00 vpn00
        load vpn_standart

vpn01:
        new -i ng6 vpn01 vpn01
        load vpn_standart

vpn02:
        new -i ng7 vpn02 vpn02
        load vpn_standart
        set bundle authname "Oleg_Sch"
        set ipcp dns 192.168.0.2 192.168.0.1

vpn03:
        new -i ng8 vpn03 vpn03
        load vpn_standart

vpn_standart:
        set iface disable on-demand
        set bundle enable multilink
        set link yes acfcomp protocomp
#Требуем chap авторизации
        set link no pap chap
        set link enable chap
        set link keep-alive 60 180
        set ipcp yes vjcomp
#Устанавливаем DNS и Wins
        set ipcp dns здесь_ДНСы_моего_провайдера
        set iface enable proxy-arp
#Включаем компрессию данных
        set bundle enable compression
#Включаем компрессию данных, совсестимую с Microsoft-клиентами, должно быть вкомпилено в ядро
        set ccp yes mppc
#Включаем шифрование, совместимое с Microsoft-клиентами, должно быть вкомпилено в ядро
        set ccp yes mpp-e40
        set ccp yes mpp-e56
        set ccp yes mpp-e128
        set ccp yes mpp-stateless
        #set bundle yes crypt-reqd

#Разрешаем входящие соединения
        set pptp enable incoming
        set pptp disable originate
#Проблема с потерей пакетов в виндовозном клиенте
        set pptp disable windowing
        set iface enable tcpmssfix
        set iface mtu 1500
        set link mtu 1500
Пытаюсь подключиться со своим логином (должно привязаться к vpn02 и дать отдельные ДНСы), не получается. Все равно попадаю на bundle vpn00 на ng5, т.е. не могу сделать "тонкую" настройку под конкретного пользователя.
У кого-нибудь будут соображения ?

-------
http://7zsfx.info


Отправлено: 14:16, 21-01-2008

 

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


vpn02:
new -i ng7 vpn02 vpn02
load vpn_standart
set bundle authname "Oleg_Sch"
set ipcp dns 192.168.0.2 192.168.0.1

Как видно по твоему конфигу у тебя вообще не присваиваются IP адреса... или может быть они в другом месте у тебя присваиваются ..?
set ipcp ranges 192.168.50.1/24 192.168.50.52/24 - примерно так - этот параметр можно указать либо отдельно для каждого бундла либо в vpn_standart т.е. когда ты будешь знать что у тебя к примеру бундл vpn02 имеет ip 192.168.10.5 ты просто этот IP прибьешь к пользователю в файле mpd.secret

Попробуй для начала прибить этому бундлу отдельный IP...
если что стучи 241093614

Отправлено: 09:15, 25-01-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Старожил


Сообщения: 341
Благодарности: 128

Профиль | Сайт | Отправить PM | Цитировать


Aksel, спасибо за содействие. Наэкспериментировался, ничего не помогло
Пытался вставлять "set bundle authname Oleg_Sch" до "load vpn_standart", пытался в разных вариантах добавить "set ipcp ranges" - бесполезно.

Делаю вывод, что MPD при подключении пользователя находит первый свободные bundle и использует его.
IP у меня на каждого пользователя статические, прописаны в mpd.secret
Вот начало лога одного подключения (vpn00 был занят другим пользователем):
Код: Выделить весь код
mpd: PPTP connection from xx.yy.zz.60:1282
pptp1: attached to connection with xx.yy.zz.60:1282
[vpn01] IFACE: Open event
[vpn01] IPCP: Open event
[vpn01] IPCP: state change Initial --> Starting
[vpn01] IPCP: LayerStart
[vpn01] IPCP: Open event
[vpn01] bundle: OPEN event in state CLOSED
[vpn01] opening link "vpn01"...
[vpn01] link: OPEN event
[vpn01] LCP: Open event
[vpn01] LCP: state change Initial --> Starting
[vpn01] LCP: LayerStart
[vpn01] device: OPEN event in state DOWN
[vpn01] attaching to peer's outgoing call
[vpn01] device is now in state OPENING
[vpn01] device: UP event in state OPENING
[vpn01] device is now in state UP
[vpn01] link: UP event
[vpn01] link: origination is remote
[vpn01] LCP: Up event
[vpn01] LCP: state change Starting --> Req-Sent
[vpn01] LCP: phase shift DEAD --> ESTABLISH
[vpn01] LCP: SendConfigReq #5
 ACFCOMP
 PROTOCOMP
 MRU 1500
 MAGICNUM ada52b61
 AUTHPROTO CHAP MSOFTv2
 MP MRRU 1600
 MP SHORTSEQ
 ENDPOINTDISC [802.1] 00 10 7a 10 18 24
pptp1-0: ignoring SetLinkInfo
[vpn01] LCP: rec'd Configure Request #0 link 0 (Req-Sent)
 MRU 1400
 MAGICNUM 7cf0032b
 PROTOCOMP
 ACFCOMP
 CALLBACK
   Not supported
[vpn01] LCP: SendConfigRej #0
 CALLBACK
[vpn01] LCP: rec'd Configure Reject #5 link 0 (Req-Sent)
 MP MRRU 1600
 MP SHORTSEQ
 ENDPOINTDISC [802.1] 00 10 7a 10 18 24
[vpn01] LCP: SendConfigReq #6
 ACFCOMP
 PROTOCOMP
 MRU 1500
 MAGICNUM ada52b61
 AUTHPROTO CHAP MSOFTv2
[vpn01] LCP: rec'd Configure Request #1 link 0 (Req-Sent)
 MRU 1400
 MAGICNUM 7cf0032b
 PROTOCOMP
 ACFCOMP
[vpn01] LCP: SendConfigAck #1
 MRU 1400
 MAGICNUM 7cf0032b
 PROTOCOMP
 ACFCOMP
[vpn01] LCP: state change Req-Sent --> Ack-Sent
[vpn01] LCP: rec'd Configure Ack #6 link 0 (Ack-Sent)
 ACFCOMP
 PROTOCOMP
 MRU 1500
 MAGICNUM ada52b61
 AUTHPROTO CHAP MSOFTv2
[vpn01] LCP: state change Ack-Sent --> Opened
[vpn01] LCP: phase shift ESTABLISH --> AUTHENTICATE
[vpn01] LCP: auth: peer wants nothing, I want CHAP
[vpn01] CHAP: sending CHALLENGE
[vpn01] LCP: LayerUp
[vpn01] LCP: rec'd Ident #2 link 0 (Opened)
 MESG: MSRASV5.10
[vpn01] LCP: rec'd Ident #3 link 0 (Opened)
 MESG: MSRAS-0-MYHOMECOMPUTERNAME
[vpn01] CHAP: rec'd RESPONSE #1
 Name: "Oleg_Sch"
 Peer name: "Oleg_Sch"
 Response is valid
[vpn01] CHAP: sending SUCCESS
[vpn01] LCP: authorization successful
[vpn01] LCP: phase shift AUTHENTICATE --> NETWORK
[vpn01] setting interface ng6 MTU to 1400 bytes
[vpn01] up: 1 link, total bandwidth 64000 bps
[vpn01] IPCP: Up event
[vpn01] IPCP: state change Starting --> Req-Sent
[vpn01] IPCP: SendConfigReq #3
Видно, что ЕЩЕ ДО АВТОРИЗАЦИИ MPD присвоил определенный bundle.
Если сделать так:
Код: Выделить весь код
        new -i ng6 vpn01 vpn01
        set bundle authname Oleg_Sch
        load vpn_standart
        set ipcp dns 192.168.0.2 192.168.0.1
и подключиться к этому bundle (на vpn00 уже сидит другой пользователь, я автоматом попадаю на следующий, на данный момент это vpn01) - DNSы ставятся те, что указаны после load vpn_standart, т.е. переопределение происходит. Только вот как это переопределение (новые ДНС вместо тех, которые в vpn_standart) привязать к имени пользователя... У меня складывается ощущение, что никак

-------
http://7zsfx.info


Отправлено: 10:35, 26-01-2008 | #3


Старожил


Сообщения: 341
Благодарности: 128

Профиль | Сайт | Отправить PM | Цитировать


Два дня не прошли даром. Победил.
Если кому интересно - решение.
Необходим свежий MPD5, т.к. в нем появилась нужная мне команда "set link action"
Вот рабочий конфиг:
Код: Выделить весь код
startup:
        # configure mpd users
        set user Oleg_Sch mypassword admin
        # configure the console
        set console self 127.0.0.1 5007
        set console open
        # configure the web server
        set web self 0.0.0.0 5008
        set web open

default:
        load pptp_server_profile_1
        load pptp_server_profile_2

pptp_server_bundles_common:
        set iface idle 1800
        set iface enable tcpmssfix
        set ipcp yes vjcomp
        set bundle enable compression
        set ccp yes mppc
        set mppc yes e40
        set mppc yes e128
        set mppc yes stateless
        set mppc no compress

pptp_server_links_common:
# Multilink adds some overhead, but gives full 1500 MTU.
        set link enable multilink
        set link yes acfcomp protocomp
        set link no pap chap
        set link enable chap
        set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation.
        set link mtu 1460
        set link enable incoming

pptp_server_profile_1:
        create bundle template P1B
        load pptp_server_bundles_common
        set ipcp dns DNSы_моего_провайдера

        create link template P1L pptp
# Set bundle template to use
        set link action bundle P2B "Oleg_Sch"
        set link action bundle P1B
        load pptp_server_links_common

pptp_server_profile_2:
        create bundle template P2B
        load pptp_server_bundles_common
        set iface enable proxy-arp
        set ipcp dns 192.168.0.2 192.168.0.1
        set ipcp nbns 192.168.0.2 192.168.0.1
        set mppc yes compress

        create link template P2L pptp
# Set bundle template to use
        set link action bundle P2B
        load pptp_server_links_common
Что мы имеем в итоге.
Есть пользователи, которым нужен только инет и есть 2-3 человека, которым нужна и офисная локалка из дома.
Все по умолчанию попадают в profile_1 и используют только инет, а пользователи перечисленные в командах "set link action bundle P2B "username"" - доступ к локалке (внутрение ДНСы, proxy ARP, сжатие данных).
Получилось даже гибче, чем первоначально задумывал.

-------
http://7zsfx.info


Отправлено: 15:31, 27-01-2008 | #4



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - [решено] MPD и настройки bundle

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FreeBSD - MPD PsyDuck Общий по FreeBSD 5 09-03-2009 18:15
FreeBSD - [решено] IPFW+NAT+MPD mss_sarvarbek Общий по FreeBSD 14 27-02-2009 21:11
FreeBSD - [решено] mpd + ipfw. Не работает с внешки mss_sarvarbek Общий по FreeBSD 3 25-02-2009 16:16
FreeBSD - mpd FreeBSD maugli77 Общий по FreeBSD 0 05-04-2008 23:11
Netgraph и MPD Demiurg Общий по FreeBSD 6 25-02-2005 09:26




 
Переход