Новый синтаксис mpd5.conf и с чем его теперь подают :]

Автор Дмитрий, января 10, 2014, 02:05:49

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Дмитрий

Новый синтаксис конфига mpd5 и с чем его теперь подают!? 

Недавно решил наконец-то перейти на пятёрку!
Там уже появился нормальны resolve, который уже может постоянно делать это :)

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

В общем, начинаю ставить и думаю, что старые конфиги немного подправлю и будет опять работать как прежде.
Так нет, почти полностью поменялся синтаксис и по-этому выкладываю свои плоды мучений и поисков примеров!  :P

Для сервера секретный файл mpd.secret остался такой же, там ничего слава богу не поменяли!
mpd.secret         [----]  6 L:[  1+32  33/ 34] *(955 /1020b)    9 0x009                                                    [*][X]
#################################################################                                                                 
#                                                                                                                                 
#<----->MPD secrets file                                                                                                         
#                                                                                                                                 
# This file contains login, password pairs, called "secrets".                                                                     
# Entries are used for authentication in either or both directions,                                                               
# as well as telnet console login.                                                                                               
#                                                                                                                                 
# For example, to use the "MyLogin" secret, use this command:                                                                     
#                                                                                                                                 
#<----->set bundle authname MyLogin                                                                                               
#                                                                                                                                 
# Each entry may have a third field containing an IP address range                                                               
# specifying the allowable address assignments for that # peer.                                                                   
#                                                                                                                                 
# NOTE: this file should not be readable by anyone except root!                                                                   
#                                                                                                                                 
# $Id: mpd.secret.sample,v 1.1 2001/03/10 06:06:47 archiecobbs Exp $                                                             
#                                                                                                                                 
#################################################################                                                                 
#                                                                                                                                 
#MyLogin<------><------>MyPassword                                                                                               
#PeerLogin<---->PeerPassword                                                                                                     
#ConsoleLogin<->ConsolePassword                                                                                                   
#                                                                                                                                 
#fred<-><------>"fred-pw"                                                                                                         
#joe<--><------>"foobar"<------>192.168.1.1                                                                                       
#bob<--><------>"\x34\"foo\n"<->192.168.1.10/24                                                                                   
#sal<--><------>"yipee"><------>192.168.1.254                                                                                     
                                                                                                                                 
dimitry><------>"wjknefnoxcv"<->10.10.1.101                                                                                       
konstantin<---->"xkxmvlkdnfv"<->10.10.1.102                                                                                       
peiter<><------>"lmlkroevnmow"<>10.10.1.103                                                                                       
samurai><------>"234ufsd34jsff">10.10.1.104


А вот в основном конфигурационном файле mpd.conf, как видно на моем примере, все стало немного отличатся!
mpd.conf           [----]  0 L:[  1+ 0   1/ 63] *(0   /1646b)  115 0x073                                                    [*][X]
startup:                                                                                                                         
    set console self 127.0.0.1 5005                                                                                               
    set console open                                                                                                             
    set web self 0.0.0.0 5006     # задаем порт и диапазон IP для входа, 0.0.0.0 для всех, 10.1.1.0/24 вход только из сети
    set user bob 1234 admin       # задаем пользователя bob с паролем 1234 с правами admin для входа в консоль и на web морду
    set web open                                                                                                                 
                                                                                                                                 
default:                                                     # запускаем тут сервисы, настройки которых см. ниже
    load vpn                                                                                                                     
    load pptp                                                                                                                     
                                                                                                                                 
vpn:                                                         # Секция конфигурации PPTP-клиента
    create bundle static B                                                                                                       
    set mppc no compress                                                                                                         
    set bundle no compression
    set iface up-script /usr/local/etc/mpd5/if-up.sh                 # cкрипт запускается при "поднятии" интерфейса
    set iface down-script /usr/local/etc/mpd5/if-down.sh             # cкрипт запускается при "закртии" интерфейса
    create link static L pptp                                                                                                     
    set link action bundle B                                                                                                     
    set auth authname xxxxxxx                                                                                                     
    set auth password xxxxxxx                                                                                                     
    set link yes acfcomp protocomp                                                                                               
    set link disable pap eap                                                                                                     
    set link accept chap pap                                                                                                     
    set link enable no-orig-auth                                                                                                 
    set link keep-alive 10 30               # Настройка keep-alive (поддерживание сесии)
    set link max-redial 0                   # Настройка автоподключения в случае обрыва сесии
    set link mtu 1460                                                                                                             
    set pptp peer vpn.trifle.net            # Указываем адрес удаленного сервера
    set pptp disable resolve-once           # Указываем обновлять ip адреса сервера каждый раз при переподчинении
    set pptp enable outcall                                                                                                       
    set pptp disable windowing              # Отключаем оконный механизм, назначаемый протоколом PPTP, повышая этим производительность.
    open                       
                                                                                                                                 
                                                                                                                                 
