Меню Рубрики

Vpn проброс через роутер

Проброс портов и настройка роутера для внешнего доступа

Домашний роутер обычно не дает возможности добраться из внешнего Интернета до компьютеров во внутренней сети. Это правильно — хакерские атаки рассчитаны на известные уязвимости компьютера, так что роутер является дополнительным препятствием. Однако бывают случаи, когда доступ к роутеру и его локальным ресурсам из «внешнего мира» становится необходим. О том, в каких случаях бывает нужен доступ извне, и как его безопасно настроить — эта статья.

Зачем открывать доступ извне?

Доступ «снаружи» нужен не только в экзотических случаях вроде открытия игрового сервера или запуска сайта на домашнем компьютере. Гораздо чаще приходится «открывать порт» для многопользовательской игры, а это — как раз предоставление внешнему пользователю (серверу игры) доступа к внутренней сети (порт компьютера). Если необходимо удаленно подключиться и настроить компьютер или роутер, скачать файл-другой из домашней сети, находясь в командировке, или посмотреть видео с подключенных к домашней сети IP-камер — нужно настроить доступ.

Цвета и формы IP-адресов

Прежде чем разбираться, как открыть доступ к своим ресурсам, следует понять, как вообще происходит соединение в сети Интернет. В качестве простой аналогии можно сравнить IP-адрес с почтовым адресом. Вы можете послать письмо на определенный адрес, задать в нем какой-то вопрос и вам придет ответ на обратный адрес. Так работает браузер, так вы посещаете те или иные сайты.

Но люди общаются словами, а компьютеры привыкли к цифрам. Поэтому любой запрос к сайту сначала обрабатывается DNS-сервером, который выдает настоящий IP-адрес.

Допустим теперь, что кто-то хочет написать письмо вам. Причем не в ответ, а самостоятельно. Не проблема, если у вас статический белый адрес — при подключении сегодня, завтра, через месяц и год он не поменяется. Кто угодно, откуда угодно, зная этот адрес, может написать вам письмо и получите его именно вы. Это как почтовый адрес родового поместья или фамильного дома, откуда вы не уедете. Получить такой адрес у провайдера можно только за отдельную и регулярную плату. Но и с удаленным доступом проблем меньше — достаточно запомнить выданный IP.

Обычно провайдер выдает белый динамический адрес — какой-нибудь из незанятых. Это похоже на ежедневный заезд в гостиницу, когда номер вам выдается случайно. Здесь с письмом будут проблемы: получить его можете вы или другой постоялец — гарантий нет. В таком случае выручит DDNS — динамический DNS.

Самый печальный, но весьма распространенный в последнее время вариант — серый динамический адрес: вы живете в общежитии и делите один-единственный почтовый адрес с еще сотней (а то и тысячей) жильцов. Сами вы письма писать еще можете, и до адресата они дойдут. А вот письмо, написанное на ваш почтовый адрес, попадет коменданту общежития (провайдеру), и, скорее всего, не пойдет дальше мусорной корзины.

Сам по себе «серый» адрес проблемой не является — в конце концов, у всех подключенных к вашему роутеру устройств адрес именно что «серый» — и это не мешает им пользоваться Интернетом. Проблема в том, что когда вам нужно чуть больше, чем просто доступ к Интернету, то настройки своего роутера вы поменять можете, а вот настройки роутера провайдера — нет. В случае с серым динамическим адресом спасет только VPN.

Кто я, где я, какого я цвета?

С терминологией разобрались, осталось понять, какой именно адрес у вас. У большинства провайдеров фиксированный адрес стоит денег, так что если у вас не подключена услуга «статический IP-адрес», то он наверняка динамический. А вот белый он или серый гусь — это нужно проверить. Для начала надо узнать внешний IP-адрес роутера в его веб-интерфейсе и сравнить с тем адресом, под которым вас «видят» в Интернете.

В админ-панели роутера свой IP можно найти на вкладках «Информация о системе», «Статистика», «Карта сети», «Состояние» и т. п. Где-то там нужно искать WAN IP.

Если адрес начинается с «10.», или с «192.168.», то он определенно «серый» — большинство способов открытия доступа работать не будет и остается только VPN.

Если же адрес выглядит по-другому, надо посмотреть на него «снаружи» с помощью одного из сервисов, показывающих ваш IP-адрес, например, http://myip.ru/.

Если адрес, показанный на сайте, совпадает с тем, что вы увидели в веб-интерфейсе, то у вас честный «белый» адрес и доступ из «большого мира» не вызовет особых затруднений — остается только настроить «пробросы» на роутере и подключить DDNS.

Что такое порты и зачем их бросать?

Порт — это пронумерованное виртуальное «устройство», предназначенное для передачи данных по сети. Каждая сетевая программа использует для установления связи отдельный порт или группу портов. К примеру, браузеры используют TCP-порт 80 для незашифрованного трафика (http) и 443 для зашифрованного (https).

Проброс порта — это специальное правило в роутере, которое разрешает все обращения извне к определенному порту и передает эти обращения на конкретное устройство во внутренней сети.

Необходимость «проброса» портов обычно возникает при желании сыграть по сети в какую-нибудь игру с компьютера, подключенного к роутеру. Впрочем, это не единственная причина — «проброс» потребуется при любой необходимости получить «извне» доступ к какому-нибудь конкретному устройству в вашей локальной сети.

