Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  немного о безопасности
  VPN (PoPToP)
  PortSentry
  sysctl
  vtund
  ipfwcount
  FreeBSD & DSA
  mpd – легко и просто!
  mpd + freeradius + mysql
  Бронированный FreeBSD
  sshit
  DSL-G804V и FreeBSD 6.2
  portaudit
  OpenVPN
  Bluetooth proximity monitor
  ESET NOD32
  GEOM-ELI
  stunnel для pop3,smtp
  NOD32 mirror
  mpd5 + ipfw-nat
  Openvpn 2 офиса
  Hotspot
  OpenVPN+авторизация
  termlog
  mpd5 + сжатие и шифрование
  ipsec_vpnc
  TOR Сервер
  Snort на FreeBSD
  Arpwatch
  Установка и настройка OpenVPN
  NOD32_mirror_v2
  Fail2ban
  IPSec
  Перенос OpenVPN сервера
  Wpa/WPA2-Radius+EAP-TLS/EAP-PEAP
  nod32 mirror script
  MAC + apache
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Security —> mpd – легко и просто!

mpd – легко и просто!

Автор: m`ax.


Мне нужно было сделать так, чтобы пользователи подключались к серверу по VPN тем самым открывая себе доступ в интернет. Первым делом я попытался организовать VPN по протоколу PPTP на PoPToP. Но, почему-то, у меня не получилось присваивать DNS. Не долго думая я отказался от PoPToP и воспользовался mpd. Оказалось mpd – это легко и просто.

Для начала я очень кратко опишу процесс настройки, не вдаваясь в детали. Сделаю так сказать шпаргалку. Позже исправлю, опишу подробнее. Кроме того, планирую добавлять в статью те фичи, которые я буду использовать, но до которых пока не дошёл.

Итак, mpd (Multi-link PPP daemon) примечателен тем, что в нём реализован VPN-сервер совместимый с Microsoft. Т.е. в подключении win-пользователей к нашему, FreeBSD-серверу не будет никаких проблем. Что нам собственно и нужно. (:

0. Подготавливаем.
Для mpd рекомендуется включить в FreeBSD-ядро опции NETGRAPH. Хотя говорят можно обойтись и без этого.

У меня в ядре (FreeBSD  6.1-RELEASE) следующее:

options         NETGRAPH
options         NETGRAPH_ETHER                  
options         NETGRAPH_SOCKET               
options         NETGRAPH_TEE       

1. Компилируем и инсталлируем.
Про обновление дерева портов через cvsup напоминать не буду (;

# cd /usr/ports/net/mpd
# make && make install


2. Конфигурируем
# cd /usr/local/etc/mpd

2.1  Интерфейсы
# ee mpd.conf


default:
        load pptp0
        load pptp1
        load pptp2


pptp0:
        new -i ng0 pptp0 pptp0        # создаём новый интерфейс ngX - имя
        set ipcp ranges 10.53.1.1/32 10.53.1.100/32 #локальный и удалённый IP-адреса
                                      # не должны совпадать с уже имеющимися
        load pptp_standart            # остальные параметры соединения – стандартные

pptp1:
        new -i ng1 pptp1 pptp1
        set ipcp ranges 10.53.1.1/32 10.53.1.101/32
        load pptp_standart

pptp2:
        new -i ng2 pptp2 pptp2
        set ipcp ranges 10.53.1.1/32 10.53.1.102/32
        load pptp_standart

pptp_standart:		# описываем стандартные параметры
        set iface disable on-demand
        set bundle disable 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 XXX.XXX.XXX.XXX
        set ipcp nbns XXX.XXX.XXX.XXX

        # Включаем proxy-arp
        set iface enable proxy-arp

        # Включаем компрессию данных
        #set bundle enable compression

        # Включаем компрессию данных, совсестимую с Microsoft-клиентами
        #set ccp yes mppc

        # Включаем шифрование, совместимое с Microsoft-клиентами
        #set ccp yes mpp-e40
        #set ccp yes mpp-e128
        #set ccp yes mpp-stateless
        #set bundle yes crypt-reqd

        # Задаем локальный адрес для входящих соединений
        set pptp self 10.0.10.53

        # Разрешаем входящие соединения
        set pptp enable incoming
        set pptp disable originate

Комменты:
- В приведённом примере – для экономии места, три интерфейса (у меня их 11). Это значит одновременно могут быть три VPN-подключения. Сделать больше, думаю не составит труда (:
- Компрессию и шифрование отключил, потому что с ней как-то медленно всё работало.
В связи с этим, у win-клиентов пришлось отключать шифрование данных в параметрах безопасности VPN-соединения. Попробуйте с ней, может вам повезёт больше (:
- Если DNS надо дать не один а несколько они пишутся в ряд, через пробел.
set ipcp dns XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX

- Интерфейс с адресом заданным в set pptp self будет слушать и обрабатывать VPN- подключения.

2.2 Соединения
# ee mpd.links


pptp0:
 set link type pptp
pptp1:
 set link type pptp
pptp2:
 set link type pptp

Здесь, по сути мы только указываем тип соединения для каждого интерфейса – pptp

2.3 Пользователи, пароли и их IP
# ee mpd.secret


### персонально ###
usr1	"usr1-passw"	10.53.1.25
usr2	"usr2-passw"	10.53.1.54

### как получится ###
usr3	"usr3-passw"	*
usr4	"usr4-passw"	*

usr1 и usr2 всегда будут получать одни и те же IP.
usr3 и usr4 будут получать IP из описанных в mpd.conf

PS.
(кому интересно, там же лежат mpd.conf.sample, mpd.links.sample, mpd.script.sample и  mpd.secret.sample можно полистать на досуге)

3. Последние штрихи

3.1 Для запуска:
# ee /etc/rc.conf

### VPN mpd
        mpd_enable="YES"

3.2 Для логов:
# /etc/syslog.conf
!mpd
*.* /var/log/mpd.log

# touch /var/log/mpd.log

3.3 ipfw:
# разрешаем коннект к серверу по VPN
${fwcmd} add allow tcp from any to me 1723
${fwcmd} add allow gre from any to any

   

4. Тестируем
Перед тестированием чего-то новонастроенного я люблю перезагружаться. Это даёт мне некую уверенность в том, что после включения сервера я могу быть спокоен на счёт его работоспособности. Так, по традиции я перезагрузил сервер.

Настройки VPN-соединения у win-клиентов описывать не буду. Там всё «по умолчанию», за исключением (в моём случае) отключения шифрования.

# ifconfig -a
ng0: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
ng1: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
ng2: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500

это добавились наши интерфейсы. Значит есть куда зацепиться.
Командуем:
# tail –f /var/log/mpd.log

Пробуем подключиться. …и наблюдаем:

Aug 25 01:29:25 mpd: [pptp0] device is now in state DOWN
Aug 25 01:34:22 mpd: mpd: PPTP connection from 10.0.10.25:1422
Aug 25 01:34:22 mpd: pptp0: attached to connection with 10.0.10.25:1422
Aug 25 01:34:22 mpd: [pptp0] IFACE: Open event
Aug 25 01:34:22 mpd: [pptp0] IPCP: Open event
Aug 25 01:34:22 mpd: [pptp0] IPCP: state change Initial --> Starting
Aug 25 01:34:22 mpd: [pptp0] IPCP: LayerStart
Aug 25 01:34:22 mpd: [pptp0] IPCP: Open event
Aug 25 01:34:22 mpd: [pptp0] bundle: OPEN event in state CLOSED
Aug 25 01:34:22 mpd: [pptp0] opening link "pptp0"...
Aug 25 01:34:22 mpd: [pptp0] link: OPEN event
Aug 25 01:34:22 mpd: [pptp0] LCP: Open event
Aug 25 01:34:22 mpd: [pptp0] LCP: state change Initial --> Starting
Aug 25 01:34:22 mpd: [pptp0] LCP: LayerStart
Aug 25 01:34:22 mpd: [pptp0] device: OPEN event in state DOWN
Aug 25 01:34:22 mpd: [pptp0] attaching to peer's outgoing call
Aug 25 01:34:22 mpd: [pptp0] device is now in state OPENING
Aug 25 01:34:22 mpd: [pptp0] device: UP event in state OPENING
Aug 25 01:34:22 mpd: [pptp0] device is now in state UP
Aug 25 01:34:22 mpd: [pptp0] link: UP event
Aug 25 01:34:22 mpd: [pptp0] link: origination is remote
Aug 25 01:34:22 mpd: [pptp0] LCP: Up event
Aug 25 01:34:22 mpd: [pptp0] LCP: state change Starting --> Req-Sent
Aug 25 01:34:22 mpd: [pptp0] LCP: phase shift DEAD --> ESTABLISH
Aug 25 01:34:22 mpd: [pptp0] LCP: SendConfigReq #8
Aug 25 01:34:22 mpd: ACFCOMP
Aug 25 01:34:22 mpd: PROTOCOMP
Aug 25 01:34:22 mpd: MRU 1500
Aug 25 01:34:22 mpd: MAGICNUM 6dda6be4
Aug 25 01:34:22 mpd: AUTHPROTO CHAP MSOFTv2
Aug 25 01:34:22 mpd: pptp0-0: ignoring SetLinkInfo
Aug 25 01:34:22 mpd: [pptp0] LCP: rec'd Configure Request #0 link 0 (Req-Sent)
Aug 25 01:34:22 mpd: MRU 1400
Aug 25 01:34:22 mpd: MAGICNUM 6a9c72fe
Aug 25 01:34:22 mpd: PROTOCOMP
Aug 25 01:34:22 mpd: ACFCOMP
Aug 25 01:34:22 mpd: CALLBACK
Aug 25 01:34:22 mpd: Not supported
Aug 25 01:34:22 mpd: [pptp0] LCP: SendConfigRej #0
Aug 25 01:34:22 mpd: CALLBACK
Aug 25 01:34:22 mpd: [pptp0] LCP: rec'd Configure Request #1 link 0 (Req-Sent)
Aug 25 01:34:22 mpd: MRU 1400
Aug 25 01:34:22 mpd: MAGICNUM 6a9c72fe
Aug 25 01:34:22 mpd: PROTOCOMP
Aug 25 01:34:22 mpd: ACFCOMP
Aug 25 01:34:22 mpd: [pptp0] LCP: SendConfigAck #1
Aug 25 01:34:22 mpd: MRU 1400
Aug 25 01:34:22 mpd: MAGICNUM 6a9c72fe
Aug 25 01:34:22 mpd: PROTOCOMP
Aug 25 01:34:22 mpd: ACFCOMP
Aug 25 01:34:22 mpd: [pptp0] LCP: state change Req-Sent --> Ack-Sent
Aug 25 01:34:24 mpd: [pptp0] LCP: SendConfigReq #9
Aug 25 01:34:24 mpd: ACFCOMP
Aug 25 01:34:24 mpd: PROTOCOMP
Aug 25 01:34:24 mpd: MRU 1500
Aug 25 01:34:24 mpd: MAGICNUM 6dda6be4
Aug 25 01:34:24 mpd: AUTHPROTO CHAP MSOFTv2
Aug 25 01:34:24 mpd: [pptp0] LCP: rec'd Configure Ack #9 link 0 (Ack-Sent)
Aug 25 01:34:24 mpd: ACFCOMP
Aug 25 01:34:24 mpd: PROTOCOMP
Aug 25 01:34:24 mpd: MRU 1500
Aug 25 01:34:24 mpd: MAGICNUM 6dda6be4
Aug 25 01:34:24 mpd: AUTHPROTO CHAP MSOFTv2
Aug 25 01:34:24 mpd: [pptp0] LCP: state change Ack-Sent --> Opened
Aug 25 01:34:24 mpd: [pptp0] LCP: phase shift ESTABLISH --> AUTHENTICATE
Aug 25 01:34:24 mpd: [pptp0] LCP: auth: peer wants nothing, I want CHAP
Aug 25 01:34:24 mpd: [pptp0] CHAP: sending CHALLENGE
Aug 25 01:34:24 mpd: [pptp0] LCP: LayerUp
Aug 25 01:34:24 mpd: pptp0-0: ignoring SetLinkInfo
Aug 25 01:34:24 mpd: [pptp0] LCP: rec'd Ident #2 link 0 (Opened)
Aug 25 01:34:24 mpd: MESG: MSRASV5.10
Aug 25 01:34:24 mpd: [pptp0] CHAP: rec'd RESPONSE #1
Aug 25 01:34:24 mpd: Name: "ax"
Aug 25 01:34:24 mpd: Peer name: "ax"
Aug 25 01:34:24 mpd: Response is valid
Aug 25 01:34:24 mpd: [pptp0] CHAP: sending SUCCESS
Aug 25 01:34:24 mpd: [pptp0] LCP: authorization successful
Aug 25 01:34:24 mpd: [pptp0] LCP: phase shift AUTHENTICATE --> NETWORK
Aug 25 01:34:24 mpd: [pptp0] setting interface ng0 MTU to 1400 bytes
Aug 25 01:34:24 mpd: [pptp0] up: 1 link, total bandwidth 64000 bps
Aug 25 01:34:24 mpd: [pptp0] IPCP: Up event
Aug 25 01:34:24 mpd: [pptp0] IPCP: state change Starting --> Req-Sent
Aug 25 01:34:24 mpd: [pptp0] IPCP: SendConfigReq #5
Aug 25 01:34:24 mpd: IPADDR 10.53.1.1
Aug 25 01:34:24 mpd: COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Aug 25 01:34:24 mpd: [pptp0] rec'd unexpected protocol CCP on link 0, rejecting
Aug 25 01:34:24 mpd: [pptp0] IPCP: rec'd Configure Request #4 link 0 (Req-Sent)
Aug 25 01:34:24 mpd: IPADDR 0.0.0.0
Aug 25 01:34:24 mpd: NAKing with 10.53.1.25
Aug 25 01:34:24 mpd: PRIDNS 0.0.0.0
Aug 25 01:34:24 mpd: NAKing with 87.250.192.5
Aug 25 01:34:24 mpd: PRINBNS 0.0.0.0
Aug 25 01:34:24 mpd: SECDNS 0.0.0.0
Aug 25 01:34:24 mpd: SECNBNS 0.0.0.0
Aug 25 01:34:24 mpd: [pptp0] IPCP: SendConfigRej #4
Aug 25 01:34:24 mpd: PRINBNS 0.0.0.0
Aug 25 01:34:24 mpd: SECDNS 0.0.0.0
Aug 25 01:34:24 mpd: SECNBNS 0.0.0.0
Aug 25 01:34:24 mpd: [pptp0] IPCP: rec'd Configure Reject #5 link 0 (Req-Sent)
Aug 25 01:34:24 mpd: COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Aug 25 01:34:24 mpd: [pptp0] IPCP: SendConfigReq #6
Aug 25 01:34:24 mpd: IPADDR 10.53.1.1
Aug 25 01:34:24 mpd: [pptp0] IPCP: rec'd Configure Request #5 link 0 (Req-Sent)
Aug 25 01:34:24 mpd: IPADDR 0.0.0.0
Aug 25 01:34:24 mpd: NAKing with 10.53.1.25
Aug 25 01:34:24 mpd: PRIDNS 0.0.0.0
Aug 25 01:34:24 mpd: NAKing with 87.250.192.5
Aug 25 01:34:24 mpd: [pptp0] IPCP: SendConfigNak #5
Aug 25 01:34:24 mpd: IPADDR 10.53.1.25
Aug 25 01:34:24 mpd: PRIDNS 87.250.192.5
Aug 25 01:34:24 mpd: [pptp0] IPCP: rec'd Configure Ack #6 link 0 (Req-Sent)
Aug 25 01:34:24 mpd: IPADDR 10.53.1.1
Aug 25 01:34:24 mpd: [pptp0] IPCP: state change Req-Sent --> Ack-Rcvd
Aug 25 01:34:24 mpd: [pptp0] IPCP: rec'd Configure Request #6 link 0 (Ack-Rcvd)
Aug 25 01:34:24 mpd: IPADDR 10.53.1.25
Aug 25 01:34:24 mpd: 10.53.1.25 is OK
Aug 25 01:34:24 mpd: PRIDNS 87.250.192.5
Aug 25 01:34:24 mpd: [pptp0] IPCP: SendConfigAck #6
Aug 25 01:34:24 mpd: IPADDR 10.53.1.25
Aug 25 01:34:24 mpd: PRIDNS 87.250.192.5
Aug 25 01:34:24 mpd: [pptp0] IPCP: state change Ack-Rcvd --> Opened
Aug 25 01:34:24 mpd: [pptp0] IPCP: LayerUp
Aug 25 01:34:24 mpd: 10.53.1.1 -> 10.53.1.25
Aug 25 01:34:24 mpd: [pptp0] IFACE: Up event
Aug 25 01:34:24 mpd: [pptp0] setting interface ng0 MTU to 1400 bytes
Aug 25 01:34:24 mpd: [pptp0] exec: /sbin/ifconfig ng0 10.53.1.1 10.53.1.25 netmask 0xffffffff -link0
Aug 25 01:34:24 mpd: [pptp0] no interface to proxy arp on for 10.53.1.25
Aug 25 01:34:24 mpd: [pptp0] exec: /sbin/route add 10.53.1.1 -iface lo0
Aug 25 01:34:24 mpd: [pptp0] IFACE: Up event

В моём случае видно: процесс соединения занимает около двух секунд. По-моему должно быть быстрее (:
Разберусь с этим позже.

# ifconfig -a
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1400
inet6 fe80::230:18ff:fe63:2c8b%ng0 prefixlen 64 scopeid 0x6
inet 10.53.1.1 --> 10.53.1.25 netmask 0xffffffffng1: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
ng2: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500

Всё наглядно. Без комментариев.

5. Напоследок

Я получил удобный способ предоставлять пользователям доступ в интернет.
Назначая разные группы Ip-адресов разным группам можно давать разный доступ (:
Кому-то аськи хватит, а кому-то и «allow udp from any 27015-27025…» можно устроить (;

Проблемм:
Если два раза подключиться с одним логин\пасворд\IP – получаем глюки, что в общем-то, не удивительно.
В ближайшее время постараюсь найти способ как этого избегать.



размещено: 2006-08-25,
последнее обновление: 2006-08-25,
автор: m`ax

