Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Usg pro 4 / VPN «site to site» — не удаётся получить доступ к шлюзу., UniFi Network
 
Это не критичная проблема, просто любопытно узнать. У меня настроен site-to-site VPN, и ресурсы на стороне Azure могут получить доступ ко всему на стороне PREM, кроме самого usg. Если пытаюсь подключиться к usg через ssh или открыть его в браузере, получаю отказ в подключении. Кто-нибудь знает, как это исправить, или так и должно быть?
 
Просто чтобы вы знали, причина, по которой я отключил vti, в том, что это был единственный способ заставить VPN-подключения удалённых пользователей видеть ресурсы Azure. Именно поэтому я добавил маршрут туннеля 192.168.2.0/24. Если есть более лучший способ сделать это, я готов его изменить.
 
Добавление этого правила было отчаянной попыткой. Я не ожидал, что это сработает. Но играть с этим оказалось довольно весело. Я только что заменил два из трёх своих домашних точек доступа на ваши ap-hp, и вся настройка прошла очень легко. Скоро заменю и третью.
 
Я только что проверил, и всё сработало так, как ты сказал... когда я разместил сообщение в том форуме, на который дал ссылку, я не учёл адрес самого USG. Но это не логично и *не должно* работать именно так. В будущем мы планируем добавить правила фаервола для VPN, где будет легко фильтровать входящий VPN-трафик, направленный на USG или устройства за ним в локальной сети.
 
Подтверждаю. Когда я удаляю созданное правило, я больше не могу получить доступ к USG. Возвращаю правило — и доступ появляется снова.
 
Это задокументировано в моём сообщении на форуме: https://community.ui.com/questions/6a7f4d46-cd30-4aac-bf5d-cbac88408b7f. Причина, почему этого нет в базе знаний — ваш VPN настроен очень специфично, и это касается, наверное, меньше 1% пользователей. Всё дело в том, что нужно вручную отключить «auto-firewall-nat-exclude», а также использовать VPN без включённого VTI. Но судя по вашему json-файлу, вы не отключали автофаервол вручную, а значит, он всё равно создаёт следующие правила в цепочке iptables:

Chain UBNT_VPN_IPSEC_FW_HOOK (1 ссылка)  
pkts bytes target prot opt in out source destination  
3164 181K ACCEPT udp * * 0.0.0.0/0 0.0.0.0/0 multiport dports 500,4500  
195 32392 ACCEPT esp * * 0.0.0.0/0 0.0.0.0/0  

Второе правило (esp) именно разрешает трафик с удалённого VPN, направленный на адрес LAN-интерфейса USG и его подсеть. Поэтому совершенно не понятно, как добавление правила на WAN_LOCAL реально решило проблему. Можете удалить это правило и попробовать снова подключиться по SSH к LAN-адресу USG?
 
Я это исправил. Нужно было добавить правило фаервола на WAN LOCAL, чтобы разрешить доступ с моей сети Azure к USG. Наверное, вам стоило бы это где-нибудь задокументировать.
 
Ты не увидишь ничего на tcpdump USG, потому что без VTI нет интерфейса, с которого можно захватить трафик. Пакеты будут отображаться в tcpdump, если тестировать клиентов за USG, потому что USG должен переслать пакет через LAN-интерфейс, и ответ тоже приходит через LAN... но если адрес назначения — сам USG, то пакет может «войти» и «выйти» только через интерфейс VTI или, в твоём случае, через WAN-интерфейс... но на WAN-интерфейсе ты не можешь захватить внутренний (нешифрованный) трафик туннеля. Вот почему VTI так полезен. Можешь показать захват пакетов Azure? TCP-повторы передач — обычное дело при асимметричной маршрутизации, интересно, не совпадает ли маршрут к USG и тот, по которому USG отправляет ответные пакеты.
 