pptp:                                                      # Секция конфигурации PPTP-сервера
    create bundle template B1                                                                                                     
    set iface enable proxy-arp                                                                                                   
    set iface enable tcpmssfix                                                                                                   
    #set ipcp yes vjcomp                                                                                                         
    set ippool add pool 10.10.1.101 10.10.145               # Указываем интервал выдаваемых ip адресов               
    set ipcp ranges 10.10.1.0/24 ippool pool                # Указываем параметры сети и выдаваемые ip адреса
    set ipcp dns 10.10.1.1 172.17.14.1                      # Указываем DNS сервера через пробел
    set ipcp nbns 10.10.1.1 172.17.14.1                     # Указываем DNS сервера для MS сетей
    #set bundle enable compression                          # Сжатие итак указано по умолчанию
    #set ccp yes mppc                                       # Указываем MS шифрование
    #set mppc yes compress e40 e56 e128 stateless           # Указываем размеры ключей               
                                                                                                                                 
    create link template L1 pptp                                                                                                 
    set link action bundle B1                                                                                                     
    set link mtu 1476                                                                                                             
    #set link mtu 1460                                                                                                           
    set link enable multilink                                                                                                     
    set link yes acfcomp protocomp                                                                                               
    set link disable pap eap                                                                                                     
    set link enable chap                                                                                                         
    set link enable chap-msv1                                                                                                     
    set link enable chap-msv2                                                                                                     
    set link enable no-orig-auth                                                                                                 
    set link keep-alive 10 60                                                                                                     
    set pptp self 0.0.0.0                                                                                                         
    set link enable incoming


Хотя клиентская чаcть почти ничем не отличатся от четвёрки! Только, разве что убрали теперь все no и оставили disable/enable/accept для почти всех установок! Главная же часть изменений синтаксиса затронуло серверную часть записей!! Теперь главное не перемешать команды!! Все настройки link нада прописывать только после записей create link и не раньше! Раньше приходилось статично прописывать к каждому туннелю свои записи и держать их открытыми на соединение! Теперь, с помощью template, можно не делать этого! Достаточно указать диапазон IP адресов ippool add pool и указать сетку свою в ipcp ranges к диапазону ippool pool и все! 8)  Да и open в конце при template не нужно ставить!

Да и скрипты для клиентской части записей для поднятия шлюза все таки еще нужно использовать! Куда без них уже денешься! :)

Этот на открытие сессии!
if-up.sh           [----]  0 L:[  1+ 0   1/ 15] *(0   / 424b)   35 0x023                                                    [*][X]
#!/bin/sh                                                                                                                         
                                                                                                                                 
ipnat -CF -f /etc/ipnat.rules                                                                                                     
ipf -y                                                                                                                           
ipf -Fa -f /etc/ipf.rules                                                                                                         
                                                                                                                                 
# Adds new default gateway. If it exists then it'll be saved in /var/tmp/default_route_old                                       
default_route_old=`route -n get default 2>&1 | grep gateway | awk '{print $2}'`                                                   
if [ $default_route_old ]; then                                                                                                   
echo $default_route_old > /var/tmp/default_route_old                                                                             
route -nq change default $4                                                                                                       
else                                                                                                                             
rm -f /var/tmp/default_route_old                                                                                                 
route -nq add default $4                                                                                                         
fi


А это для закрытия сессии и возврата основного шлюза, приписанного к сетевой карте!
if-down.sh
#!/bin/sh                                                                                                                         
# Returning old default gateway from file /var/tmp/default_route_old                                                             
if [ -r /var/tmp/default_route_old ]; then                                                                                       
    default_route_old=`cat /var/tmp/default_route_old`                                                                           
    rm -f /var/tmp/default_route_old                                                                                             
    route -nq change default $default_route_old                                                                                   
else                                                                                                                             
    route -nq delete default                                                                                                     
fi


Вот и все пироги!  всем спасибо!
Тут можно найти примеры конфигов всех версий   А по этой сслыке перевод всей документации по mpd5


Contact @Tecn0golic