оценить статью:

Рутьков, 2006-08-25 в 15:33:35

Классная статья, надо попробывать...

Abigor, 2006-08-26 в 6:25:34

Вопрос, а не проще в ядро засунуть это
options         NETGRAPH
options         NETGRAPH_BPF
options         NETGRAPH_IFACE
options         NETGRAPH_KSOCKET
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_SOCKET
options         NETGRAPH_TCPMSS
options         NETGRAPH_VJC
и тогда клеенту не надо будет убирать галки с шиврования? и в mpd можно будет включить вот это и радоваться
       # Включаем компрессию данных
       #set bundle enable compression

       # Включаем компрессию данных, совсестимую с Microsoft-клиентами
       #set ccp yes mppc

       # Включаем шифрование, совместимое с Microsoft-клиентами
       #set ccp yes mpp-e40
       #set ccp yes mpp-e128
       #set ccp yes mpp-stateless
       #set bundle yes crypt-reqd

Valentin, 2006-08-30 в 17:57:20

статья почти вовремя ! :)
сам настроил но вот Abigor
строчка options   NETGRAPH_MPPC_ENCRYPTION
при компиляци вылетает с ошибкой, что нет уже не помню чего!
в итоге шифрование 0!

Valentin, 2006-08-30 в 18:06:30

