Это руководство для личного пользования меня, поэтому пишу на «ты».
В моем случае это 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