Как настроить VPN-сервер на Ubuntu (4й шаг настройки сервера)

Расскажу как можно поднять VPN-сервер на локальной машине, чтобы пользователи смогли подключаться по паре логин/пароль без дополнительных файлов сертификатов.

Это руководство для личного пользования меня, поэтому пишу на «ты».

В моем случае это 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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.