Администрирование Windows Windows XP: как быстро настроить VPN (соединить компьютеры через Интернет) Wed, October 18 2017  

Поделиться

нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Windows XP: как быстро настроить VPN (соединить компьютеры через Интернет) Печать
Добавил(а) microsin   

О том, что в Windows XP (как, впрочем, и в другие разновидности семейства Windows) встроен VPN-клиент, позволяющий совместно с VPN-сервером строить защищенные сети поверх Интернет (или других сетей), я знал давно.

Эта возможность широко используется даже для организации доступа в Интернет провайдерами. Но о том, что в Windows XP встроен легко запускаемый сервер (!) VPN, я узнал совсем недавно из статьи "Настраиваем VPN/OpenVPN на WinXP Professional и Win2003 Server" [1].
    
В статье все написано очень хорошо и правильно, но некоторые моменты в настройке все же упущены, поэтому решил заново на будущее расписать всю процедуру. Итак, процесс по шагам на примере соединения двух компьютеров с Windows XP (один работает как сервер VPN, другой как клиент VPN).

1. Для того, чтобы туннель VPN заработал, нужно обеспечить для сервера VPN публикацию в Интернете следующих портов и протоколов (не уверен, что все они нужны во всех случаях - в зависимости от типа соединения, например PPTP или L2TP, но лучше настроить их все):

порт 1701 UDP
порт 1723 TCP
IP протокол 47 (GRE)
IP протокол 50 (ESP)

Причем цифры 47 и 50 означают вовсе не порты TCP или UDP, а номера протоколов IP. Открытием портов и протоколов необходимо озаботиться в том случае, если на сервере VPN работает файервол, или сервер VPN спрятан за NAT, или если работает файервол на NAT-маршрутизаторе, за которым находится сервер VPN (последний случай как раз был у меня) - варианты могут быть различные. Вот, например, какие правила надо добавить для настройки ipnat на FreeBSD (компьютер на FreeBSD работает как пограничный с Интернетом NAT-маршрутизатор, за которым расположен сервер VPN с IP 192.168.0.1, ng0 - имя внешнего сетевого интерфейса, который подключен к Интернет):

rdr ng0 публичный_IP/32 port 1701 -> 192.168.0.1 port 1701 udp
rdr ng0 публичный_IP/32 port 1723 -> 192.168.0.1 port 1723 tcp
rdr ng0 публичный_IP/32 port 47 -> 192.168.0.1 port 47 gre
#rdr ng0 публичный_IP/32 port 50 -> 192.168.0.1 port 50 esp

Правило с протоколом esp здесь у меня закомментировано, так как PPTP-соединение у меня работало и без него. Правило с протоколом gre нужно для работы протокола PPTP, без него не проходит проверка пользователя и пароля, и после таймаута выскакивает ошибка 721 - "удаленный компьютер не отвечает".

На клиенте VPN нужно соответственно разрешить исходящие соединения на все вышеуказанные порты и протоколы (если на клиенте работает файервол). Если этот файервол - штатный Windows, то это происходит автоматически.

2. Сначала настраиваем сервер VPN.
2.1. Start -> Control Panel -> Network Connections -> меню File\New Connection..., на первом окошке жмем Next.
2.2. Дальше предложат выбрать тип сетевого соединения (Network Connection Type), выбираем 4-й сверху вариант "Set up an advanced connection" (Connect directly to another computer using your serial, parallel, or infrared port, or set up this computer so that other computers can connect to it.), жмем Next.
2.3. Далее выбираем "Accept incoming connections" (Allow other computers to connect to this computer through the Internet, a phone Iine, or a direct cable connection.), жмем Next.
2.4. Далее предложат выбрать устройства, которые компьютер может использовать для приема входящих соединений (поставить на нужых устройствах галочки). На самом деле в этом списке ничего трогать не нужно (сетевых интерфейсов типа Ethernet в этом списке нет), а еще лучше поубирать все галочки, которые мастер поставил, и просто надо нажать на кнопочку Next. У меня в этом списке было только устройство "Direct Parallel (LPT1)" (подозреваю, что можно наладить VPN, соединив компьютеры через порты LPT, кто бы мог подумать).
2.5. В следующем окне Incoming Virtual Private Network (VPN) Connection выбираем "Allow virtual private connections", жмем Next.
2.6. Предложат выбрать пользователей на VPN-сервере, которым разрешено выполнять подключение к создаваемому серверу VPN. Ставим галочки напротив нужных пользователей, жмем Next. Напоминаю на всякий случай - выбранные пользователи должны иметь хорошие пароли.
2.7. Далее идет окно "Networking Software" (Networking software allows this computer to accept connections from other kinds of computers.) - отображеи список сетевых сервисов с галочками. Кнопка Properties позволяет у некоторых сервисов отредактировать параметры. Советую заглянуть в свойства службы "Internet Protocol (TCP/IP)" - она первая в списке. По умолчанию там выбран вариант "Assign TCP/IP addresses automatically using DHCP", что иногда может вызывать конфликты, если у Вас в той же сети, в которой должна работать VPN, имеется сервер DHCP, работающий на другом компьютере. Рекомендую выбрать вариант "Specify TCP/IP addresses" и указать начальный и конечный адреса IP-адресов, которые будут выдаваться для создаваемого соединения VPN. Проверьте также галочки "Allow callers to access my local area network" и "Allow calling computer to specify its own IP address" - они должны быть установлены - см. рисунок.
MS-VPN01.JPG

