Добрый день!Настраиваю связку MPD+RADIUS+POSTGRESQL
Перечитал все найденные материалы на сайте + доки по мпд.
установил мпд, написал конфиги, запустил.
1) настроил виртуальное соединение в вин2к, попробовал работает.
2) попробовал одновременно с двух вин2к зайти, заходит только один, который первее успевает, больше никому не удается зайти пока не отключится первый клиент.
в логах мпд когда один клиент уже висит, а второй хочет подцепиться пишется следующее:
mpd: PPTP connection from 192.168.0.242:1721
pptp1: attached to connection with 192.168.0.242:1721
pptp1: peer's outgoing call request denied
pptp1: got StopCtrlConnRequest: reason=none
pptp1: killing connection with 192.168.0.242:17213) попробовал с вин98 долго думает и отваливается (подозреваю, что не проходит авторизация chap, разрешил в конфиге авторизацию по pap, но безуспешно)
откинул радиус, но проблемы остались прежние.
сеть в которой стоит FreeBSD + mpd 192.168.0.
адреса set ipcp ranges 10.128.1.193/32 10.128.5.100/32 взяты из примера mpd.conf.sample, не совсем понятно насколько это правильно выдавать соединению точка точка адреса из разных сетей, но я пока исправлять не стал, потому, что это у меня стенд и реального интерфейса куда нужно будет давать клиентам доступ пока нету.может быть кто-нибудь знает где собака закопана? :)
Буду премного благодарен!!!mpd.conf
--------------------------------------
radius:
set radius config /etc/radius.conf
set radius retries 3
set radius timeout 3
set radius server localhost testPW 1812 1813
set radius me 192.168.0.6
set ipcp enable radius-ip
set bundle enable radius-auth radius-fallback
set bundle enable radius-acct
set iface enable radius-idle radius-session radius-mtu radius-route
set bundle enable compression
set ccp yes mppc
set ccp enable radiusdefault:
load client0
load client1
load client2
load client3
load client4
load client5
load client6
client_standart:
set iface disable on-demand
set bundle enable multilink
set link yes acfcomp protocomp
# load radius
client0:
new -i ng0 pptp0 pptp0
set ipcp ranges 10.128.1.193/32 10.128.5.100/32
load client_standart
client1:
new -i ng1 pptp1 pptp1
set ipcp ranges 10.128.1.193/32 10.128.5.100/32
load client_standart
{вырезано client2 и т.д. до 6}
#Требуем chap авторизации
# set link no pap chap
set link enable chap
set link enable pap
set link keep-alive 60 180
set ipcp yes vjcomp
set iface enable proxy-arp
set bundle enable compression
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
set bundle yes crypt-reqd
set pptp self 192.168.0.6
set pptp enable incoming
set pptp disable originate
--------------------------------------
mpd.links
pptp0:
set link type pptp
pptp1:
set link type pptp
{вырезано 2 и т.д. до 6}
--------------------------------------
mpd.secret
den 12345 *
--------------------------------------
Мне кажется надо в пересобрать ядро и указать в нём кол-во ppp
действительно
pseudo-device ppp 1
исправил на
pseudo-device ppp 100 # Kernel PPPпересобрал, перегрузился,
пробую, но ситуация не изменилась :(
а какие девайсы поднимаются при поднятии коннекта?
... кажется в ту сторону надо рыть... :)
Извините, я в этом практически не разбираюсь (((
может быть это вам скажет о чем нибудь!!![pptp0] ppp node is "mpd281-pptp0"
[pptp0] using interface ng0
[pptp1] ppp node is "mpd281-pptp1"
[pptp1] using interface ng1
[pptp2] ppp node is "mpd281-pptp2"
[pptp2] using interface ng2
[pptp3] ppp node is "mpd281-pptp3"
[pptp3] using interface ng3
[pptp4] ppp node is "mpd281-pptp4"
[pptp4] using interface ng4
[pptp5] ppp node is "mpd281-pptp5"
[pptp5] using interface ng5
[pptp6] ppp node is "mpd281-pptp6"
[pptp6] using interface ng6
mpd: local IP address for PPTP is 192.168.0.6
[pptp6:pptp6] mpd: PPTP connection from 192.168.0.69:2365
pptp0: attached to connection with 192.168.0.69:2365
[pptp6] IFACE: Open event
[pptp6] IPCP: Open event
[pptp6] IPCP: state change Initial --> Starting
[pptp6] IPCP: LayerStart
[pptp6] IPCP: Open event
[pptp6] bundle: OPEN event in state CLOSED
[pptp6] opening link "pptp6"...
[pptp6] link: OPEN event
[pptp6] LCP: Open event
[pptp6] LCP: state change Initial --> Starting
[pptp6] LCP: LayerStart
[pptp6] device: OPEN event in state DOWN
[pptp6] attaching to peer's outgoing call
[pptp6] device is now in state OPENING
[pptp6] device: UP event in state OPENING
[pptp6] device is now in state UP
[pptp6] link: UP event
[pptp6] link: origination is remote
[pptp6] LCP: Up event
[pptp6] LCP: state change Starting --> Req-Sent
[pptp6] LCP: phase shift DEAD --> ESTABLISH
[pptp6] LCP: SendConfigReq #1
ACFCOMP
PROTOCOMP
MRU 1500
MAGICNUM 277cf435
AUTHPROTO CHAP MSOFTv2
MP MRRU 1600
MP SHORTSEQ
ENDPOINTDISC [802.1] 00 0c 29 5e 45 67
pptp0-0: ignoring SetLinkInfo
[pptp6] LCP: rec'd Configure Request #0 link 0 (Req-Sent)
MAGICNUM 6a62414b
PROTOCOMP
ACFCOMP
CALLBACK
Not supported
MP MRRU 1614
ENDPOINTDISC [LOCAL] b9 f0 9b 0b 01 e9 4c 5f 84 9f ae aa 57 78 c4 2d 00 00 00 0
a
[pptp6] LCP: SendConfigRej #0
CALLBACK
[pptp6] LCP: rec'd Configure Request #1 link 0 (Req-Sent)
MAGICNUM 6a62414b
PROTOCOMP
ACFCOMP
MP MRRU 1614
ENDPOINTDISC [LOCAL] b9 f0 9b 0b 01 e9 4c 5f 84 9f ae aa 57 78 c4 2d 00 00 00 0
a
[pptp6] LCP: SendConfigNak #1
MP MRRU 1600
[pptp6] LCP: rec'd Configure Request #2 link 0 (Req-Sent)
MAGICNUM 6a62414b
PROTOCOMP
ACFCOMP
MP MRRU 1600
ENDPOINTDISC [LOCAL] b9 f0 9b 0b 01 e9 4c 5f 84 9f ae aa 57 78 c4 2d 00 00 00 0
a
[pptp6] LCP: SendConfigAck #2
MAGICNUM 6a62414b
PROTOCOMP
ACFCOMP
MP MRRU 1600
ENDPOINTDISC [LOCAL] b9 f0 9b 0b 01 e9 4c 5f 84 9f ae aa 57 78 c4 2d 00 00 00 0
a
[pptp6] LCP: state change Req-Sent --> Ack-Sent
[pptp6] LCP: SendConfigReq #2
ACFCOMP
PROTOCOMP
MRU 1500
MAGICNUM 277cf435
AUTHPROTO CHAP MSOFTv2
MP MRRU 1600
MP SHORTSEQ
ENDPOINTDISC [802.1] 00 0c 29 5e 45 67
[pptp6] LCP: rec'd Configure Reject #2 link 0 (Ack-Sent)
MP SHORTSEQ
[pptp6] LCP: SendConfigReq #3
ACFCOMP
PROTOCOMP
MRU 1500
MAGICNUM 277cf435
AUTHPROTO CHAP MSOFTv2
MP MRRU 1600
ENDPOINTDISC [802.1] 00 0c 29 5e 45 67
pptp0-0: ignoring SetLinkInfo
[pptp6] LCP: rec'd Configure Ack #3 link 0 (Ack-Sent)
ACFCOMP
PROTOCOMP
MRU 1500
MAGICNUM 277cf435
AUTHPROTO CHAP MSOFTv2
MP MRRU 1600
ENDPOINTDISC [802.1] 00 0c 29 5e 45 67
[pptp6] LCP: state change Ack-Sent --> Opened
[pptp6] LCP: phase shift ESTABLISH --> AUTHENTICATE
[pptp6] LCP: auth: peer wants nothing, I want CHAP
[pptp6] CHAP: sending CHALLENGE
[pptp6] LCP: LayerUp
[pptp6] LCP: rec'd Ident #3 link 0 (Opened)
MESG: MSRASV5.00
[pptp6] LCP: rec'd Ident #4 link 0 (Opened)
MESG: MSRAS-1-DEN
[pptp6] CHAP: rec'd RESPONSE #1
Name: "den"
Peer name: "den"
Response is valid
[pptp6] CHAP: sending SUCCESS
[pptp6] LCP: authorization successful
[pptp6] LCP: phase shift AUTHENTICATE --> NETWORK
[pptp6] setting interface ng6 MTU to 1500 bytes
[pptp6] up: 1 link, total bandwidth 64000 bps
[pptp6] IPCP: Up event
[pptp6] IPCP: state change Starting --> Req-Sent
[pptp6] IPCP: SendConfigReq #1
IPADDR 10.128.1.193
COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
[pptp6] CCP: Open event
[pptp6] CCP: state change Initial --> Starting
[pptp6] CCP: LayerStart
[pptp6] CCP: Up event
[pptp6] CCP: state change Starting --> Req-Sent
[pptp6] CCP: SendConfigReq #1
[pptp6] CCP: Checking wether 40 bits are enabled -> yes
[pptp6] CCP: Checking wether 56 bits are enabled -> no
[pptp6] CCP: Checking wether 128 bits are enabled -> yes
MPPC
0x01000060: MPPE, 40 bit, 128 bit, stateless
[pptp6] CCP: rec'd Configure Request #5 link 0 (Req-Sent)
MPPC
0x010000e1: MPPC MPPE, 40 bit, 56 bit, 128 bit, stateless
[pptp6] CCP: Checking wether 40 bits are acceptable -> yes
[pptp6] CCP: Checking wether 56 bits are acceptable -> no
[pptp6] CCP: Checking wether 128 bits are acceptable -> yes
[pptp6] CCP: SendConfigNak #5
MPPC
0x01000040: MPPE, 128 bit, stateless
[pptp6] IPCP: rec'd Configure Request #6 link 0 (Req-Sent)
IPADDR 0.0.0.0
NAKing with 10.128.5.106
PRIDNS 0.0.0.0
PRINBNS 0.0.0.0
SECDNS 0.0.0.0
SECNBNS 0.0.0.0
[pptp6] IPCP: SendConfigRej #6
PRIDNS 0.0.0.0
PRINBNS 0.0.0.0
SECDNS 0.0.0.0
SECNBNS 0.0.0.0
[pptp6] IPCP: rec'd Configure Reject #1 link 0 (Req-Sent)
COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
[pptp6] IPCP: SendConfigReq #2
IPADDR 10.128.1.193
[pptp6] CCP: rec'd Configure Nak #1 link 0 (Req-Sent)
MPPC
0x01000040: MPPE, 128 bit, stateless
[pptp6] CCP: SendConfigReq #2
[pptp6] CCP: Checking wether 40 bits are enabled -> no
SECDNS 0.0.0.0
[pptp6] CCP: Checking wether 128 bits are enabled -> yes
MPPC
0x01000040: MPPE, 128 bit, stateless
[pptp6] CCP: rec'd Configure Request #7 link 0 (Req-Sent)
MPPC
0x01000040: MPPE, 128 bit, stateless
[pptp6] CCP: Checking wether 128 bits are acceptable -> yes
[pptp6] CCP: SendConfigAck #7
MPPC
0x01000040: MPPE, 128 bit, stateless
[pptp6] CCP: state change Req-Sent --> Ack-Sent
[pptp6] IPCP: rec'd Configure Request #8 link 0 (Req-Sent)
IPADDR 0.0.0.0
NAKing with 10.128.5.106
[pptp6] IPCP: SendConfigNak #8
IPADDR 10.128.5.106
[pptp6] IPCP: rec'd Configure Ack #2 link 0 (Req-Sent)
IPADDR 10.128.1.193
[pptp6] IPCP: state change Req-Sent --> Ack-Rcvd
[pptp6] CCP: rec'd Configure Ack #2 link 0 (Ack-Sent)
MPPC
0x01000040: MPPE, 128 bit, stateless
[pptp6] CCP: state change Ack-Sent --> Opened
[pptp6] CCP: LayerUp
Compress using: MPPE, 128 bit, stateless
Decompress using: MPPE, 128 bit, stateless
[pptp6] setting interface ng6 MTU to 1500 bytes
[pptp6] IPCP: rec'd Configure Request #9 link 0 (Ack-Rcvd)
IPADDR 10.128.5.106
10.128.5.106 is OK
[pptp6] IPCP: SendConfigAck #9
IPADDR 10.128.5.106
[pptp6] IPCP: state change Ack-Rcvd --> Opened
[pptp6] IPCP: LayerUp
10.128.1.193 -> 10.128.5.106
[pptp6] IFACE: Up event
[pptp6] setting interface ng6 MTU to 1500 bytes
[pptp6] exec: /sbin/ifconfig ng6 10.128.1.193 10.128.5.106 netmask 0xffffffff -l
ink0
[pptp6] no interface to proxy arp on for 10.128.5.106
[pptp6] exec: /sbin/route add 10.128.1.193 -iface lo0
[pptp6] IFACE: Up event
я с mpd не работал.... но думаю можно глянуть что творится в /var/run при поднятии коннекта...
>я с mpd не работал.... но думаю можно глянуть что творится в
>/var/run при поднятии коннекта...либо я не вижу как это происходит, либо просто ничего не происходит, т.е. в ничего не меняется (может нужно как то специальным образом смотреть? командой какой-нибудь?)
в /var/log/message есть вот такие строки
Sep 11 15:01:45 xtc /kernel: module_register: module netgraph already exists!
Sep 11 15:01:45 xtc /kernel: linker_file_sysinit "netgraph.ko" failed to register! 17что это означает даже не знаю, но вроде netgraph относится к mpd
может быть из-за этого?
нетграф какие интерфейсы поднимает? ng ? или может скорее gif ? с ними может быть надо подумать? (аналогично ppp)
>нетграф какие интерфейсы поднимает? ng ? или может скорее gif ? с
>ними может быть надо подумать? (аналогично ppp)gif это для тунелирования IP4 & IP6
netgraph поднимает ng, но про них в LINT вообще ничего не сказано
самое главное, что при загрузке mpd ifconfig показывает, что все нтерфейсы ng0 - ng6 созданы, т.е. здесь НАВЕРНО проблем не должно быть...
А зачем тут радиус указан все равно что с ним что без него при таком конфиге.
Хотелось бы увидеть radius.log
>А зачем тут радиус указан все равно что с ним что без
>него при таком конфиге.
>Хотелось бы увидеть radius.logрадиус можно рассматривать как следующий этап настройки системы, сейчас я его совсем отключил, но это не решило проблемы.
В дальнейшем планируется производить авторизацию по Radius + PostgreSQL.
Сейчас хотелось бы просто решить проблему одновременного подключения нескольких клиентов!
Всем откликнувшимся большое спасибо!!! Проблема кривых рук одна из моих самых главных проблем )))Troubleshooting MPD
My configuration doesn't seem to be working as expected.
Make sure your mpd.conf and mpd.links files are formatted properly. Labels must be left-justified, and blank lines must exist between sections to separate them.убрал лишние переносы строк и все заработало!!!!!!!!
уже все обсудили, но я добавлю, у менятож по началу не заводился MPD, оказалось дело в пустых строчках, закоментировал их и все пошло ...
Все же интересно увидеть MPD в связке с радиусом
>Все же интересно увидеть MPD в связке с радиусому меня стоит gnu-radius + пытаюсь завернуть все это дело через PostgreSQL
настраиваю все как написано в статьеhttp://www.opennet.me/base/cisco/radius_postgress.txt.html
имеются некоторые проблемы с авторизацией через SQL, а так вроде все нормально работает.
И еще пока не разобрался имеется ли реальная возможность шейпить трафик при помощи МПД, если кто знает поделитесь плиз!!!!
рискну предположить, что МПД сидит на определенном порту 1723 (у меня лично), так вот и шейпи через ФВ по средствам пипе :)
>рискну предположить, что МПД сидит на определенном порту 1723 (у меня лично),
>так вот и шейпи через ФВ по средствам пипе :)это понятно, просто я копаю в сторону того, умеет ли сама МПД этим заниматься, т.е. охото динамики...
Можно увидеть выдержки из лога радиуса и мпд касательно авторизации через радиус и какой мпд.конф
>Можно увидеть выдержки из лога радиуса и мпд касательно авторизации через радиус
>и какой мпд.конф
radius:
set radius config /etc/radius.conf
set radius retries 3
set radius timeout 3
set radius server localhost testPW 1812 1813
# set radius me 192.168.0.6
# set ipcp enable radius-ip
set bundle enable radius-auth
#radius-fallback
set bundle enable radius-acct
# set iface enable radius-idle radius-session radius-mtu radius-route
# set bundle enable compression
# set ccp yes mppc
# set ccp enable radius
default:
load client0
load client1
load client2
load client3
load client4
load client5
load client6client_standart:
set iface disable on-demand
set bundle enable multilink
set link yes acfcomp protocomp
# load radius
#Требуем chap авторизации
# set link no chap pap
set link enable chap
set link enable pap
load radius
set link keep-alive 60 180
# set ipcp yes vjcomp
#Устанавливаем DNS и Wins
#set ipcp dns 10.128.1.1
#set ipcp nbns 10.128.1.42
#Включаем proxy-arp, чтобы компьютер "видел" без маршрутизации
#корпоративную сеть (по протоколу arp)
set pptp self 192.168.0.6
#Разрешаем входящие соединения
set pptp enable incoming
set pptp disable originate
# load radiusclient0:
#так создается новый интерфейс, воторой параметр - название
#соединения, который этот интерфейс будет использовать (из файла
#mpd.links)
new -i ng0 pptp0 pptp0
#Задается локальный и удаленный ip адреса
set ipcp ranges 10.128.1.193/32 10.128.5.100/32
#Загружаются паремтры, одинаковые для всех интерфейсов
load client_standartclient1:
new -i ng1 pptp1 pptp1
set ipcp ranges 10.128.1.193/32 10.128.5.101/32
load client_standartи т.д.
----------------------------------------acct-log
Fri Sep 12 17:37:16 2003
NAS-Identifier = xtc.hq.----
NAS-IP-Address = 192.168.0.6
NAS-Port-Id = 0
NAS-Port-Type = 5
Service-Type = Framed-User
Framed-Protocol = PPP
Calling-Station-Id = 192.168.0.69
User-Name = den
Framed-IP-Address = 10.128.5.100
Acct-Status-Type = Start
Acct-Session-Id = 3359436-pptp0
Acct-Multi-Session-Id = 858993977
Acct-Link-Count = 1
Acct-Authentic = RADIUS
Timestamp = 1063359436
Request-Authenticator = VerifiedFri Sep 12 17:37:16 2003
NAS-Identifier = xtc.hq.-----
NAS-IP-Address = 192.168.0.6
NAS-Port-Id = 0
NAS-Port-Type = 5
Service-Type = Framed-User
Framed-Protocol = PPP
Calling-Station-Id = 192.168.0.69
User-Name = den
Framed-IP-Address = 10.128.5.100
Acct-Status-Type = Stop
Acct-Session-Id = 3359436-pptp0
Acct-Multi-Session-Id = 858993977
Acct-Link-Count = 1
Acct-Authentic = RADIUS
Acct-Terminate-Cause = User-Request
Acct-Session-Time = 3
Acct-Input-Octets = 376
Acct-Input-Packets = 17
Acct-Output-Octets = 433
Acct-Output-Packets = 18
Timestamp = 1063359436
Request-Authenticator = Verified-----------------------------------------------------
radius.logSep 15 16:09:30 Main.info: Ready
Sep 15 16:09:30 Main.info: Ready to process requests.
Sep 15 16:19:28 Auth.error: PQexec returned PGRES_FATAL_ERROR
Sep 15 16:19:28 Auth.notice: (AUTHREQ local 225 den): Invalid user [den], CLID 1
92.168.0.69
Sep 15 16:19:48 Auth.error: PQexec returned PGRES_FATAL_ERROR
Sep 15 16:19:48 Auth.notice: (AUTHREQ local 61 den): Invalid user [den], CLID 19
2.168.0.69пробовал и по PAP и по CHAP коннектиться безполезно не может авторизоваться из базы и все.
при этом если выставляю в users
den Auth-Type = Local, Password = "test"
Service-Type = Framed-User,
Framed-Protocol = PPP
авторизация проходит успешно, а
DEFAULT Auth-Type = Local,
Password-Location = SQL
Service-Type = Framed-User,
Framed-Protocol = PPP
неполучается авторизоваться через PostgreSQL, хотя данные о сессиях в базу пишутся нормально!