Эта статья описывает установку и настройку того самого PPTP-сервера под управлением Linux.

В качестве исходных данных будем использовать: офисный интернет-шлюз под управлением Ubuntu Server 7.10 с адресом в локальной сети 192.168.1.1.

Для начала устанавливаем всё необходимое:

1
apt-get install ppp pptpd

Далее приступаем к настройке. Всё достаточно просто. Первым делом открываем в редакторе файл /etc/pptpd.conf и дописываем в конец следующие строки:

1
2
3
4
5
# IP-адрес сервера в локальной сети
localip 192.168.1.1

# Диапазон адресов для клиентов PPTP-сервера
remoteip 192.168.1.200-254

Следующим шагом дописываем в файл /etc/ppp/pptpd-options следующие две строчки:

1
2
3
4
5
# требуем авторизацию у клиентов
auth

# Используем шифрование
require-mppe

Ну и наконец открываем в редакторе файл /etc/ppp/chap-secrets и заполняем строчками вида:

1
2
3
4
5
6
# Если пользователь должен динамически получать IP-адрес
# из диапазона remoteip в pptpd.conf:
user1    pptpd    password1    "*"

# Если мы хотим привязать определённый IP  к логину:
user2    pptpd    password2    "192.168.1.101"

После этого перезапускаем pptpd: /etc/init.d/pptpd restart

Скорее всего на сервере стоит файрволл. Добавим в скрипт iptables несколько строк:

1
2
3
4
5
# Разрешаем протокол GRE для всех;
iptables -A INPUT -p gre -j ACCEPT

# Разрешаем соединение с PPTP-сервером для всех;
iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT

На этом настройка PPTP-сервера заканчивается. Для подключения из под Windows можно воспользоваться мастером настройки сети. В качестве сервера (“шлюза”) нужно указать внешний адрес нашего сервера. При настройке PPTP-соединения в Linux нужно не забыть включить использование mppe.