Настраиваем 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 или подобным способом.


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

Сегодня
Вчера
Эта неделя
Прошлая неделя
Этот месяц
Прошлый месяц
Вся статистика
123
48
258
34248
331
969
34579

IP: 216.73.216.169
Время: 2025-09-13 22:28:07
Счетчик joomla