среда, 26 января 2011 г.

Сервер VPN на Windows Server 2003 SP2

Настройка VPN сервера на windows 2003. Просто и понятно. 

Этот мануал является своего рода ответом на статью Настройка VPN сервера в Windows 2003, продублированную, например здесь, изначально взятую, скорее всего, с сайта Трафик инспектора.
Мануал сделан под мои цели и теперь приближен к самым простым пользователям. 

Одни из моих клиентов - это офис. 12 ПК, плюс несколько ноутбуков через wifi. Упрощенно схема выглядит так:
Простая офисная сеть.


За качество рисунков прошу прощения, пользовался тем, что нашёл первым. Первой подходящей программой для рисования сети оказалась бесплатная программа Network Notepad.
Продолжим.
Сеть держится на Windows Server 2003 sp2. Через сервер происходит файлообмен, на нём хранятся базы 1С, на нём же стоит UserGate для контроля интернет-трафика пользователей сети. AD нет.
Конечно, всё это можно сделать на базе Linux, но я пока в этом не силён, мой дом - винда.
Сеть и так работает исправно, проблем не доставляет.
Понадобилось мне организовать удалённый доступ к этой сети, чтобы я мог со своего ноутбука всегда к ней подключиться, получить от сервера адрес в офисной сети. Нагуглил много нужного и ненужного, из всего этого сделал выжимку, и решил поделиться своим опытом в настройке, написал этот мануал. Со скриншотами, конечно, для наглядности.
Вот, что в итоге должно получиться.

Вот рабочий стол сервера, окно свойств системы:
 

Далее отключаем службу брандмауэра. Иначе не получится установить службу "Маршрутизация и удалённый доступ":

Если кто не помнит или не знает - жмём правой кнопкой мыши по иконке "Мой компьютер", выбираем "Управление", далее - "Службы и приложения" - "Службы".
Находим "Брандмауэр windows". Жмём "Стоп", тип запуска службы меняем на "Отключено", затем "ОК" :



Управление компьютером можно закрыть. Далее запускаем "Управление данным сервером" (Панель управления - Администрирование):

Выберем "Добавить или удалить роль". Появится следующее окно:

Читаем, жмём "Далее". Начнётся анализ ваших сетевых подключений. У меня их два - lan и net:

Если имеются неактивные сетевые платы или интерфейсы - появится предупреждение. Продолжаем:

Выбираем особую конфигурацию:

Выберем "Сервер удаленного доступа":

Жмём на "Далее", пока не появится окно выбора конфигурации:

Нам нужен первый пункт. Выбираем, жмём "Далее". Выбираем "Удаленный доступ":

Далее выберем тот сетевой интерфейс, который "смотрит" в Интернет:

Кстати, ip-адрес на сервере должен быть белым! Иначе к нему будет невозможно подключиться извне. В идеале, если адрес еще и статический. Удобнее будет.

По ряду причин адресация в офисе статическая, ip-адреса прописаны на каждом ПК вручную. Соответственно, в сети нет DHCP-сервера, поэтому в следующем окне мы выбираем второй вариант:

Мы должны выбрать свободный диапазон адресов, не занятый никакими компьютерами в сети, чтобы при подключении клиента к серверу через VPN, ему выдавался адрес из диапазона офисной сети. Таким образом, подключившийся клиент является полноценным участником локальной офисной сети, со всеми вытекающими.
Выделяем диапазон:




RADIUS нам нафик не нужен, отказываемся:

Всё почти готово:

DHCP, как я и говорил, у нас нет, потому следующее сообщение игнорим:

Немного ждём:

Победа близка!

В "Управлении сервером" появилась новая роль. Это то, что нам нужно:

Выбираем "Управление удаленным доступом", откроется консоль "Маршрутизация и удаленный доступ":

Выберем сначала "Имя Вашего сервера", затем "Порты":

В свойствах "Портов" изменим количество L2TP и PPOE - портов на 0, так как они нам не понадобятся. Для доступа нам нужны только PPTP - порты. Мне было достаточно 5, число зависит от числа необходимых одновременных подключений:


Далее выберем свойства нашего сервера. Для этого вызовем контекстное меню:

Нам нужна вкладка "Безопасность", там выберем "Методы проверки пользователей":

Вот что мы видим:

А вот как надо сделать:
 Остальные вкладки не трогаем, пусть всё будет как было:



Далее снова заходим в "Управление компьютером", выбираем пользователя, чьи данные будем использовать для "дозвона" до vpn-сервера. Под одним и тем же логином и паролем можно заходить параллельно одновременно нескольким клиентам, они будут получать разные IP из назначенного диапазона. Для примера я выбрал Администратора, выбрал его свойства, и на вкладке "Входящие звонки" разрешил доступ по VPN:

