Установка IPSec/L2TP

У меня есть успешно установка ipsec-tools/racoon/xl2tpd/pptpd/appropriate перенаправление портов маршрутизатора для работы VPN для телефона на базе Android. Это работает хорошо снаружи сети. Я могу беспрепятственно туннелировать от Android до нескольких NATs путем соединения с общедоступным IP маршрутизатора VPN. Когда я нахожусь в локальной сети VPN, я могу сделать это также путем изменения целевого IP Android на локальный IP VPN. Я проверил использование Wireshark, что в первом сценарии данные туннелированы с помощью ESP-UDP по порту UDP 4500. туземный обход racoon.conf установлен вызвать, таким образом, я полагаю, что это также верно для второй ситуации.

Проблема возникает, когда Android подключен к локальной сети VPN и предназначен к общедоступному IP VPN вместо его локального IP (время соединения во время phase1 согласования). Я хотел бы смочь оставить VPN на неограниченно долго независимо от того, какая сеть телефон подключен с (и эта проблема вмешивается в ту цель).

Я попытался DMZ VPN сервер на моем маршрутизаторе и одновременно отключает UFW и проблема сохраняется.

Проблема, которую я вижу на стороне сервера:

racoon: ERROR: phase1 negotiation failed due to time up.

Проблема, которую я вижу на стороне Android:

mtpd: Timeout -> Sending SCCRQ

Это повторяется многократно, пока это не прерывается.

0
задан 19 September 2016 в 16:05

1 ответ

Этот ответ не может помочь Вам, потому что так поздно, но надо надеяться помогает кому-то еще, кто приезжает. Я решил проблему, которую Вы описали при помощи доменных имен, локального сервера DHCP и локального сервера DNS, который может переопределить имена общественного достояния.

Этот метод, очевидно, полагается на Вас имеющий общедоступный адрес DNS, который можно использовать вместо IP-адресов, неважно, куда Вы идете. Существуют бесплатные динамические службы DNS, которые будут служить той цели. Можно установить общедоступный IP-адрес в их веб-интерфейсе.

В Вашей LAN Вам нужен сервер DNS, который уделяет первостепенное значение своей собственной записи доменных имен. На том сервере необходимо переопределить имя общественного достояния для указания на локальный адрес локальной сети для сервера. Кроме того, Ваш сервер DHCP должен обеспечить, что локальный адрес сервера DNS к Вашему устройству на базе Android каждый раз, когда это присваивает устройству адрес локальной сети - иначе, Вы вытянете общедоступный DNS, записывают и получают общедоступный IP-адрес, даже когда Вы находитесь в LAN. После выполнения этого можно соединиться с VPN с помощью доменного имени, неважно, где Вы.

Широкое представление

Когда Вы будете вдали от LAN, Ваше устройство на базе Android запросит общедоступные серверы DNS, обеспеченные Вашим ISP для IP-адреса Вашей VPN.

myvpn.somepublicdomainname.net -> x.x.x.x (public IP)

Когда Вы будете в своей LAN, Ваше устройство на базе Android запросит Ваш локальный сервер DNS.

myvpn.somepublicdomainname.net -> 192.168.1.2 (private IP)

Это должно работать, даже если Ваша VPN предоставляет дополнительный сервер DNS своим клиентам.

Установка сервера DNS (dnsmasq)

Самый легкий способ настроить сервер DNS путем, который я описал, состоит в том, чтобы установить и настроить dnsmasq. Это - очень легкое кэширование сервер DNS (и сервер DHCP также, случайно).

Введите это в терминал:

sudo apt-get update && sudo apt-get install -y dnsmasq

Вставьте следующую строку в конец /etc/dnsmasq.conf:

addn-hosts=/etc/dnsmasq.hosts

Вставьте в /etc/dnsmasq.hosts файл или создает его, если это не существует:

192.168.1.2   myvpn.somepublicdomainname.net.

Та первая часть (192.168.1.2) потребности быть локальным IP-адресом Вашей VPN и последней частью (myvpn.somepublicdomainname.net.) потребности быть именем общественного достояния С ПЕРИОДОМ В КОНЦЕ. Извините за ограничения, но это важно. Тот заключительный период позволяет серверу знать, что это - домен верхнего уровня.

Теперь перезапуск dnsmasq:

sudo service dnsmasq restart

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

dig @192.168.1.1 myvpn.somepublicdomainname.net

Это должно дать несколько строк текста, но можно проигнорировать все те, которые запускаются с запятой ; и внимание на то, которое не делает:

myvpn.somepublicdomainname.net.    0       IN      A       192.168.1.2

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

Теперь используйте то же dig команда и замена myvpn.somepublicdomainname.net с другими именами общественного достояния (как google.com) для проверки это возвращает их правильно также. Если они работают, можно безопасно реконфигурировать сервер DHCP для использования нового сервера DNS!

Конфигурирование сервера DHCP

Я предположу, что Вам уже настроили сервер DHCP в Вашей LAN. Это - услуга, обычно предоставляемая Вашим маршрутизатором WiFi. Необходимо будет настроить его для использования нового сервера DNS сначала перед любым другим сервером DNS. Та процедура варьируется, таким образом, я оставлю ответ на другой вопрос.

Возможная проблема

Если Ваше устройство на базе Android вручную настроено для использования определенных серверов DNS (как популярный Google 8.8.8.8 или 8.8.4.4) необходимо будет переключиться назад на использование присвоенных DHCP серверов DNS ИЛИ перечислить сервер DNS LAN сначала и использование 8.8.8.8 как нейтрализация. Вручную список Вашего сервера DNS LAN сначала почти наверняка приведет к более медленным поискам доменного имени каждый раз, когда Вы не в своей LAN, которая будет иметь отрицательный эффект на Ваш просмотр веб-страниц. Существуют пути вокруг этого, но я предположу, что Вы просто идете с присвоенными DHCP серверами DNS и оставляете ответ этой проблемы на другой вопрос. Если Вы не знаете то, о чем я говорю, это, вероятно, не относится к Вашей ситуации так или иначе.

1
ответ дан 28 September 2019 в 13:37

Другие вопросы по тегам:

Похожие вопросы: