Настраиваем VPN-клиента к MS CHAPv2 серверу в OpenSuSE
- Автор: Silver
- Просмотров: 451
ВАРИАНТ 1. Настройка соединения и старт вручную или из своего скрипта pppd. Хорош тем, что универсален для разных дистрибутивов.
Нужны приложения pppd и pptp с конфигами /etc/ppp/
1. Настройки соединения:
pc121:/etc/ppp # cat /etc/ppp/peers/peer.myname # name of tunnel, used to select lines in secrets files remotename myname # name of tunnel, used to name /var/run pid file linkname vpn.myname # name of tunnel, passed to ip-up scripts ipparam vpn.myname # data stream for pppd to use pty "/usr/sbin/pptp --loglevel 1 <SERVER_IP_OR_FQDN> --nolaunchpppd" # domain and username, used to select lines in secrets files name "" # use MPPE encryption refuse-pap refuse-chap require-mppe nomppe-stateful require-mppe-128 # we do not require the peer to authenticate itself noauth # we want to see what happen nodetach # lock the device lock # Do not use BSD compression nobsdcomp # Do not use deflate method nodeflate # do not replace defaultroute defaultroute # default MTU mtu 1400 # default MRU mru 1400 # disable IPX noipx # kernel level debug kdebug 0 # refuse EAP refuse-eap
2. Можно руками запускать pppd с параметрами и потом прописвать маршруты, а можно заюзать скриптик такого плана:
pc12:/usr/local/bin # cat /usr/local/bin/vpn-start #!/bin/bash pppd pty "pptp <SERVER_IP_OR_FQDN> --nolaunchpppd" file /etc/ppp/peers/peer.myname user <LOGIN> password <PASSWORD> & sleep 12 ; SRC_IP=`ifconfig ppp0 |grep inet |cut -d':' -f2 |cut -d' ' -f1` ; NETW=`ip route list |grep ppp0 |cut -d' ' -f1 |cut -d'.' -f1,2,3`'.0/24' ; GW=`ip route list |grep ppp0 |cut -d' ' -f1` ; ip route add $NETW via $GW dev ppp0 src $SRC_IP ;
P.S.: Нужно заменить <SERVER_IP_OR_FQDN>, <LOGIN>, <PASSWORD>
ВАРИАНТ 2. Старт через службу smpppd. Подходит для дистрибутивов SuSE Linux (возможно ещё каких-то).
1. Делаем конфигурацию для запуска pppd в /etc/ppp/peers/pptp.
# cat ./pptp plugin passwordfd.so # name of tunnel, used to select lines in secrets files remotename myname # name of tunnel, used to name /var/run pid file linkname vpn.myname # name of tunnel, passed to ip-up scripts ipparam vpn.myname # data stream for pppd to use pty "/usr/sbin/pptp --loglevel 1 <IP_OR_FQDN> --nolaunchpppd" # domain and username, used to select lines in secrets files name "" # use MPPE encryption refuse-pap refuse-chap require-mppe nomppe-stateful require-mppe-128 noauth nodetach lock nobsdcomp nodeflate defaultroute mtu 1420 mru 1420 noipx #refuse EAP! refuse-eap # this is a must noaccomp nopcomp
P.S.: <IP_OR_FQDN> заменить на адрес VPN-сервера.
2. C помощью Yast или руками создаём конфигурацию интерфейса /etc/sysconfig/network/ifcfg-dsl0.
# cat ./ifcfg-dsl0 BOOTPROTO='none' DEVICE='wlan0' MODEM_IP='<IP_OR_FQDN>' NAME='SomeName' PPPD_OPTIONS='debug' PPPMODE='pptp' PROVIDER='myprovider' STARTMODE='manual' UDI='' USERCONTROL='yes' VPIVCI=''
P.S.: <IP_OR_FQDN> заменить на адрес VPN-сервера, myprovider - файл, который описывает конфишг провайдера /etc/sysconfig/network/providers/myprovider .
3. C помощью Yast или руками создаём конфигурацию провайдера.
# cat ./myprovider ASKPASSWORD='no' AUTODNS='no' AUTO_RECONNECT='yes' DEMAND='no' DSLSUPPORTED='yes' IDLETIME='1000000' ISDNSUPPORTED='no' MODEMSUPPORTED='no' MODIFYDNS='no' PASSWORD='<PASSWORD>' PHONE='' PROVIDER='MyProvName' USERNAME='<LOGIN>'
P.S.: <LOGIN>, <PASSWORD> заменить на нужные значения.
Далее запуск через ifup dsl0 или подобным способом.