Openvpn какой порт пробросить в роутере
Правила LAN (LAN.jpg)
Правила WAN (WAN.jpg)
Правила OPENVPN (OPENVPN.jpg)
Логи OPENVPN (LogOpenVpn.txt)
Есть подозрение что такая технология не работает из-за перед pf стоящим роутером. Это так? Можно ли как выкрутится?
192.168.20.1 - это там где стоит pfsense ? Если да - то пробросьте порт 1194\UDP с роутера на 192.168.20.1.
И откл. блокирование серых сетей на WAN pfsense. У вас оно вкл.
Идеальный вариант - первым всегда стоит pfsense. Хотите wi-fi - переведите wi-fi роутер в режим простой ТД (если нет возможности - просто откл. dhcp на роутере), подключите его в LAN-порт к свитчу, в к-ый воткнут LAN pfsense.
P.s. У вас tp-link ? Попробуйте openwrt на него прошить. Только будьте внимательны, если у Вас tp-link 941 n(d) hw 3.1
192.168.20.1 - это там где стоит pfsense ?
Да. 192.168.20.0 это LAN. 192.168.10.0 это WAN
Если да - то пробросьте порт 1194\UDP с роутера на 192.168.20.1.
Правильно ли у Вас понял, это делать надо в настройках роутера а не pfSense. Если в pfSense, то подскажите где это делать.
И откл. блокирование серых сетей на WAN pfsense. У вас оно вкл.
Идеальный вариант - первым всегда стоит pfsense.
Да согласен, только вот у меня в роутер воткнут USB модем от Мегафона. Если его втыкать в pfSense - это уже другая история…
Правильно ли у Вас понял, это делать надо в настройках роутера а не pfSense.
Верно. Делать на роутере.
Да согласен, только вот у меня в роутер воткнут USB модем от Мегафона. Если его втыкать в pfSense - это уже другая история…
Модель модема ? Pfsense, что вполне возможно, поддерживает Ваш модем. И это не трудно проверить.
P.s. Все же, что за роутер-то ?
Замечательно. В понедельник попробую…
3G модем E1550 от Мегафона, без каких либо прошивок.
На котором сейчас пробую тестовую сеть ASUS RT-N66U. На нем и буду в понедельник пробовать проброс портов, о чем писали Вы выше.
Тот который сейчас стоит основной в рабочей сети TP-LINK TL-WR1043ND (1-ая версия беленький). Если получиться настроить ASUS, в нем придется проделать тоже самое.
А так хочу: сейчас стоит Kerio старенький, выполняет роль шлюза и VPN сервера. Крутиться он на старенькой машинке и периодически виснет. Да и не выполняет тех уже функций, которое хотело бы мое руководство. Новая версия платная.
Хочу создать тестовую модель на pfSense, так чтобы максимально была схоже с текущей. Чтобы потом Kerio выдернуть и вместо него поставить pfSense с минимальными поправками в конфигурации. Поэтому и с модемом USB не хотелось бы дружить pfSense, когда в дальнейшем он участвовать в сети не будет.
3G модем E1550 от Мегафона, без каких либо прошивок.
Должен поддерживаться. Только если мат. плата старовата - нужно воткнуть именно в USB 2.0 разъем на ней. Потому как могут
быть чистые USB 1.1.
На котором сейчас пробую тестовую сеть ASUS RT-N66U. На нем и буду в понедельник пробовать проброс портов, о чем писали Вы выше.
Тот который сейчас стоит основной в рабочей сети TP-LINK TL-WR1043ND (1-ая версия беленький). Если получиться настроить ASUS
Его перепрошить на OpenWRT . Тем более, что 15-ую почти допилили. Её и шейте.
А так хочу: сейчас стоит Kerio старенький, выполняет роль шлюза и VPN сервера. Крутиться он на старенькой машинке и периодически виснет
Более чем похвальное начинание. И оно того стоит. Удачи Вам.
Извиняюсь, не часто мне приходится эксперементировать в данном направлении этой темы, постоянно отвлекают на работе другими проблемами…
Теперь по сути. Решил я перепрошиться на TomatoUSB.
Скачал с официального сайта АСУС утилиту Firmware Restoration для роутера ASUS RT-N66U.
Какая ревизия у Вашего роутера ? Она написана на "попе" у него - HW ver что-то там.
Через утилиту не надо. Просто выкл. роутер, зажимаете reset и вкл. роутер. Ждете до тех пор пока диод не начнет мигать.
Затем заходите через IE (?) на 192.168.1.1 и перепрошиваете через CFE miniWeb Server.
P.s. Все же форум посвящен др. продукту. Пишите мне в личку. Попробуем решить проблему.
Да, согласен, здесь об этом не стоит писать. Сейчас напишу вличку, кажется я нашел как написать … )
Организация каналов между офисами при помощи OpenVPN с дополнительной парольной защитой
OpenVPN пользуется заслуженной популярностью у системных администраторов, когда нужно быстро и эффективно соединить VPN-каналами удаленные офисы. Сегодня предлагаем вам статью нашего читателя в которой он расскажет вам как настроить безопасный канал между офисами с дополнительной парольной защитой на платформе Windows.
И так нам нужно организовать VPN канал между двумя офисами. Сеть Офис 1 (назовем его С_ОФ1) и Сеть Офис 2 (назовем его С_ОФ2).
Скажу сразу что в моем случае OpenVPN в обоих офисах установлен на Windows 7.
С_ОФ1 включает:
Машина куда ставим OpenVPN Server имеет 2 сетевых интерфейса.
Также на ней установлен прокси-сервер который раздает инет в локалку, тем самым являясь для всех машин в локалке основным шлюзом(192.168.0.100)
192.168.0.100 смотрит в сеть
192.168.1.2 смотрит в мир через роутер. Роутер имеет статический IP скажем 111.222.333.444. На роутере сделан проброс порта 1190 (в моем случае порт 1190 проброшена на 192.168.1.2)
Пользователь в сети: 192.168.0.50
С_ОФ2 включает:
Машина куда ставим OpenVPN Client имеет 2 сетевых интерфейса.
Также на ней установлен прокси-сервер который раздает инет в локалку, тем самым являясь для всех машин в локалке основным шлюзом(172.17.10.10)
172.17.10.10смотрит в сеть
192.168.1.2 смотрит в мир через роутер.
Пользователь в сети: 172.17.10.50
Задача: Пользователь С_ОФ1(192.168.0.50) должен видеть расшареные ресурсы на Пользователе С_ОФ2 (172.17.10.50) и наоборот.
Приступаем к настройке
Скачиваем OpenVPN с официального сайта в соответствии с разрядностью системы.
Запускаем установку, на 3-м шаге активируем неактивные пункты.
Следующий шаг - путь для установки. Чтобы облегчить себе дальнейшую жизнь, устанавливаем в корень диска С.
В процессе установки в систему инсталлируется виртуальный сетевой адаптер TAP-Win32 Adapter V9 и, соответственно, драйвер к нему. Этому интерфейсу программа OpenVPN как раз и будет назначать IP адрес и маску виртуальной сети OpenVPN. В нашем случае ему назначен адрес 10.10.10.1с маской 255.255.255.0 на сервере С_ОФ1 и 10.10.10.2 с аналогичной маской на клиенте С_ОФ2.
Переименуем его в "VPN"
В директории "C:\OpenVPN" следует сразу же создать дополнительно папку ssl (здесь мы будем хранить ключи аутентификации) папку ccd (здесь будут находится конфигурация настроек сервера для клиента).
В папке easy-rsa создаем файл vars.bat, данный пакетный файл будет задавать переменные для сеанса генерации сертификатов, в той части что касается организации и расположения заполняем своими данными.
Запускаем командную строку от имени администратора.
Переходим по пути C:\OpenVPN\easy-rsa, набрав для перехода в командной строке команду
Запускаем vars.bat:
Далее запускаем clean-all.bat:
Теперь запускаем build-ca.bat. Так как вся информация о сервере у нас уже заполнена, все оставляем без изменений:
после этого у нас в папке ssl появится два файла ca.crt и ca.key.
Запускаем build-dh.bat:
в результате у нас в папке ssl появится файл dh1024.pem.
Создаем серверный ключ, для этого вводим команду:
где "ServerVPN" это название нащего VPN сервера, как в моем случае,
Важно! Указываем параметр "commonname" - пишем имя нашего VPN сервера. Все остальные параметры оставляем по умолчанию, на все вопросы отвечаем yes
в результате у нас в папке ssl появятся файлы ServerVPN.crt, ServerVPN.csr, ServerVPN.key.
Приступаем к формированию клиентских ключей.
где "UserVPN_1" имя нашего клиента.
Важно! Указываем параметр "commonname" - пишем имя нашего VPN клиента(UserVPN_1). Все остальные параметры оставляем по умолчанию, на все вопросы отвечаем yes
В результате у нас в папке ssl появятся файлы UserVPN_1.crt, UserVPN_1.csr, UserVPN_1.key.
Если у вас несколько клиентов, то повторяем формирование ключей; не забывая каждому клиенту присваивать свои имена
Генерация ключа tls-auth (ta.key) для аутентификации пакетов, для этого переходим в корневую папку OpenVPN:
и выполняем команду:
в результате в папке ssl плучим файл ta.key.
Приступаем к созданию конфига сервера. В папке config создаем файл OpenVPN.ovpn:
В папке ccd создаем файл без расширения и называем его точно, как клиента UserVPN_1, открываем его блокнотом и пишем следующее:
Создаем конфиг клиента.
Устанавливаем на клиенте OpenVPN, предаём ему ca.crt, UserVPN_1.crt, UserVPN_1.key, ta.key.
Настраиваем файрволы и антивирусы на клиенте и на сервере для беспрепятственного прохождения пакетов. Описывать не буду все зависит от установленных антивирусов и файрволов.
После всего этого запускаем наш сервер и клиент.
Если все правильно сделали наш сервер получит IP 10.10.10.1 и подключится к нему клиент и получит IP 10.10.10.2 . И так подключение у нас состоялось теперь сервер и клиент пингуют друг друга по IP нашей VPN сети, то есть 10.10.10.1 и 10.10.10.2.
Для того чтобы пинг шел по внутренним адресам наших С_ОФ1 и С_ОФ2 нужно включить службу Маршрутизации и удаленного доступа.
Hужно зайти в свойства службы, настроить ее на автоматическое включение и запустить.
После этого мы сможем пинговать внутренние IP сервера и клиента (172.17.10.10 клиент и 192.168.0.100 сервер).
Но у этого способа есть маленький недостаток: после включения этой службы и подключения к нашему VPN-каналу на значке сетевого подключения повиснет красный крест до отключения VPN.
При этом все сети работают в штатном режиме. Лично меня этот крест раздражает и иногда сбивает с толку.
Есть второй способ как сделать видимыми внутренние IP сетей наших сервера и клиента.
Для этого заходим в реестр, открываем ветку реестра:
Находим параметр и меняем значение: IPEnableRouter типа REG_DWORD значение 1.
Не забываем перезагрузить машину, чтобы настройки вступили в силу!
Это нужно проделать и на сервере, и на клиенте.
Итак мы пингуем наши сети по внутренним IP, а так как у нас и сервер и клиент для своих сетей являются шлюзами, то и машины из сети 1 могут видеть машины из сети 2 и наоборот. то есть Пользователь С_ОФ1(192.168.0.50) может видеть расшаренные папки Пользователя С_ОФ2 (172.17.10.50) и наоборот.
Если сервер и клиент не будут являться шлюзами для своих сетей, в том случае придётся прописывать маршруты руками.
Пример для С_ОФ1:
Пример для С_ОФ2:
в моем случае этого не понадобилось.
Для автоматического запуска сервера и клиента нам нужно включить службу OpenVPN Service
теперь при загрузке машины сервер автоматически стартует, а при включении машины клиента он также автоматически подключится к серверу.
Дополнительная защита
Как известно в OpenVPN есть возможность аутентификации по сертификатам, как описано выше, а так же по логину и паролю, но можно еще и объединить их вместе. Насколько мне известно только в Linux есть возможность штатными средствами настроить аутентификацию по логину и паролю, но в Windows это тоже можно решить. Для этого в папке config создаем файл auth.vbs и пишем в него следующее
Так же в папке config содаем файл Users.pw туда пише логин и пароль нашего клиента
Если несколько клиентов то:
Дальше нужно в конфиге клиента прописать строку auth-user-pass, теперь когда клиент будет подключаться к серверу у него будет выплывать окно авторизации где нужно ввести логин и пароль, который вы назначили ему в Users.pw,их нужно будет сообщить клиенту.
У меня настроено что имя пользователь(логин) соответствует имени клиента в сертификате, то есть UserVPN_1. но можно задать и другое имя отличное от имени в сертификате, для этого нужно смотреть настройки в auth.vbs.
' открываем переменную окружения common_name (это CN предъявленного клиентом сертификата)
' и сравниваем её с введенным именем пользователя.
' если это сравнение не нужно, то следующие 2 строки удалить или закомменировать
.
Хочу рассказать вам про то как имея в интернете свой VPS-сервер можно поднять туннель в домашнюю сеть. И не платить при этом за статический IP провайдеру, и даже находясь за NAT, все равно сделать доступными в интернете свои домашние сервисы.
Исходные данные
- VPS сервер на debian со статическим реальным IP
- роутер с прошивкой OpenWRT, который находится за провайдерским NAT
- домашняя сеть с компьютерами и виртуальными машинами в 192.168.1.0/24
Настройка туннеля
Первым делом установим и настроим OpenVPN сервер на нашем VPS:
Отредактируем файл конфигурации:
Здесь 10.9.8.x будет наша VPN-сеть, в которой адрес 10.9.8.1 мы назначем VPN-серверу, а адрес 10.9.8.2 VPN-клиенту.
Последняя строчка являет ссобой статисческий маршрут, который нужен для того, что бы наш VPS знал что путь в нашу домашнюю сеть лежит через роутер
Еще нам нужно сгенерировать ключ с которым будет подключаться к серверу наш роутер:
И можно запускать демона:
Теперь установим OpenVPN на наш роутер с которого мы будем инициализировать VPN-соединение:
Скопируем ключ на наш рутер, исполюзуя scp:
Отредактируем конфигурацию интерфейса:
keepalive 60 180
Означает следующее: каждые 60 секунд посылать ping на удаленный хост, и, если за 180 секунд не было получено ни одного пакета — то перезапускать туннель.
И проверим, все ли у нас заработает:
Если все ок, то запустим и добавим OpenVPN демона в автозапуск:
Маршрутизация
Теперь настроим маршрутизацию.
Что бы наш роутер пропускал наш сервер в домашнюю сеть, а машины из домашней сети пропускал к серверу, нужно добавить следующие правила на роутер.
Создадим файлик и запишем в него эти правила:
Cделаем его исполняемым:
И добавим его в /etc/rc.local для автозапуска:
Добавлять нужно перед exit 0
В принципе все готово.
Наши сети соединены, все машины прекрасно друг-друга видят и обмениваются пакетами.
Теперь, при желании, можно настроить проброс портов с внешнего на внутренний адрес.
Вот так, к примеру, выглядит проброс ssh порта на одну из машин у меня в домашней сети:
Где XX.XX.XX.XXX — внешний IP сервера, 192.168.1.200 — IP моей машины внутри домашней сети, 666 — порт при обращении к которому я попадаю на эту машину
PS: Если у вас что-то не получается убедитесь что на вашем VPS есть и подключены все необходимые для этого модули ядра
Содержание
Содержание
Домашний роутер обычно не дает возможности добраться из внешнего Интернета до компьютеров во внутренней сети. Это правильно — хакерские атаки рассчитаны на известные уязвимости компьютера, так что роутер является дополнительным препятствием. Однако бывают случаи, когда доступ к роутеру и его локальным ресурсам из «внешнего мира» становится необходим. О том, в каких случаях бывает нужен доступ извне, и как его безопасно настроить — эта статья.
Зачем открывать доступ извне?
Доступ «снаружи» нужен не только в экзотических случаях вроде открытия игрового сервера или запуска сайта на домашнем компьютере. Гораздо чаще приходится «открывать порт» для многопользовательской игры, а это — как раз предоставление внешнему пользователю (серверу игры) доступа к внутренней сети (порт компьютера). Если необходимо удаленно подключиться и настроить компьютер или роутер, скачать файл-другой из домашней сети, находясь в командировке, или посмотреть видео с подключенных к домашней сети IP-камер — нужно настроить доступ.
Цвета и формы IP-адресов
Прежде чем разбираться, как открыть доступ к своим ресурсам, следует понять, как вообще происходит соединение в сети Интернет. В качестве простой аналогии можно сравнить IP-адрес с почтовым адресом. Вы можете послать письмо на определенный адрес, задать в нем какой-то вопрос и вам придет ответ на обратный адрес. Так работает браузер, так вы посещаете те или иные сайты.
Но люди общаются словами, а компьютеры привыкли к цифрам. Поэтому любой запрос к сайту сначала обрабатывается DNS-сервером, который выдает настоящий IP-адрес.
Допустим теперь, что кто-то хочет написать письмо вам. Причем не в ответ, а самостоятельно. Не проблема, если у вас статический белый адрес — при подключении сегодня, завтра, через месяц и год он не поменяется. Кто угодно, откуда угодно, зная этот адрес, может написать вам письмо и получите его именно вы. Это как почтовый адрес родового поместья или фамильного дома, откуда вы не уедете. Получить такой адрес у провайдера можно только за отдельную и регулярную плату. Но и с удаленным доступом проблем меньше — достаточно запомнить выданный IP.
Обычно провайдер выдает белый динамический адрес — какой-нибудь из незанятых. Это похоже на ежедневный заезд в гостиницу, когда номер вам выдается случайно. Здесь с письмом будут проблемы: получить его можете вы или другой постоялец — гарантий нет. В таком случае выручит DDNS — динамический DNS.
Самый печальный, но весьма распространенный в последнее время вариант — серый динамический адрес: вы живете в общежитии и делите один-единственный почтовый адрес с еще сотней (а то и тысячей) жильцов. Сами вы письма писать еще можете, и до адресата они дойдут. А вот письмо, написанное на ваш почтовый адрес, попадет коменданту общежития (провайдеру), и, скорее всего, не пойдет дальше мусорной корзины.
Сам по себе «серый» адрес проблемой не является — в конце концов, у всех подключенных к вашему роутеру устройств адрес именно что «серый» — и это не мешает им пользоваться Интернетом. Проблема в том, что когда вам нужно чуть больше, чем просто доступ к Интернету, то настройки своего роутера вы поменять можете, а вот настройки роутера провайдера — нет. В случае с серым динамическим адресом спасет только VPN.
Кто я, где я, какого я цвета?
С терминологией разобрались, осталось понять, какой именно адрес у вас. У большинства провайдеров фиксированный адрес стоит денег, так что если у вас не подключена услуга «статический IP-адрес», то он наверняка динамический. А вот белый он или серый гусь — это нужно проверить. Для начала надо узнать внешний IP-адрес роутера в его веб-интерфейсе и сравнить с тем адресом, под которым вас «видят» в Интернете.
В админ-панели роутера свой IP можно найти на вкладках «Информация о системе», «Статистика», «Карта сети», «Состояние» и т. п. Где-то там нужно искать WAN IP.
Если адрес начинается с «10.», или с «192.168.», то он определенно «серый» — большинство способов открытия доступа работать не будет и остается только VPN.
Если адрес, показанный на сайте, совпадает с тем, что вы увидели в веб-интерфейсе, то у вас честный «белый» адрес и доступ из «большого мира» не вызовет особых затруднений — остается только настроить «пробросы» на роутере и подключить DDNS.
Что такое порты и зачем их бросать?
Проброс порта — это специальное правило в роутере, которое разрешает все обращения извне к определенному порту и передает эти обращения на конкретное устройство во внутренней сети.
Необходимость «проброса» портов обычно возникает при желании сыграть по сети в какую-нибудь игру с компьютера, подключенного к роутеру. Впрочем, это не единственная причина — «проброс» потребуется при любой необходимости получить «извне» доступ к какому-нибудь конкретному устройству в вашей локальной сети.
Разрешать к компьютеру вообще все подключения, то есть пробрасывать на него весь диапазон портов — плохая идея, это небезопасно. Поэтому роутеры просто игнорируют обращения к любым портам «извне». А «пробросы» — специальные исключения, маршруты трафика с конкретных портов на конкретные порты определенных устройств.
Игровые порты: что, куда бросаем?
Какой порт открыть — зависит от конкретного программного обеспечения. Некоторые программы требуют проброса нескольких портов, другим — достаточно одного.
У разных игр требования тоже отличаются — в одни можно играть даже с «серого» адреса, другие без проброса портов потеряют часть своих возможностей (например, вы не будете слышать голоса союзников в кооперативной игре), третьи вообще откажутся работать.
Например, чтобы сыграть по сети в «Destiny 2», нужно пробросить UDP-порт 3074 до вашей «плойки», или UDP-порт 1200 на Xbox. А вот до ПК потребуется пробросить уже два UDP-порта: 3074 и 3097.
В следующей таблице приведены некоторые игры и используемые ими порты на ПК:
Читайте также: