Настройка 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)