Это руководство для личного пользования меня, поэтому пишу на «ты».
В моем случае это pptp-сервер
А нет ничего сложного.
Для начала надо установить сам пакет pptpd
sudo apt-get install pptpd
К этому моменту он уже давно должна быть установлена, а теперь поехали конфигурировать настройки, чтобы стать vpn-сервером!
Начнем с опций pptp-options. Выполни следующее
sudo nano /etc/ppp/pptpd-options
В открывшемся файле уже много-много всяких интересных настроек, которые можно не удалять, а комментировать с помощью «#», а вот что там должно присутствовать обязательно:
# Authentication
auth
# Имя сервера авторизации
# (должно совпадать со вторым полем в /etc/ppp/chap-secrets)
name pptpd
# Optional: domain name to use for authentication
# domain mydomain.net
# Strip the domain prefix from the username before authentication.
# (applies if you use pppd with chapms-strip-domain patch)
#chapms-strip-domain
# Encryption
# Debian: on systems with a kernel built with the package
# Запрет небезопасных механизмов авторизации
# {{{
refuse-pap
refuse-chap
refuse-mschap
# Необходимость в прохождении точкой аутентикации посредством MS-CHAPv2
# [Microsoft Challenge Handshake Authentication Protocol, Version 2].
# !!! По поводу этого параметра все не однозначно, попробуй и так и эдак
require-mschap-v2
# Require MPPE 128-bit encryption
# Шифрование хорошо, но нам оно не нужно, если выстроите защищенную сеть,
# то стоит это раскомментировать
#require-mppe-128
# }}}
# Network and Routing
# Если pppd выступает в роли сервера для клиентов Microsoft Windows,
# эта опция позволит pppd предоставить клиентам один или два адреса
# DNS (Domain Name Server). Первый параметр этого ключа задает
# основной адрес DNS; второй параметр (если указан) задает
# дополнительный адрес DNS. (В более старых версиях pppd эта опция
# была представлена под именем dns-addr.)
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2
# Если pppd выступает в роли сервера для клиентов Microsoft Windows
# или клиентов "Samba" эта опция позволит pppd предоставить один
# или два адреса сервера WINS (Windows Internet Name Service).
# Первый параметр этого ключа задает основной адрес WINS; второй
# параметр (если указан) задает дополнительный адрес WINS.
#ms-wins 10.0.0.3
#ms-wins 10.0.0.4
# Внесение записи в таблицу ARP [Address Resolution Protocol]
# локальной системы, содержащую IP-адрес точки и Ethernet-адрес
# локальной системы. В результате этого точка получит доступ
# к другим системам в составе ЛВС, в которую входит данная система.
# (you do not need this if your PPTP server is responsible for routing
# packets to the clients -- James Cameron)
#proxyarp
# Debian: do not replace the default route
nodefaultroute
# Logging
# Подлючение средств отладки. Если задана данная опция, pppd будет
# журналировать в пригодной для последующего изучения форме содержимое
# всех отправляемых и получаемых пакетов управления.
# (see your syslog configuration for where pppd sends to)
debug
# С опцией dump pppd распечатает значения всех установленных опций
# (often requested by mailing list to verify options)
dump
# путь куда сбрасывать логи
logfile /var/log/pptpd.log
# Miscellaneous
# Задает pppd создавать блокировочный файл в стиле UUCP для каждого
# последовательного устройства для гарантированно эксклюзивного
# доступа к устройству.
#lock
# Disable BSD-Compress compression
#nobsdcomp
# Опция noipdefault избавит от попытки pppd использовать адрес IP,
# связанный с именем машины как локальный адрес
noipdefault
# Не пытаться автоматически осуществлять переподключение в случае
# разрыва соединения. Если не заданы ключи persist или demand,
# данная такое поведение стандартно
nopersist
Если в твоем файле есть другие настройки, то нещадно их комментируй
Идем к следующему файлу
sudo nano /etc/pptpd.conf
Снова видим кучу настроек среди них надо найти вот это и сделать точно так же как написано, все остальное комментируй, не ошибешься, если не уверен в обратном =)
################################################################## # $Id$ # # Sample Poptop configuration file /etc/pptpd.conf # # Changes are effective when pptpd is restarted. ################################################################## # TAG: ppp # Path to the pppd program, default '/usr/sbin/pppd' on Linux # #ppp /usr/sbin/pppd # TAG: option # Specifies the location of the PPP options file. # By default PPP looks in '/etc/ppp/options' # option /etc/ppp/pptpd-options # TAG: debug # Turns on (more) debugging to syslog # #debug # TAG: stimeout # Specifies timeout (in seconds) on starting ctrl connection # # stimeout 10 # TAG: noipparam # Suppress the passing of the client's IP address to PPP, which is # done by default otherwise. # #noipparam # TAG: logwtmp # Use wtmp(5) to record client connections and disconnections. # logwtmp # TAG: bcrelay <if> # Turns on broadcast relay to clients from interface <if> # # bcrelay eth0 # TAG: localip # TAG: remoteip # Specifies the local and remote IP address ranges. # # Any addresses work as long as the local machine takes care of the # routing. But if you want to use MS-Windows networking, you should # use IP addresses out of the LAN address space and use the proxyarp # option in the pppd options file, or run bcrelay. # # You can specify single IP addresses seperated by commas or you can # specify ranges, or both. For example: # # 192.168.0.234,192.168.0.245-249,192.168.0.254 # # IMPORTANT RESTRICTIONS: # # 1. No spaces are permitted between commas or within addresses. # # 2. If you give more IP addresses than MAX_CONNECTIONS, it will # start at the beginning of the list and go until it gets # MAX_CONNECTIONS IPs. Others will be ignored. # # 3. No shortcuts in ranges! ie. 234-8 does not mean 234 to 238, # you must type 234-238 if you mean this. # # 4. If you give a single localIP, that's ok - all local IPs will # be set to the given one. You MUST still give at least one remote # IP for each simultaneous client. # # (Recommended) # !!!!! # Самые главные параметры # ip сервера в сети, тот который выдает провайдер для локльной сети localip 172.17.2.10 # Диапазон выдаваемых ip для клиентов remoteip 10.231.56.2-10 # or #localip 192.168.0.234-238,192.168.0.245 #remoteip 192.168.1.234-238,192.168.1.245
Последний шаг создания клиентов. У нас уже должен быть файл /etc/ppp/chap-secrets
sudo nano /etc/ppp/chap-secrets
И нашему виду открывается
# Secrets for authentication using CHAP # client server secret IP addresses # Это соединенине сервера с VPN провайдера provider_login ttkvpn provader_get_pass * # А это соединение для пользвателей, # чтобы они могли подключиться к нашему pptp username pptpd 123456 10.231.56.3
Перезапуск pptpd
sudo /etc/init.d/pptpd restart
Теперь должно заработать
Помощь в расшифровке настроек я брал отсюда http://runetbsd.ru/wiki/pppd8