Настройване на mpd5 клиент на FreeBSD
Една от задачите на системния администратор е отдалечено администриране на различни сървъри. В Windows 2003 услугата за маршрутизиране е инсталирана и конфигурирана и към нея е установена клиентска vpn връзка. Така че го настроих, но защото Имах работещ сървър като клиент, това причини някои неудобства, например премахването на шлюза по подразбиране, в резултат моят dns сървър напълно загуби способността да препраща заявки към сървъра на доставчика :) Спрете, помислих си, имам своя работен кон - FreeBSD 8, който по отношение на функционалността не е по-лош от сървъра от 2003 г. И реших да вдигна клиента на него. И така, да тръгваме. Като клиент реших да използвам mpd5, защото неговите разработчици твърдят, че е напълно съвместим със сървъра 2003. Първо, малко теория - с какво трябва да се справим:
- IPCP(Eng. Internet Protocol Control Protocol- IP контролен протокол) е контролен протокол на мрежов слой за установяване, конфигуриране и прекратяване на IP връзка през PPP (протокол от точка до точка) връзка. IPCP използва същия механизъм за обмен на пакети като LCP (Link Control Protocol). IPCP пакетите не се обменят, докато PPP не навлезе във фазата на договаряне на протокола на мрежовия слой. Всички IPCP пакети, получени преди началото на тази фаза, ТРЯБВА да бъдат отхвърлени.
- CCP(Eng. Compression Control Protocol- протокол за контрол на компресията) - протоколът за контрол на компресията, включен в протокола PPP (Point-to-Point Protocol), регулира използването на различни алгоритми за компресиране на информация, когато тя се предава между крайните възли на комуникационните линии. Той е пряко отговорен за избора, конфигурирането и управлението на процесите на компресия по време на връзката
- Метод за компресиране на заглавкатаTCP/IPна Van Jacobson, протокол за компресиране на данни, описан в RFC 1144, е специално създаден от Van Jacobson за подобряване на производителността на TCP/IP при бавни серийни връзки. Методът за компресиране на Van Jacobson намалява типичните 40-байтови заглавки на TCP/IP пакети до около 3-4 байта (в най-добрия случай). Това се постига чрез запомняне на състоянието на TCP връзките в двата края на връзката и се изпращат само промени в полетата на заглавката, което води до доста голяма разлика по отношение на интерактивната производителност при връзки с ниска скорост, но не прави нищо за борба със забавянията на обработката, присъщи на повечето комутируеми модеми. Компресията на заглавката на Van Jacobson (наричана още „VJ компресия“ или просто „компресия на заглавка“) е незадължителна функция в повечето версии на PPP. Версиите на SLIP протокола, които поддържат VJ компресия, често се наричат "компресиран SLIP".
- Microsoft Point-to-Point Compression (MPPC)е протокол за компресиране на данни, първоначално предназначен за използване през PPP връзки. Използва алгоритъма Lempel-Ziv с плъзгащ се прозорец на буфера на историята от 8192 байта.
- Microsoft Point-to-Point Encryption (MPPE)е протокол за криптиране на данни, използван през PPP връзки. Използва алгоритъма RSA RC4. MPPE поддържа 40-, 56- и 128-битови ключове, които се променят по време на сесията (честотата на промяна на ключа се задава по време на ръкостискането на PPP връзката, по принцип е възможно да се генерира нов ключ за всеки пакет. MPPE не компресира данни, но често се използва във връзка с компресията на Microsoft Point-to-Point, предназначена за тази цел.
# MPPC компресията изисква собствени файлове (не са включени)
опции NETGRAPH_VJC След като инсталирате новото ядро, можете да започнете да инсталирате mpd5. Слагаме от портовете (след обновяването им), без опции. След инсталирането можете да започнете да конфигурирате. Всички настройки се съхраняват в mpd.conf (разположен по подразбиране в /usr/local/etc/mpd5).
Няколко думи за дизайна на конфигурацията. Трябва да се помни, че mpd е чувствителен към интервали, всички отстъпи трябва да бъдат форматирани като раздели. Опциите трябва да се прилагат според контекста, т.е. например set ipcp yes vjcomp не може да бъде в секцията на слоя за връзка (връзка), но трябва да бъде само в пакета.
# Тук настройваме конзола, която може да контролира демона mpd5,
задайте потребителски администратор администратор администратор
задайте самостоятелна конзола 127.0.0.1 5005
задайте отворена конзола
задайте web self 0.0.0.0 5006
# Заредете секцията, която създава тунела
# PPTP клиент: само изходящи повиквания, автоматично повторно свързване,
# ipcp-договорен адрес, едностранно удостоверяване,
# маршрутни точки по подразбиране от страна на ISP
създаване на статичен пакет B1
задайте ipcp диапазони 10.123.12.221/24 10.123.12.231/24
задайте iface up-script /usr/local/etc/mpd5/up.sh
задайте iface down-script /usr/local/etc/mpd5/down.sh
задайте iface enable tcpmssfix
задайте ipcp да vjcomp
# Петте реда по-долу позволяват Microsoft Point-to-Point криптиране
# (MPPE) с помощта на типа netgraph възел ng_mppc(8).
задайте компресиране на пакета
set bundle enable crypt-reqd
комплектccp да mppc
задаване на mppc да компресиране e40 e56 e128 без състояние
създаване на връзка статичен L1 pptp
набор от действия за връзка B1
set link enable multilink
задаване на auth authname [ВХОД]
задаване на парола за удостоверяване [ПАРОЛА]
задайте максимално повторно набиране на връзка 0
задайте връзка mtu 1460
задайте поддържане на връзката 20 75
задаване на връзка без eap pap
задаване на връзка приемане на chap-msv2
задаване на връзка разрешаване на входящи
задайте pptp peer sample.host.ru
задаване на pptp дезактивиране на прозореца
Имаме нужда от началния и крайния скрипт (up.sh и down.sh), за да зададем правилните маршрути към vpn сървъра. Ето тяхното съдържание:
default_route_old=`route -n get default 2>&1 grep gateway awk ''`
ехо $route_isp > /var/tmp/route_isp
if [ $default_route_old ]; тогава
ехо $default_route_old > /var/tmp/default_route_old
route -nq промяна по подразбиране `echo $3 cut -c1-13` -ifp $1
маршрут -nq добави $route_isp $default_route_old -ifp msk0
rm -f /var/tmp/default_route_old
route -nq промяна по подразбиране `echo $3 cut -c1-13` -ifp $1
маршрут -nq добави $route_isp $default_route_old -ifp msk0
# Върнете стария шлюз от файла /var/tmp/default_route_old
ако [ -r /var/tmp/default_route_old]; тогава
rm -f /var/tmp/default_route_old /var/tmp/route_isp
route -nq промяна по подразбиране $default_route_old
route -nq изтриване на $route_isp
Връзката се установява от командата
# mpd5 vpn След това тази връзка може да се управлява или чрез конзолата, или чрез уеб интерфейса чрез свързване към localhost:5006.