"ОК", закрыть "Управление".

Перейдём к настройке клиента на примере моего ноутбука. Думаю, для Вас создать VPN-соединение не составит труда. У меня на ноутбуке стоит windows 7, приведу лишь скриншоты основных настроек соединения (стрелка указывает на поле, в которое нужно вписать ip-адрес вашего vpn-сервера, или его имя):

 Тут я ничего не трогал:
 Сменил тим VPN на PPTP, поставил необязательное шифрование, выбрал протокол MS-CHAP v2, остальное отключил, как показано:

В свойствах протокола TCP/IPv4 необходимо выбрать "Дополнительно", и в открывшемся окне убрать галку "Использовать основной шлюз в удаленной сети". Если этого не сделать, то при подключении данного VPN-соединения, у нас будет пропадать интернет.



Раньше для удалённого контроля офисных ПК я использовал TeamViewer, теперь же я подключаюсь через VPN к сети офиса, и захожу на офисные машины через RDP. Скорость в разы больше, трафика кушается меньше, и не используется никакого стороннего софта, всё родное, 100%-совместимое. Красота!

Пока это всё, что я хочу Вам рассказать. Непривычно писать такие мануалы, но, думаю, к этому можно быстро привыкнуть, лишь бы кому-то от них был толк! Оставляйте комментарии, не важно, положительные или отрицательные, но выскажите своё отношение к тому, что я написал. Feedback очень важен!

P.S.: как сделать автоматическое подключение VPN соединения при загрузке Windows читайте здесь.

12 комментариев:

  1. Интересно. Спасибо, добавил в избранное.

    ОтветитьУдалить
  2. спасибо, хороший мануал

    ОтветитьУдалить
  3. Спасибо, очень пригодилась статья!

    ОтветитьУдалить
  4. Очень большое спасибо, предстоит настраивать такую штуку скоро. мануал доходчивый и детальный!

    ОтветитьУдалить
  5. за статью спасибо, а кто то нашел способ присваивать статические IP адреса вместо динамических

    ОтветитьУдалить
    Ответы
    1. Есть такой способ! Подробнее могу в твитере рассказать (worobyov)

      Удалить
  6. Просто огромадное спасибо! Сколько ж я времени убил, пытаясь разобраться в этой китайской грамоте! А здесь все разложено по полочкам, да еще и разжевано.
    У меня в сети ситуация полностью аналогичная. Сегодня настроил по Вашему руководству и, о чудо, всё заработало! И главное без сторонних приблуд и костылей, всё стандартными средствами винды. В-общем, я доволен как слон ))
    Единственное замечание: не упомянуто, что если выход в интернет происходит через роутер с включенным NАТ и брандмауэром, то в нем надо открыть порт 1723, который используется для VPN соединений по протоколу PPTP.

    ОтветитьУдалить
    Ответы
    1. Про проброс портов не упомянул, согласен. Хотя все роутеры разные и процедура открытия портов тоже.

      Удалить
  7. И еще хотелось бы узнать, как правильно настроить DNS для таких подключений. На работе подключаешься по терминалке к компьютерам server1, acct2 и т.п., а при подключении по vpn приходится забивать вручную цифирные ip.
    Я пока смог это решить лишь редактированием файла hosts, но может быть есть более изящный выход?

    ОтветитьУдалить
    Ответы
    1. Таким вопросом я пока не задавался, хотя было бы интересно его проработать! Если у Вас будут варианты решения этой задачи - напишите пару строк в комментариях, или лично мне в твиттер. Ссылка на него в шапке страницы.

      Удалить
  8. Настроил по Вашей инструкции VPN и благополучно ей пользовался. Клиенты заходили (и заходят) с машин под Win XP, Win 7, Win 8.
    Но вот попробовал я на своем нетбуке обновиться с 8-й до 10-й винды и тут кранты! Перенастроил VPN по-новой, но комп наотрез отказывается к ней подключаться, хотя раньше благополучно к тому же серверу с теми же настройками подсоединялся без проблем.
    Любопытно, что теперь в сетевых подключениях появился WAN-порт с названием сети. Как я понял бОльшая часть настроек клиента должна теперь производиться через его свойства? Так вот, когда в свойствах этого порта прописываешь тип VPN PPTP, то клиент при попытке подлючения сразу "зависает" на полминуты, а потом заявляет, что "Не удается подключиться". А если тип VPN поставить "Автоматически" (при этом почему-то всегда выбирается тип IKEv2), то клиент быстренько проходит первую ступень подключения, потом авторизацию пользователя (тоже удачно!), а потом снова "Подключение", зависание на те же полминуты и то же самое сообщение об ошибке.
    Всю голову сломал в чём может быть дело. Нет никаких догадок?

    ОтветитьУдалить