блин ошибся не ENCRYPTION а compression

добовлял!
Но всё равно тип шифрования не поддерживается :( при соединении

Abigor, 2006-09-01 в 10:24:54

если включить вот это
options         NETGRAPH_MPPC_COMPRESSION
то при компилировании ядра он вываливается с ожибкой что не может найти пару файлов, как я понял этих вайлов нет так как с MS какие-то проблемы.
>Но всё равно тип шифрования не поддерживается :( при
соединении
давай почту могу выслать тебе свой конфиг mpd у меня шифрование поддерживается.

black, 2006-09-02 в 13:06:15

Поделитесь конфигами. Заранее спасибо

Поделитесь конфигами. Заранее спасибо, 2006-09-02 в 13:06:59

Поделитесь конфигами. Заранее спасибо
black10@bigmir.net

i-zen, 2006-09-14 в 8:51:46

для организации доступа юзеров в нет луче использовать PPPoE
IMHO

Banec, 2006-09-14 в 16:46:01

i-zen,
eсли можно то на stopor()mail.by

around, 2006-10-22 в 13:10:09

Спасибо!!! Всё заработало!!!

ASP, 2006-10-31 в 22:14:21

можно и мне рабочие конфиги? :) asp ___@____ s96.ru (подчеркивание убрать)

Lestat, 2006-11-01 в 0:09:07

Пришлите и мне рабочий конфиг пожалуйста!

Sergey, 2006-11-10 в 11:38:46

а подскажите как соедениться с двух компов к mpd если они находяться за NАТом?!
и такой вопросик клиенты winxp win2000 соединяються нормально а win2003 жукто тормозит и теряет пакеты:(

Jeweller, 2006-12-08 в 0:35:25

Статья рабочая!

VAdim, 2006-12-14 в 17:56:32

Есть у меня 2 офиса, куда народ по PPTP с Виндов цепляется, цепляется на FreeBSD 5.5 + MPD 3.18...
Все поднял без пересборки ядра, работает нормально, есть шифрование, но нету компрессии - но это для меня не важно.
Нужны конфиги - стучаться 285982172

DS, 2007-03-24 в 10:57:25

        # Включаем proxy-arp
       set iface enable proxy-arp

Таки лучше пару раз подумать, а уж потом добавлять прокси-арп в конфиг. Иначе потом будет вот это:
Aug 25 01:34:24 mpd: [pptp0] no interface to proxy arp on for 10.53.1.25

Dead, 2007-03-29 в 13:31:25

долго и упорно мучался с конфигами пока не усек такую штуку:
все строки за исключением названий "разделов" в mpd.conf и mpd.links должны начинаться с таба. Иначе mpd не видит конфига и ничего не делает.
Будте внимательны.
Плюс если в set pptp self прописать 4 нуля, то будут слушаться все интерфейсы.
(думаю можно вставить памяткой в статью).

Gefest, 2007-04-10 в 23:48:41

Народ! Я в этом деле новечок! Но у меня масса вопросов по поводу настройки MPD  не получается мне его поднять! Дайте плиз конфги, я погляжу, может разберусь! reave@rambler.ru

dm, 2007-04-16 в 20:38:42

никто не держит PPPoE на mpd?
буду очень благодарен за конфиг на мыло.
спасибо.

Евгений, 2007-05-16 в 18:05:52

Киньте пожалуйста рабочий конфиг и набор опций ядра на xorelx(a)mail.ru ?!

Евгений, 2007-05-16 в 18:06:38

P.S. С РАБОЧИМ ШИФРОВАНИЕМ!

Dracula, 2007-06-01 в 1:08:19

Статья то что надо !
Если можно  рабочий конфиг на мыло с шифрованием и опциями ядра.
Спасибо.

Gentux, 2007-06-15 в 13:07:45

у меня интерфейс ng0 не подымается, ядро 5ый раз пересобираю - и никак... хелп

Vitaliy_y, 2007-07-10 в 13:01:57

Все чудно поднялось, но вот проблема, юзеры через ВПН подключаются к серверу терминалов и с периодичностью последний подвисает и вываливается, а вот инет раздается нормально, не знаю где копать. Когда-то на PopTop и Линухе все летало.

Kir, 2007-07-10 в 18:27:11

Шифрование у меня не вызвало проблем, если честно, скорее у автора статьи была Win32 недоделанная(-:, На счет глюков по поводу двойной авторизации (один логин входит 2 раза) я сделал просто: с mpd.secrets раздаю каждому свой ip жестко, диапазоны туннеля не выставляю. Соответственно юзер просто не сможет зарегистрироваться в сети. Статья очень понравилась. Спасибо.

HOSTER, 2007-07-14 в 9:23:23

А как сам нет розшарить ...???????

man, 2007-07-16 в 13:25:25

Будьте  так добры рабочий конфиг с шифрованием
manic@fromru.com

dredd, 2007-08-05 в 10:42:13

Александр Мотин реализовал нормально работающий модуль компрессии... Смотрим здесь http://lists.freebsd.org/pipermail/freebsd-net/2007-July/014946.html
Настраивал mpd подобным образом, долго не работало - требуется в ipfw разрешить протокол GRE....

dread, 2007-08-13 в 13:17:07

:)
в ядро
options         NETGRAPH
options         NETGRAPH_ETHER
options         NETGRAPH_SOCKET
options         NETGRAPH_TEE
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_MPPC_COMPRESSION
options         NETGRAPH_BPF
options         NETGRAPH_IFACE
options         NETGRAPH_KSOCKET
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_TCPMSS
options         NETGRAPH_VJC
options         NETGRAPH_ONE2MANY
options         NETGRAPH_RFC1490
options         NETGRAPH_TEE
options         NETGRAPH_TTY
options         NETGRAPH_UI

недостающее файло
http://mavhome.dp.ua/MPPC/

мой mpd.conf

startup:
default:
       load pptp0
       load pptp1
       load pptp2


pptp0:
       new pptp0 pptp0
       set ipcp ranges 192.168.0.100/32 192.168.0.150/32
       load pptp_standart
pptp1:
       new pptp1 pptp1
       set ipcp ranges 192.168.0.100/32 192.168.0.151/32
       load pptp_standart
pptp2:
       new pptp2 pptp2
       set ipcp ranges 192.168.0.100/32 192.168.0.152/32
       load pptp_standart


pptp_standart:
       set iface disable on-demand
       set bundle disable multilink
       set bundle enable compression
       set ccp yes mppc
       set ccp yes mpp-e40
       set ccp yes mpp-e56
       set ccp yes mpp-e128
       set ccp yes mpp-stateless
       set ccp yes mpp-compress
       set bundle yes crypt-reqd
       set link yes acfcomp protocomp
       set link no pap chap
       set link enable chap
       set link keep-alive 60 180
       set iface idle 0
       set iface session 0
       set ipcp yes vjcomp
       set ipcp dns 192.168.0.1
       set bundle enable compression
       set bundle yes crypt-reqd
       set pptp self 80.92.107.870
       set iface enable proxy-arp
       set iface enable tcpmssfix
       set iface mtu 1460
       set link mtu 1460

в pf

pass in quick on $eth0 proto tcp from any to <serv> port = 1723 flags S/SA synproxy state

pass out quick on $eth0 proto gre from <serv> to any synproxy state

где <serv> табличка с адресами сервера
$eth0 интерфейс который слушает mpd

и все :) компрессия работает.. вполне стабильно
p3 750 512 mb тянет 150 пользователей незадумываясь особо


kuzea, 2007-08-18 в 3:51:59

FrreBSD 6.2 polucilosi normalini s konfigom "dread, 2007-08-13 в 13:17:07"
toka prishlosi v Windows dobaviti poderjku MS-CHAP v2

PASIBA BOLISHOE

kuzea, 2007-08-18 в 12:05:16

polucilis na sisteme s obnovlenymi portami
a na systeme s neobnovlenymi portami prishlosi dobaviti [url=http://mavhome.dp.ua/MPPC/]

AL, 2007-10-03 в 18:01:18

Для компрессии:
Download archive and put it's content to the /usr/src/sys/net.
Change directory to the /usr/src/sys/modules/netgraph/mppc
In Makefile change line
NETGRAPH_MPPC_COMPRESSION?=     0
to
NETGRAPH_MPPC_COMPRESSION?=     1
Make
make && make install && make clean
Stop all ng_mppc consumers and unload previous module with
kldunload ng_mppc
command.
архив:
http://mavhome.dp.ua/MPPC/mppc-1.0.tgz

unknownDaemon, 2007-10-24 в 17:53:55

А если бы поднял IAS на win2k3 DC и в секции pptp_standart: описал способ аворизовываться по RADIUS - то рулил бы через AD и авторизацией и вообще возможностью юзера ходить в inet ;-)
Могу дать примеры конфигов...

dread, 2007-10-24 в 17:58:38

Буду признателен.

unknownDaemon, 2007-10-28 в 15:02:13

Не стоит благодарности ;-)
###### кусок mpd.conf важное выделено жирным ######
client_standard:
       set iface disable on-demand
       set iface enable proxy-arp
       set iface idle 1800
       set iface enable tcpmssfix
       set iface up-script /usr/local/etc/mpd4/vpn-up
       set iface down-script /usr/local/etc/mpd4/vpn-down
       set bundle enable multilink
       set link yes acfcomp protocomp
       set link no pap chap
       set link enable chap
       set link mtu 1460
       set link keep-alive 10 60
       set ipcp yes vjcomp
       set ipcp dns 192.168.1.11
       set ipcp nbns 192.168.1.11
       set bundle enable compression
       set ccp yes mppc
       set ccp yes mpp-e40
       set ccp yes mpp-e128
       set ccp yes mpp-stateless
       set radius server <ip serv-dc with IAS up> "secret for IAS"
       set radius timeout 10
       set radius retries 3
       set auth enable radius-auth radius-acct

       open
