Настраиваем VPN-клиента к MS CHAPv2 серверу в OpenSuSE

ВАРИАНТ 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 или подобным способом.


Администрирование

Сегодня
Вчера
Эта неделя
Прошлая неделя
Этот месяц
Прошлый месяц
Вся статистика
56
3
150
26686
205
219
26866

IP: 3.16.203.218
Время: 2024-09-19 02:34:30
Счетчик joomla