Настройка vpn-сервера на основе сервиса pptpd в ubuntu.

1) Устанавливаем pptpd, любым способом.

2) Разрешаем проброс пакетов между интерфейсами:

$ sudo sysctl -w net.ipv4.ip_forward=1

Проверяем настройку:

$ cat /proc/sys/net/ipv4/ip_forward 
1 

3) Файл /etc/pptpd.conf должен выглядеть так:

option /etc/ppp/pptpd-options
logwtmp
localip 10.0.0.1
remoteip 10.0.0.100-200

localip — адрес виртуального сетевого интерфейса ppp0 (который появится после того как клиент будет подключен к серверу)

remoteip — диапозон адресов для клиентов

4) Файл /etc/ppp/chap-secrets должен выглядеть так:

box1 pptpd 11 "*"
box2 pptpd 22 "10.0.0.101"

box1 и box2 — это имена пользователей (login)

11 и 22 — это пароли для пользователей (password)

"*" - назначить любой адрес из диапазона адресов

"10.0.0.101" — назначить конкретный адрес

5) файл /etc/ppp/pptpd-options должен выглядеть так:

name pptpd
refuse-pap
refuse-chap
require-mschap-v2
refuse-mschap
require-mppe-128
ms-dns 8.8.8.8
ms-dns 8.8.4.4
mtu 1400
mru 1400
nodefaultroute
proxyarp
lock
nologfd
noipx
nobsdcomp
novj
novjccomp

6) Перезапускаем север:

service pptpd restart

проверяем что pptpd - сервер работает:

$ sudo netstat -alpn | grep :1723 
tcp        0      0 0.0.0.0:1723            0.0.0.0:*               LISTEN      28401/pptpd    

при этом вывод команды ifconfig не будет показывать наличия интерфейса ppp0

На стороне клиента в Ubuntu создаем соединение через:
«Изменить соединение» -> VPN

Настройки для нового vpn-соединения:
Шлюз — 192.168.1.10 (адрес интерфейса eth0)
Имя пользователя — box1
Пароль — 11
Аутентификация только mschapv2
Шифрование MPPE (любое доступное)
Сжатие всё отключить

После подключения клиента на сервере появится интерфейс:

$ ifconfig
ppp0      Link encap:Протокол PPP (Point-to-Point Protocol)  
          inet addr:10.0.0.1  P-t-P:10.0.0.100  Mask:255.255.255.255 
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1 
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:3 
          RX bytes:784 (784.0 B)  TX bytes:84 (84.0 B) 

На клиенте появиться соединение:

$ ifconfig
ppp1      Link encap:Протокол PPP (Point-to-Point Protocol)  
          inet addr:10.0.0.100  P-t-P:10.0.0.1  Mask:255.255.255.255 
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  Metric:1 
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:43 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:3 
          RX bytes:84 (84.0 B)  TX bytes:3781 (3.7 KB)