#-— EOF -----------
На контроллере домена поднимаете службу Internet Authidentification Service ()IAS, Настраиваете  , основными настройками будут: "общий секрет" для обращения к сервису, протокол (Radius Standart) и список IP -ов машинок коим разрешено обращаться к сервису. Затем меняете чать, выступающюю у вас "общей" для всех клиентов в mpd.conf как указано выше и все...
Клиенты будут авторизовываться IAS-ом. Далее все зависит от политик настроенных в AD. Если не указано иначе: по умолчанию юзерам низя делать Dial-In, соответсвенно кому хотите дать возможность авторизовываться - поставьте галочку ;-), тоже самое можно намутить на оушки политиками. Ровно как можно и использовать Inpact для учета трафика ПО ЮЗЕРУ а не по IP, но это уже совсем другая история ;-)

alter, 2007-11-13 в 11:44:36

Хотелось бы новую версию именно этой статьи, а также узнать как все таки решаeтся:

"Если два раза подключиться с одним логин\пасворд\IP – получаем глюки, что в общем-то, не удивительно.
В ближайшее время постараюсь найти способ как этого избегать."

MAPTbIH, 2008-02-01 в 14:10:32

Заметил такую хрень:
при таком конфиге:
# mpd.conf
default:
       load pptp0
       load pptp1
       load pptp2