Привет, Brandon. Я кое-что раскопал. Настроил захват пакетов на стороне Azure для одной из своих виртуальных машин. Затем запустил tcpdump на своём USG дома с командой «sudo tcpdump -n src 10.1.0.4 and not dst 192.168.1.53». Короче, я ловлю всё, что идёт с VM в Azure (10.1.0.4), кроме моего ноутбука, чтобы убрать лишний шум. С этой VM в Azure я без проблем могу достучаться до других IP в своей домашней сети — например, могу зайти на 192.168.1.12, и вижу этот трафик и на tcpdump в USG, и в захвате пакетов Azure.

Но когда пытаюсь достучаться до 192.168.1.1 — это IP моего USG дома — то в Azure вижу SYN-пакет, несколько повторных попыток, но ACK так и не приходит. А на стороне USG tcpdump в этой ситуации ничего не показывает. Если я всё правильно понимаю, по какой-то причине Azure не отправляет пакеты на 192.168.1.1 через VPN. Я уже голову сломал, почему так, поэтому открою тикет в поддержку Microsoft (я там работаю, так что проблем не будет).

В Azure в настройках локального шлюза указан диапазон удалённых IP 192.168.1.0/24. Я никак не могу понять, почему он нормально обрабатывает всё остальное, кроме 192.168.1.1.
 
Привет, Brandon! Спасибо огромное! Когда я запускаю команду "show interfaces", у меня отображаются только eth0, eth1, eth2, eth3 и lo. Если кто-то подключается по удалённому VPN, я вижу интерфейс l2tp. Но интерфейс site-to-site я не вижу, и, думаю, это из-за того, что у меня отключена динамическая маршрутизация, потому что это был единственный способ позволить как моим пользователям LAN 192.168.1.x, так и удалённым VPN-пользователям 192.168.2.x получать доступ к ресурсам. Вместо динамической маршрутизации у меня в расширенной конфигурации JSON прописано следующее:

"vpn":{
 "ipsec":{
   "site-to-site":{
     "peer":{
       "104.215.123.192":{
         "tunnel":{
           "10":{
             "allow-nat-networks":"disable",
             "allow-public-networks":"disable",
             "esp-group":"ESP_104.215.123.192",
             "local":{
               "prefix":"192.168.2.0/24"
             },
             "remote":{
               "prefix":"10.1.0.0/24"
             }
           }
         }
       }
     }
   }
 }
}

Так что, думаю, теперь мне стоит пойти по пути wireshark и попытаться понять, что происходит? Как я уже говорил, из Azure у меня есть доступ ко всем остальным локальным ресурсам, только вот к USG — нет. На данном этапе это скорее «хочу понять, почему так», чем реальная большая проблема 😀
 
С командой:  
sudo tcpdump -npi eth0 host 10.1.0.6 port 22  
на самом деле нужно писать именно так, как я указал в первом ответе, с оператором «and»:  
sudo tcpdump -npi eth0 host 10.1.0.6 and port 22  
Это частая ошибка и легко её упустить, не переживай!  

Я тоже только что проверил — на LAN-интерфейсе вы не увидите ничего, если адрес назначения принадлежит интерфейсу USG... потому что пакеты технически не «входят» и не «выходят» через LAN-интерфейс при трафике, направленном на USG.  

У тебя включён VTI на этом VPN? Проверить можно на USG командой:  
show interfaces  
Там должно быть что-то вроде:  
vti0 10.255.254.1/32 u/u  

Если да — то можно смотреть трафик с помощью tcpdump на интерфейсе VTI0 (скорее всего, это будет интерфейс vti64, так как VPN «ручной», а не «автоматический»):  
sudo tcpdump -npi vti64 host 10.1.0.6 and port 22  
и смотреть, что покажет.  

Если VTI не включён, то перехватить трафик на самом USG, где IP LAN-адрес USG — источник или назначение, не получится. Тогда лучше снимать трафик на машине, с которой идёт SSH, с помощью Wireshark или tcpdump.
 
Jaffe – Есть мысли по поводу моего последнего ответа?
Страницы: 1
Читают тему (гостей: 1)