В примере на рисунке указаны в виде начала и конца 2 адреса, сразу идущие друг за другом. Один из этих адресов будет назначен серверу VPN, а другой клиенту, и свободных адресов больше не останется. Это означает, что в каждый момент времени может быть активно только одно VPN-соединение. Если нужно бОльшее количество одновременных соединений, то нужно указывать соответственно и бОльший диапазон адресов.

Окно "Networking Software" последнее, нажатие Next на нем завершает настройку сервера VPN. После завершения настройки в папке Network Connections появится гордое соединение "Incoming Connections", и система начнет прослушивать входящие соединения по портам 1701 UDP и 1723 TCP. Как видно, настройка сервера упрощена до предела, нет возможности выбора сетевого адаптера, по которому будут приниматься соединения VPN (если сетевых соединений несколько), нельзя наложить ограничения на входящие соединения по времени или IP, но в большинстве случаев этого достаточно (если нет, то поднимайте сервер VPN на Windows 2003 или xNIX).

3. Теперь настроим клиента VPN - соединение на компьютере, который будет подключаться к серверу VPN.
3.1. Start -> Control Panel -> Network Connections -> меню File\New Connection..., на первом окошке жмем Next.
3.2. Дальше предложат выбрать тип сетевого соединения (Network Connection Type), выбираем 2-й сверху вариант "Connect to the network at my workplace" (Connect to a business network (using dial-up or VPN) so you can work from home, a field office, or another location.), жмем Next.
3.3. Далее просят выбрать из 2 вариантов "Dial-up connection" или "Virtual Private Network connection", выбираем второй вариант - VPN, жмем Next.
3.4. Далее предложат указать имя соединения - его можно указать произвольным (как его назовете, под тем именем оно и будет видно в папке Network Connections). Вводим имя, жмем Next.
3.5. Далее появится окно "Public Network" (Windows can make sure the public network is connected first.), в нем по сути устанавливаем, какое соединение надо запускать при подключении к публичной сети (Интернет). Если компьютер постоянно подключен к Интернет (что сегодня обычное дело), то выбираем Do not dial the initial connection. Жмем Next.
3.6. Появится окно "VPN Server Selection" (What is the name or address of the VPN server?), где надо ввести доменное имя или IP, под которым можно найти в Интернет сервер VPN. Вводим, жмем Next. На этом создание соединения завершается.
3.7. В папке Network Connections появится наше новое соединение с иконкой в виде облачка. Щелкнем на нем правой кнопкой мыши, выберем Properties.
3.8. На закладке Options может оказаться полезным убрать галочку "Prompt for name and password, certificate, etc.", тогда введенный пароль можно запомнить, и соединение VPN будет запускаться сразу.
3.9. На закладке Security проверьте, стоит ли галочка "Require data encryption (disconnect if none)" - если она стоит, то передаваемые через туннель данные будут всегда автоматически шифроваться (см. рисунок).
MS-VPN02.JPG

Кнопка "IPSec Settings..." позволяет сделать тонкие настройки протокола шифрования IPSec, но нам лезть в дебри не надо.
3.10. На закладке "Networking" надо поставить "Type of VPN: PPTP VPN". Другие варианты (Automatic и L2TP IPSec VPN) у меня почему-то не заработали, хотя ковырялся я с ними недолго. Кнопка "Settings" позволяет установит опции PPTP, там надо оставить все по умолчанию (галочки "Enable LCP extensions" и "Enable software compression" стоят, галочка "Negotiate multi-link for single link connections" снята). Если у Вас на клиенте необходимо сохранить работу Интернет при работающем VPN-подключении, то еще необходимо отключить шлюз для нашего VPN-соединения. Делается это в свойствах протокола TCP/IP - нажимаете внизу кнопку "Advanced..." и на первой закладке "General" снимаете галочку "Use default gateway on remote network". Если этого не сделать, то в системе будет 2 шлюза по умолчанию, и компьютер не поймет, куда посылать внешние пакеты.
MS-VPN03.JPG
3.11. Стандартная закладка Advanced позволяет включить/выключить файервол и некоторые другие опции. Помните, что по умолчанию файервол может быть активирован, и это может быть причиной того, что VPN-тоннель у Вас запустится, а передать через него Вы ничего не сможете (или он будет работать только в одном направлении).     Остальные закладки особого интереса не представляют.