pptp0:
       new -i ng0 pptp0 pptp0
       set ipcp ranges 10.53.1.1/32 10.53.1.100/32
       load pptp_standart

pptp1:
       new -i ng1 pptp1 pptp1
       set ipcp ranges 10.53.1.1/32 10.53.1.101/32
       load pptp_standart

pptp2:
       new -i ng2 pptp2 pptp2
       set ipcp ranges 10.53.1.1/32 10.53.1.102/32
       load pptp_standart

# mpd.secret
usr1    "usr1-passw"    10.53.1.100
usr2    "usr2-passw"    10.53.1.101
usr3    "usr3-passw"    10.53.1.102

если usr1 подключился первым он попадает не на ng0
а по разному то ng1 или если он занят, то на ng2.
еще заметил, что если nat висит на интерфейсе который слушает mpd то в настройках соединения в винле, приходится снимать галку использовать шлюз по умолчанию, иначе не попасть во внутреннюю сеть.

Kucher, 2008-03-05 в 0:30:08

Если при включённом шифровании  и сжатии возникнут проблемы со скоростью работы VPN, проверьте ping к виртуальнорму хосту (10.53.1.1) и одновременно - к реальному (10.0.10.53).
У меня терялись пакеты на виртуальном хосте. Проблема решилась добавлением маршрута, командой "route add".