Разрешать к компьютеру вообще все подключения, то есть пробрасывать на него весь диапазон портов — плохая идея, это небезопасно. Поэтому роутеры просто игнорируют обращения к любым портам «извне». А «пробросы» — специальные исключения, маршруты трафика с конкретных портов на конкретные порты определенных устройств.

Игровые порты: что, куда бросаем?

Какой порт открыть — зависит от конкретного программного обеспечения. Некоторые программы требуют проброса нескольких портов, другим — достаточно одного.

У разных игр требования тоже отличаются — в одни можно играть даже с «серого» адреса, другие без проброса портов потеряют часть своих возможностей (например, вы не будете слышать голоса союзников в кооперативной игре), третьи вообще откажутся работать.

Например, чтобы сыграть по сети в «Destiny 2», нужно пробросить UDP-порт 3074 до вашей «плойки», или UDP-порт 1200 на Xbox. А вот до ПК потребуется пробросить уже два UDP-порта: 3074 и 3097.

В следующей таблице приведены некоторые игры и используемые ими порты на ПК:

Источник

VPN сервер за роутером

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

Все это мне удалось сделать из интернета от стрим, роутера D-link DSL-2640u/BRU/D и сервера на основе Ubuntu 9.10 и выглядит это примерно так:

Благо стим выдает реальные адреса при подключении и нет необходимости в подключении каких-либо услуг с его стороны за дополнительные деньги.

Настраиваем роутер

Для начала идем на роутер и настраиваем проброс VPN: Advanced Setup → NAT → Virtual Servers → Add. Выбираем PPTP в списке, вводим IP сервера и жмем «Save/Apply». Отдельно разрешать протокол GRE нигде не нужно. Потом сужаем диапазон адресов, выдаваемых по DHCP: Advanced Setup → LAN, там меняем End IP Address, я поставил себе 192.168.1.99 для того чтобы они не пересекались с выдаваемыми VPN сервером.

Мой роутер поддерживает Dynamc DNS, это очень удобно чтоб при подключении к VPN не вводить IP, который у стрима меняется каждые 24 часа, а вместо него удобное DNS имя. Идем в Advanced Setup → DNS → Dynamic DNS, жмем Add и вводим параметры.

Устанавливаем VPN сервер

Теперь переходим к серверу. Для начала нам понадобится сам VPN сервер (в linux он называется pptpd). Устанавливаем:

sudo apt-get install pptpd

Демон запущен и слушает порт tcp/1723, если на сервере используется firewall, то в нем нужно разрешить входящие соединения по протоколу GRE, а так же входящие соединения на tcp порт 1723:

$IPTABLES -A INPUT -p gre -s 0/0 -j ACCEPT
$IPTABLES -A OUTPUT -p gre -m state —state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 0/0 —dport 1723 j ACCEPT

Если все прошло успешно, переходим к настройке. Первым делом крутим /etc/pptpd.conf

#убеждаемся что закомментировано, чтоб клиенту вбрасывались адреса
#noipparam
# включим передачу VPN-клиентам широковещательных пакетов с внутреннего интерфейса
bcrelay eth0
#настроим IP сервера
localip 192.168.1.10
#и диапазон адресов для клиентов
remoteip 192.168.1.234-245

Теперь настраиваем /etc/ppp/pptpd-options

# Требовать от клиента обязательное аутентификации
auth
#требуем авторизации только через MS-CHAPv2
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
#включаем шифрование
require-mppe-128
#поскольку VPN-клиентам выделяются адреса из реальной Ethernet-сети
#то чтобы все видели друг друга
proxyarp
#мы не хотим становиться маршрутом по умолчанию
#но под виндой все равно потребуется настройка*
nodefaultroute

* не смотря на на nodefaultroute, под Windows при установке VPN все равно маршрут по-умолчанию вставал на VPN, чтобы этого не происходило идем в свойства VPN соединения → Сеть → Протокол TCP/IP → Свойства → Дополнительно, там снимаем галку «Использовать основной шлюз в удаленной сети».

Добавляем пользователей в /etc/ppp/chap-secrets

# client server secret IP addresses
user * password *

Здесь можно жестко задать IP для определенных пользователей.

Перезапускаем демона pptpd

sudo /etc/init.d/pptpd restart

Важно!

Теперь наш сервер будет работать роутером, поэтому для нормальной работы он должен уметь форвардить пакеты, иначе клиенты и локальные пользователи просто не увидят друг друга. Убеждаемся что

выдает 1 (0=disabled, 1=enabled). Если это не так, то нужно включить ip forwarding в ядре. Для этого открываем /etc/sysctl.conf находим и меняем

Все готово

Просим друзей создать VPN соединение к нашему серверу и проверить работоспособность, у меня все получилось с первого раза, чего и Вам желаю 🙂

А если все подключается, но ничего не работает

И роутер не DSL, а устанавливает VPN-соединение с провайдером для доступа в интернет, то вполне возможно нужно изменить размер MTU, таким образом, чтобы он был меньше MTU соединения с провайдером. Например, вы подключаетесь к провайдеру с MTU=1400 (см. в настройках роутера), тогда для своего VPN сервера нужно задать меньшее значение, например 1300. Для этого идем в /etc/ppp/pptpd-options и дописываем

При написании были использованы следующие материалы:

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Ярлык на рабочий стол linux
  • Яндекс строка для linux
  • Яндекс программы для linux
  • Яндекс навигатор для linux
  • Яндекс диск монтирование linux