На этом настройка и клиента, и сервера VPN завершена. Теперь если кликнуть на созданном соединении клиента VPN, то запустится соединение VPN. При этом и на сервере, и на клиенте создадутся виртуальные сетевые адаптеры, которые обеспечат прозрачную сетевую видимость компьютеров друг с другом - все сетевые пакеты будут ходить между клиентом и сервером VPN, как будто они соединены сетевым кабелем - привет, Хамачи (Hamachi, см. статью [2])! Причем если на шаге 2.7 были указаны IP-адреса, попадающие в уже существующую физическую подсеть, где есть другие компьютеры, то эти компьютеры становятся тоже доступны клиенту (либо серверу, в зависимости от того, какие IP адреса настроены).

Описанный сервер VPN на Windows XP позволяет подключить и VPN-клиентов других операционных систем, так как используются стандартные протоколы, но это наверное тема для другой статьи.

[Ссылки]

1Настраиваем VPN/OpenVPN на WinXP Professional и Win2003 Server site:ruskij.net.
2. Как поиграть в StarCraft (BroodWar) по Интернет.
3. VPN Setup site:chicagotech.net.
4Re: gre vpn PPTP 47/ip ipnat site:monkey.org.

 

Комментарии  

 
-1 #19 Сабир 17.05.2016 13:08
Потенциал WinXP только начал раскрываться, а её прикрыли! :) Как так?! Хотя лучше конечно для этих целей использовать что-то более конфигурируемое ;)
Цитировать
 
 
-1 #18 Евгений 23.07.2014 10:43
Есть сеть, 3 машины на ХР (рабочая группа). В одном компутере 2 сетевых карты, одна для локалки, вторая шлюз интернета. Интернет по шлюзу работает на всех трех машинах. На одной из машин еще и VPN должен работать, но не "хочет". Вопрос такой - для VPN необходимо прямое подключение компьютера к интернету, или он может получать его через шлюз с другого компьютера?

microsin: запустить клиентское соединение VPN можно на любом компьютере, который предоставляет прохождение пакетов до сервера VPN. Не имеет значение - шлюзовый это компьютер (роутер сети с двумя сетевыми картами), или это компьютер с одной сетевой картой, получающий Интернет через шлюз.

Разновидностей VPN напридумано и понаделано туева хуча, так что если у Вас что-то не работает, то читайте документацию по соответствующем у VPN, и проверяйте прохождение трафика по тем портам, которые задействует этот VPN.
Цитировать
 
 
-1 #17 Миша 19.07.2011 23:24
А как сделать чтобы VPN-соединение автоматически устанавливалось на клиенте при старте системы?

microsin: нужно ярлычок сетевого соединения на клиенте положить в папку Автозагрузка (Startup). Либо настроить "Назначенное задание", которое запускает соединение при старте Windows.
Цитировать
 
 
+2 #16 Dimashik 16.05.2011 15:12
Если Вы не имеете статического IP (он стоит около 100 р. в месяц у провайдера) но имеете нормальный ДИНАМИЧЕСКИЙ IP (нормальный в смысле он совпадает с тем, как Вас видит интернет например здесь http://2ip.ru/) то при помощи бесплатного сервиса http://www.dyndns.com/ можно сопоставить ИМЯ с Вашим ДИНАМИЧЕСКИМ IP. На компьютере запускается специальный клиент, он следит за вашим IP и постоянно обновляет его в базе DNS в случае разрыва соединения. Имена типа XXX.dyndns.info
Цитировать
 
 
+1 #15 Serhio 19.02.2011 17:00
В статье есть неточность: "Если нужно бОльшее количество одновременных соединений, то нужно указывать соответственно и бОльший диапазон адресов." Больше одного клиента ХР не может принимать одновременно!
Цитировать
 
 
-1 #14 VPN 18.02.2011 15:22
Цитирую gregs:
Если бы еще IP как-нибудь сделать постоянным :-?
используй dynDNS
Цитировать
 
 
0 #13 Ivan 17.01.2011 19:04
Айпи на сервере динамический, но он не меняется до реконнекта.
Почему-то часто разрывается соединение. В чем может быть причина?

microsin: причина может быть в неустойчивом канале, поверх которого работает VPN - например, потеря или большие задержки пакетов.
Цитировать
 
 
0 #12 Сергей 17.11.2010 20:44
Просто супер. Спасибо огромное, несколько часов мучился, пока нашёл вашу статью :)
Цитировать
 
 
0 #11 LAN2LAN 25.10.2010 02:40
С созданием VPN под Windows всё гораздо проще. Не нужно ставить никакой ISA или OpenVPN. Есть готовый бесплатный сервис в Инете - http://lan2lan.ru/. Работает через PPTP с поддержкой всяких MPPE и различных авторизаций. Сами определяете, какие компьютеры вгонять в VPN-сеть, настраиваете PPTP-соединения, помещаете их в автозагрузку и имеете свободный мозг.
Цитировать
 
 
0 #10 Wilson 05.10.2010 16:20
Спасибо огромное!
Хорошее пояснение, все настроил, все работает. :-)
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Top of Page