Shurik, 2008-03-18 в 11:42:23

Подскажите в чём проблема .
Исходные данные vpn : тип сервера РРР . Проверка подлинности ms chapv2 : шифрование mppe-40 .
Бьюсь уже который день обрывается на одном и томже месте . Насколько я понял в ядре NETGRAPH_MPPC в ядре ненужен , делаеться на фрее 6.3 mpd 3.18 . Фаервол открыт. По логам на сколько я понимаю тунель поднимаеться ,проверка проходит а дальше ни чего не происходит ип не выдаёться и сразу рвёт соединение .Уже руки отпускаються , подскажите как побороть. Заранее  Спасибо.

mpd.log

Mar 18 11:21:36 dom mpd: mpd: pid 1100, version 3.18 (root@dom 15:54 17-Mar-2008)
Mar 18 11:21:36 dom mpd: [vpn] ppp node is "mpd1100-vpn"
Mar 18 11:21:36 dom mpd: mpd: local IP address for PPTP is 172.24.40.170
Mar 18 11:21:36 dom mpd: [vpn] using interface ng0
Mar 18 11:21:36 dom mpd: set enable: unknown command. Try "help".
Mar 18 11:21:36 dom mpd: [vpn] IPCP: peer address cannot be zero
Mar 18 11:21:36 dom mpd: [vpn] IFACE: Open event
Mar 18 11:21:36 dom mpd: [vpn] IPCP: Open event
Mar 18 11:21:36 dom mpd: [vpn] IPCP: state change Initial --> Starting
Mar 18 11:21:36 dom mpd: [vpn] IPCP: LayerStart
Mar 18 11:21:36 dom mpd: [vpn] bundle: OPEN event in state CLOSED
Mar 18 11:21:36 dom mpd: [vpn] opening link "vpn"...
Mar 18 11:21:36 dom mpd: [vpn] link: OPEN event
Mar 18 11:21:36 dom mpd: [vpn] LCP: Open event
Mar 18 11:21:36 dom mpd: [vpn] LCP: state change Initial --> Starting
Mar 18 11:21:36 dom mpd: [vpn] LCP: LayerStart
Mar 18 11:21:36 dom mpd: [vpn] device: OPEN event in state DOWN
Mar 18 11:21:36 dom mpd: pptp0: connecting to 172.24.8.2:1723
Mar 18 11:21:36 dom mpd: [vpn] device is now in state OPENING
Mar 18 11:21:36 dom mpd: pptp0: connected to 172.24.8.2:1723
Mar 18 11:21:36 dom mpd: pptp0: attached to connection with 172.24.8.2:1723
Mar 18 11:21:36 dom mpd: pptp0-0: outgoing call connected at 64000 bps
Mar 18 11:21:36 dom mpd: [vpn] PPTP call successful
Mar 18 11:21:36 dom mpd: [vpn] device: UP event in state OPENING
Mar 18 11:21:36 dom mpd: [vpn] device is now in state UP
Mar 18 11:21:36 dom mpd: [vpn] link: UP event
Mar 18 11:21:36 dom mpd: [vpn] link: origination is local
Mar 18 11:21:36 dom mpd: [vpn] LCP: Up event
Mar 18 11:21:36 dom mpd: [vpn] LCP: state change Starting --> Req-Sent
Mar 18 11:21:36 dom mpd: [vpn] LCP: phase shift DEAD --> ESTABLISH
Mar 18 11:21:36 dom mpd: [vpn] LCP: SendConfigReq #1
Mar 18 11:21:36 dom mpd:  ACFCOMP
Mar 18 11:21:36 dom mpd:  PROTOCOMP
Mar 18 11:21:36 dom mpd:  MRU 1500
Mar 18 11:21:36 dom mpd:  MAGICNUM 77a09794
Mar 18 11:21:36 dom mpd: [vpn] LCP: rec'd Configure Ack #1 link 0 (Req-Sent)
Mar 18 11:21:36 dom mpd:  ACFCOMP
Mar 18 11:21:36 dom mpd:  PROTOCOMP
Mar 18 11:21:36 dom mpd:  MRU 1500
Mar 18 11:21:36 dom mpd:  MAGICNUM 77a09794
Mar 18 11:21:36 dom mpd: [vpn] LCP: state change Req-Sent --> Ack-Rcvd
Mar 18 11:21:39 dom mpd: [vpn] LCP: rec'd Configure Request #1 link 0 (Ack-Rcvd)
Mar 18 11:21:39 dom mpd:  ACCMAP 0x00000000
Mar 18 11:21:39 dom mpd:  AUTHPROTO CHAP MSOFTv2
Mar 18 11:21:39 dom mpd:  MAGICNUM 2548cb68
Mar 18 11:21:39 dom mpd:  PROTOCOMP
Mar 18 11:21:39 dom mpd:  ACFCOMP
Mar 18 11:21:39 dom mpd: [vpn] LCP: SendConfigAck #1
Mar 18 11:21:39 dom mpd:  ACCMAP 0x00000000
Mar 18 11:21:39 dom mpd:  AUTHPROTO CHAP MSOFTv2
Mar 18 11:21:39 dom mpd:  MAGICNUM 2548cb68
Mar 18 11:21:39 dom mpd:  PROTOCOMP
Mar 18 11:21:39 dom mpd:  ACFCOMP
Mar 18 11:21:39 dom mpd: [vpn] LCP: state change Ack-Rcvd --> Opened
Mar 18 11:21:39 dom mpd: [vpn] LCP: phase shift ESTABLISH --> AUTHENTICATE
Mar 18 11:21:39 dom mpd: [vpn] LCP: auth: peer wants CHAP, I want nothing
Mar 18 11:21:39 dom mpd: [vpn] LCP: LayerUp
Mar 18 11:21:39 dom mpd: [vpn] CHAP: rec'd CHALLENGE #67
Mar 18 11:21:39 dom mpd:  Name: "vpn1"
Mar 18 11:21:39 dom mpd:  Using authname "de"
Mar 18 11:21:39 dom mpd: [vpn] CHAP: sending RESPONSE
Mar 18 11:21:39 dom mpd: [vpn] CHAP: rec'd SUCCESS #67
Mar 18 11:21:39 dom mpd:  MESG: S=891E8D8FF812EE286D
Mar 18 11:21:39 dom mpd: [vpn] LCP: authorization successful
Mar 18 11:21:39 dom mpd: [vpn] LCP: phase shift AUTHENTICATE --> NETWORK
Mar 18 11:21:39 dom mpd: [vpn] setting interface ng0 MTU to 1500 bytes
Mar 18 11:21:39 dom mpd: [vpn] up: 1 link, total bandwidth 64000 bps
Mar 18 11:21:39 dom mpd: [vpn] IPCP: Up event
Mar 18 11:21:39 dom mpd: [vpn] IPCP: state change Starting --> Req-Sent
Mar 18 11:21:39 dom mpd: [vpn] IPCP: SendConfigReq #1
Mar 18 11:21:39 dom mpd:  IPADDR 0.0.0.0
Mar 18 11:21:39 dom mpd:  COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Mar 18 11:21:39 dom mpd: [vpn] error writing len 20 frame to bypass: Network is down
Mar 18 11:21:39 dom mpd: [vpn] CCP: Open event
Mar 18 11:21:39 dom mpd: [vpn] CCP: state change Initial --> Starting
Mar 18 11:21:39 dom mpd: [vpn] CCP: LayerStart
Mar 18 11:21:39 dom mpd: [vpn] CCP: Up event
Mar 18 11:21:39 dom mpd: [vpn] CCP: state change Starting --> Req-Sent
Mar 18 11:21:39 dom mpd: [vpn] CCP: SendConfigReq #1
Mar 18 11:21:39 dom mpd: [vpn] error writing len 8 frame to bypass: Network is down
Mar 18 11:21:41 dom mpd: [vpn] IPCP: SendConfigReq #2
Mar 18 11:21:41 dom mpd:  IPADDR 0.0.0.0
Mar 18 11:21:41 dom mpd:  COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Mar 18 11:21:41 dom mpd: [vpn] CCP: SendConfigReq #2
Mar 18 11:21:41 dom mpd: [vpn] IPCP: rec'd Terminate Ack #2 link 0 (Req-Sent)
Mar 18 11:21:41 dom mpd: [vpn] CCP: rec'd Configure Ack #2 link 0 (Req-Sent)
Mar 18 11:21:41 dom mpd: [vpn] CCP: state change Req-Sent --> Ack-Rcvd
Mar 18 11:21:42 dom mpd: [vpn] CCP: rec'd Configure Request #1 link 0 (Ack-Rcvd)
Mar 18 11:21:42 dom mpd:  MPPC
Mar 18 11:21:42 dom mpd:    0x01000020: MPPE, 40 bit, stateless
Mar 18 11:21:42 dom mpd: [vpn] CCP: SendConfigRej #1
Mar 18 11:21:42 dom mpd:  MPPC
Mar 18 11:21:42 dom mpd:    0x01000020: MPPE, 40 bit, stateless
Mar 18 11:21:42 dom mpd: [vpn] LCP: rec'd Terminate Request #2 link 0 (Opened)
Mar 18 11:21:42 dom mpd: [vpn] LCP: state change Opened --> Stopping
Mar 18 11:21:42 dom mpd: [vpn] LCP: phase shift NETWORK --> TERMINATE
Mar 18 11:21:42 dom mpd: [vpn] setting interface ng0 MTU to 1500 bytes
Mar 18 11:21:42 dom mpd: [vpn] up: 0 links, total bandwidth 9600 bps
Mar 18 11:21:42 dom mpd: [vpn] IPCP: Down event
Mar 18 11:21:42 dom mpd: [vpn] IPCP: state change Req-Sent --> Starting
Mar 18 11:21:42 dom mpd: [vpn] CCP: Down event
Mar 18 11:21:42 dom mpd: [vpn] CCP: state change Ack-Rcvd --> Starting
Mar 18 11:21:42 dom mpd: [vpn] CCP: Close event
Mar 18 11:21:42 dom mpd: [vpn] CCP: state change Starting --> Initial
Mar 18 11:21:42 dom mpd: [vpn] CCP: LayerFinish
Mar 18 11:21:42 dom mpd: [vpn] LCP: SendTerminateAck #2
Mar 18 11:21:42 dom mpd: [vpn] LCP: LayerDown
Mar 18 11:21:44 dom mpd: [vpn] LCP: state change Stopping --> Stopped
Mar 18 11:21:44 dom mpd: [vpn] LCP: phase shift TERMINATE --> ESTABLISH
Mar 18 11:21:44 dom mpd: [vpn] LCP: LayerFinish
Mar 18 11:21:44 dom mpd: [vpn] device: CLOSE event in state UP
Mar 18 11:21:44 dom mpd: pptp0-0: clearing call
Mar 18 11:21:44 dom mpd: [vpn] device is now in state CLOSING
Mar 18 11:21:44 dom mpd: [vpn] device: DOWN event in state CLOSING
Mar 18 11:21:44 dom mpd: [vpn] device is now in state DOWN
Mar 18 11:21:44 dom mpd: [vpn] link: DOWN event
Mar 18 11:21:44 dom mpd: [vpn] LCP: Down event


