Home > Linux, System administration > Настройка pptpd в Debian и CentOS: часть первая

Настройка pptpd в Debian и CentOS: часть первая

 

В этой статье мы будем настраивать на нашем сервере VPN-демон pptpd.

VPN (англ. Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет). Несмотря на то, что коммуникации осуществляются по сетям с меньшим неизвестным уровнем доверия (например, по публичным сетям), уровень доверия к построенной логической сети не зависит от уровня доверия к базовым сетям благодаря использованию средств криптографии (шифрования, аутентификации, инфраструктуры открытых ключей, средств для защиты от повторов и изменений передаваемых по логической сети сообщений). (c) Wikipedia

Устанавливаем необходимые пакеты:

# aptitude update
# aptitude install pptpd ppp

Аналогично для rhel (centos, fedora, etc):

# yum update
# yum install pptpd ppp

Настраиваем конфиг pptpd:

# nano /etc/pptpd.conf

Указываем в параметр localip IP-адрес нашего сервера, в remoteip указываем IP-адреса, которые могут быть выданы клиентам. Туда же можно вписать диапазон, если количество клиентов предполагает быть больше 10. В моем случае оно выглядит так:

localip 192.168.1.100
remoteip 192.168.1.105-140

Соответственно, удаленным клиентам будут присваиваться адреса в диапазоне 192.168.1.105-140. После этого, в этом файле в принципе трогать ничего не нужно. Далее настраиваем конфиг pptpd-options:

# nano /etc/pptp/pptpd-options

Вписываем DNS-сервера, оставляем параметры nodefaultroute и proxyarp незакоментированными:

# Network and Routing

# If pppd is acting as a server for Microsoft Windows clients, this
#option allows pppd to supply one or two DNS (Domain Name Server)
#addresses to the clients. The first instance of this option specifies
#the primary DNS address; the second instance (if given) specifies the
#secondary DNS address. Attention! This information may not be taken
#into account by a Windows client. See KB311218 in Microsoft's knowledge
#base for more information. ms-dns 79.165.94.199 ms-dns 87.240.1.1

ms-dns 192.168.1.1
ms-dns 8.8.8.8
ms-dns 87.240.1.1
ms-dns 87.240.1.2

# Debian: do not replace the default route
nodefaultroute

# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system. This will have the effect of making the peer appear to other
# systems to be on the local ethernet.
# (you do not need this if your PPTP server is responsible for routing
# packets to the clients -- James Cameron)
proxyarp

 

В ms-dns вписываем DNS, выданные Вам провайдером. В моем случае, первый DNS – это роутер, второй – google, третьи и четвертые – выданные провайдером. Теперь настраиваем учетные записи протокола chap для пользователей user и bux:

# nano /etc/ppp/chap-secrets

Стараемся соблюдать таблицу. В конфиге уже должен быть пример, потому я думаю добавить пользователя не составит труда.

# Secrets for authentication using CHAP
# client server secret IP addresses
user pptpd password "*"
bux pptpd qwerty123 "*"

Первый столбец – имя пользователя, второй обозначение протокола, третий – сам пароль, четвертый – IP, с которого сервер будет пускать данного клиента. Если кавычки пусты (т.е. в них стоит звездочка) – значит пускать будет с любого IP.

Теперь настроим маршрутизацию:

# nano /etc/rc.local

И в конец файла, перед exit 0 впишем:

echo 1 >/proc/sys/net/ipv4/ip_forward

Перезапустим демон pptpd:

# service pptpd restart

или

# /etc/init.d/pptpd restart

Дело за малым – осталось рассказать, как настроить pptp-клиент. Напишу позже новым постом. Собственно всё, теперь у Вас есть собственный vpn-сервер 🙂

  1. Максим
    November 14th, 2012 at 16:31 | #1

    Где взяли pptpd для Centos?

    • erdees
      November 17th, 2012 at 10:17 | #2

      epel вроде
      вообще, везде куча репозитариев и .rpm с ppp* лежит, так что по-моему нет смысла интересоваться

  1. No trackbacks yet.