mpd.conf
Взят с сайта провайдера

default:
   load vpn
vpn:
   new -i ng0 vpn vpn
   set iface disable on-demand
   set iface addrs 172.24.40.17 172.24.40.17
   set iface idle 0
   set iface route default
   set bundle disable multilink
   set bundle authname "de"
   set bundle password "XXXXXXXX"
   set iface up-script /usr/local/etc/mpd/io-up.sh
   set iface down-script /usr/local/etc/mpd/io-down.sh
   set link yes acfcomp protocomp
   set link disable chap pap
   set link accept chap pap
   set enable no-orig-auth
   set link keep-alive 10 75
   set bundle enable compression
   set ccp yes mpp-e40
   set ccp yes mpp-e128
   set bundle enable crypt-reqd
   set ccp yes mpp-stateless
   set ipcp yes vjcomp
   set ipcp ranges 0.0.0.0/0 0.0.0.0/0
   set link mtu 1500
   open

gerasim, 2008-03-19 в 18:39:33

попробуй без пароля с использованием файла mpd.secret
у тебя ошибка в конфиге по логам сам посмари. омпд сам тебе об этом пишет и плюс еще у тебя аайпиадрес не выдается

Shurik, 2008-03-19 в 22:55:26

Всё всем спасибо уже разобрался , дело было в корявости mpd 3.18 поставил 4 со скриптами на роутинг и всё заработало .

Renelin, 2008-05-30 в 10:30:49

в редкой статье указывают что MPD обладает обширным логированием и mpd.log очень быстро разрастается до невообразимых размеров. Поэтому не забываем добавлять в /etc/newsyslog.conf примерно такую строку
/var/log/mpd.log  644  7  100  *  JC

denis, 2008-08-07 в 1:45:17

Столкнулся с тем, что после установки соединения пинги с сервера до клиента проходят, а с клиента на сервер - проходят через раз. Добавил в конфиг mpd.conf
set pptp disable windowing

guest, 2008-09-14 в 23:57:41

Народ а как включить сжатие ?
чет не пахает

torki, 2008-09-15 в 1:24:32

сделай поиск на форуме там умные люди все подробно расписали, честь и хвала знающим! :))

Яков, 2008-10-03 в 0:12:47

new -i ng0 pptp0 pptp0 # создаём новый ...
pptp_standart:        # описываем стандартные...

Такие комменты не перевариваются!
Причем mpd, в логах явно не ругается, просто перестает парсить файл, и грузит в итоге не все параметры из конфига.
Может поправишь комменты в конфигурашке в своей статье?
Многие, имхо, как и я просто копируют данный конфиг себе, и их ждут те-же грабли...
Вообще - обидно было наступить на такие простые грабли.

BuZZ, 2008-10-22 в 21:43:49

Еще бы билинг простенький к этой статье =)

tyler, 2008-11-11 в 11:32:24

Хотелось бы новую версию именно этой статьи, а также узнать как все таки решаeтся:

"Если два раза подключиться с одним логин\пасворд\IP – получаем глюки, что в общем-то, не удивительно.
В ближайшее время постараюсь найти способ как этого избегать."

set auth max-logins 1

Константин, 2009-02-06 в 3:19:39

Как решить проблемы с резолвингом имен машин внутренней сети
nslookup работает
ping не работает

Sweeper_jr, 2010-01-27 в 14:57:33

Если убрать коменты и лишние пустые строки из mpd.conf, то все отлично работает! Спасибо автору и всем кто комментировал!

Пожарыч, 2011-01-28 в 15:38:13

# (MPPE) using the ng_mppc(8) netgraph node type.
set bundle enable compression
set bundle enable crypt-reqd
set ccp yes mppc
set mppc yes compress
set mppc yes e40
set mppc yes e56
set mppc yes e128
set mppc yes stateless

Это настройки для Freebsd 8.1 + mpd5 для работы с компрессией.


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 10 чел.
За последние 30 мин было: 35 человек
За сегодня было
7273 показов,
827 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0466 секунд
Из них PHP: 37%; SQL: 63%; Число SQL-запросов: 77 шт.
Исходный размер: 156567; Сжатая: 29438