Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1 2 След.
RSS
Открыть Site-to-Site для удалённых пользователей, UniFi Network
 
Используя мой Unifi USG версии 4.3.49, у меня настроен Site-to-Site IPSec VPN с моим Google Cloud VPC на сети 10.138.0.x, и он отлично работает. Также у меня есть Remote User VPN на 192.168.3.x, который тоже работает прекрасно. Удалённые пользователи могут обращаться к клиентам в LAN (192.168.1.x), но я бы очень хотел, чтобы удалённые пользователи могли обращаться к клиентам в подсети 10.138.0.x. Это возможно? Похоже, что опция «Exposed to Site-to-Site VPN» работает только в режиме «Auto» с USG на каждом объекте, и я не уверен, что статические маршруты повлияют на VPN, построенный на политике. Кажется, это должно быть реализуемо. Есть советы?
 
Я решил проблему с доступом пользователей PPPoE/VPN к следующему хопу/статическому маршруту, добавив маршрут в таблицу 201 вот так: ip route add 211.X.Y.32/27 via 172.18.1.2 dev eth0.1801 proto zebra table 201  
Теперь можно посмотреть всю таблицу маршрутов командой: ip route show table 0  
Для Site-2-Site VPN я добавил статический маршрут в каждый файрвол и указал интерфейс Site-2-Site VPN как назначение.
 
Как видно здесь, следующий хоп доступен через User VPN. Но при попытке достучаться до реальной IP-сети трассировка отправляет трафик в интернет, а не на следующий хоп:
 
У меня похожая, но не совсем такая же настройка. @UI-Team У меня настроен статический маршрут для доступа к определённой закрытой сети через следующий хоп. Всё отлично работает в локальных сетях. Как разрешить пользователям, подключающимся через L2TP VPN, добираться до этой сети через следующий хоп? Я пробовал добавить маршрут в таблицу 202, но безуспешно:  
ip route add 211.X.Y.32/27 via 172.18.1.2 table 202
 
Почему кажется, что каждый раз, когда выходит новое обновление прошивки, нам всем приходится делать шаг назад? Извините за глупый вопрос, но <peer_name>, откуда у тебя эта информация? И <ESP_group_name>? Я буквально пару недель назад обновился до версии 5.14.23, и вдруг пропала возможность подключиться по site2site с Amazon. А теперь, в довершение всего, у меня случайно каждый день сбрасывается соединение site2site без всякой причины, и ребята из UI не могут помочь.
 
Привет, легенды! У меня проблема — не могу настроить всё так, чтобы работало одинаково. У меня 4 сайта, на каждом по USG и Cloud Key. На основном сайте мобильные пользователи подключаются по VPN и видят только хосты на том сайте, к которому они подключились. А хотелось бы, чтобы они видели хосты и на остальных трёх. Я следовал инструкции выше, но получаю ошибку. Вот что выдает:

t# [ vpn ipsec site-to-site peer 111.111.111.111 vti ]
vbash: [: слишком много аргументов
[edit]admin@ubnt# Ошибка в конфигурации VPN: одновременно настроены Vti и туннель(-и) для пиринга "111.111.111.11
vbash: синтаксическая ошибка возле неожиданного токена `('  
[edit]admin@ubnt#
[edit]admin@ubnt# Использование неинициализированного значения $local при конкатенации (.) или строке в /opt/vyatta/share/perl5/Vyatta/VPN/vtiIntf.pm строка 93.
vbash: синтаксическая ошибка возле неожиданного токена `('  
[edit]admin@ubnt#
vbash: синтаксическая ошибка возле неожиданного токена `('  
[edit]admin@ubnt# Использование неинициализированного значения $name в проверке существования в /opt/vyatta/share/perl5/Vyatta/VPN/vtiIntf.pm строка 147.
vbash: команда Use: не найдена  
[edit]admin@ubnt# [ vpn ipsec site-to-site peer 111.111.111.113 vti ]
vbash: [: слишком много аргументов
[edit]admin@ubnt# Ошибка в конфигурации VPN: одновременно настроены Vti и туннель(-и) для пиринга "111.111.111.11
vbash: синтаксическая ошибка возле неожиданного токена `('  
vbash: синтаксическая ошибка возле неожиданного токена `('  
[edit]admin@ubnt#
 
Окей, теперь всё работает! Это был мой тестовый сайт, теперь разверну это классное оборудование у всех своих клиентов! Огромное спасибо за помощь, очень признателен! Филипп
 
Да, если восстановишь резервную копию, всё должно сохраниться. Можно ещё попробовать логин/пароль ubnt/ubnt или ubnt/(твой пароль), так как данные для входа в Cloud Key отличаются от учётных данных контроллера UniFi. А про создание файла config.gateway.json — тут есть статья с объяснением процесса: https://help.ubnt.com/hc/en-us/articles/215458888-UniFi-USG-Advanced-Configuration
 
@UBNT-jaffe

Твой совет заставил меня задуматься: раньше я пытался добавить команды в тот же туннель (0), а теперь попробовал добавить их в туннель (1) — и вот, наконец, у меня появился доступ ко всему. Вы просто супер! Осталось только сохранить эти настройки.

У меня есть CloudKey, который я настраивал через iPhone-приложение, и внезапно я потерял возможность подключаться к нему по ssh. Насколько я понял, чтобы вернуть доступ по ssh, нужно сбросить CloudKey и настроить заново. Но перед этим я сделаю резервную копию через веб-интерфейс управления, так как, скорее всего, сетевые настройки при сбросе слетят?

Большущее спасибо за поддержку!

show vpn ipsec

auto-firewall-nat-exclude enable

esp-group ESP_xx {
   compression disable
   lifetime 3600
   mode tunnel
   pfs disable
   proposal 1 {
       encryption aes256
       hash sha1
   }
}

ike-group IKE_xxx {
   key-exchange ikev2
   lifetime 28800
   proposal 1 {
       dh-group 2
       encryption aes256
       hash sha1
   }
}

ipsec-interfaces {
   interface pppoe0
}

nat-networks {
   allowed-network 0.0.0.0/0 {
   }
}

nat-traversal enable

site-to-site {
   peer xxx {
       authentication {
           mode pre-shared-secret
           pre-shared-secret xxx
       }
       connection-type initiate
       ike-group IKE_xx
       local-address xx
       tunnel 0 {
           esp-group ESP_xx
           local {
               prefix 10.0.32.0/24
           }
           remote {
               prefix 10.0.30.0/24
           }
       }
       tunnel 1 {
           esp-group ESP_xx
           local {
               prefix 10.0.33.0/24
           }
           remote {
               prefix 10.0.30.0/24
           }
       }
   }
}
 
@phillipp

Использование неинициализированного значения $name в exists в /opt/vyatta/share/perl5/Vyatta/VPN/vtiIntf.pm, строка 147.  
^ Эта ошибка не имеет значения, волноваться не стоит.  
conntrack v0.9.14 (conntrack-tools): таблица отслеживания соединений очищена.  
^ Это просто означает, что таблица состояния сброшена, срабатывает при некоторых «коммитах» в зависимости от того, какую часть конфигурации меняли.  
Предупреждение: изменения конфигурации не были сохранены.  
^ Это не важно, просто значит, что конфиг не сохранён в /config/config.boot, что не критично, так как контроллер в любом случае загружает конфигурацию в USG.  

Можете показать точные команды, которые вводили? И подтвердить, что изменения остались, показав конфигурацию VPN после коммита с помощью:  
configure  
show vpn ipsec site-to-site
 
Ок,  
@UBNT-jaffe,  
я сваливаю, что думаешь? Спасибо.
 
Привет ещё раз! Я целый день разбирался с этим и выяснил, что нужно было добавить  road-vpn-range 10.0.33.0/24 в файл ipsec.conf на линуксовой машине — теперь всё работает, policy based route добавился на удалённой стороне (линуксовая машина). Но когда я вызываю show vpn ipsec sa на локальном USG, маршруты локально не добавляются.

Команды, которые ты говорил выше, выдают ошибки, мол, некоторые политики уже существуют, а когда я сохраняю и выхожу, появляется такой текст:

admin@ubnt# commit;exit  
[ vpn ]
Use of uninitialized value $name in exists at /opt/vyatta/share/perl5/Vyatta/VPN/vtiIntf.pm line 147.  
conntrack v0.9.14 (conntrack-tools): connection tracking table has been emptied.  
Warning: configuration changes have not been saved.  
exit  
admin@ubnt:~$ restart vpn  

Ниже вывод команды show vpn ipsec sa:  
peer-xxxxtunnel-0: #1, ESTABLISHED, IKEv2, 24480aa14dd7666e:545422c3c2bc903b local 'xx' @ xx remote 'xx' @ xx AES_CBC-256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024 established 930s ago, rekeying in 27277s, reauth in 1221s  
peer-xx-tunnel-0: #1, INSTALLED, TUNNEL, ESP:AES_CBC-256/HMAC_SHA1_96 installed 930 ago, rekeying in 1817s, expires in 2670s  
in cfb448e5, 92499 bytes, 605 packets, 21s ago  
out cc63cb7f, 14935 bytes, 213 packets, 21s ago  
local 10.0.32.0/24 remote 10.0.30.0/24
 
Окей, не уверен, но:  
1 - у меня ipsec-интерфейсы как eth0, а не ppp, как у тебя. Хотя конфигурация может отличаться.  
Но главное, у тебя только один туннель (tunnel0), а у меня их два (tunnel0 и tunnel1).  
Один — с учётной сети в site-to-site  
Другой — с удалённого пользователя в site-to-site  

tunnel 0 {  
   esp-group ESP_35.xxx.xxx.213  
   local {  
       prefix 192.168.101.0/24  <- моя учётная сеть  
   }  
   remote {  
       prefix 192.168.104.0/24  <- мой site-to-site  
   }  
}  
tunnel 1 {  
   esp-group ESP_35.xxx.xxx.213  
   local {  
       prefix 192.168.103.0/24  <- мой remote-access-vpn  
   }  
   remote {  
       prefix 192.168.104.0/24  <- мой site-to-site  
   }  
}  

Плюс у меня сверху проставлен статический маршрут (тип интерфейса), который направляет трафик на интерфейс «site-to-site».  

 

И наконец, не мог бы ты показать вывод команды «show vpn ipsec sa», чтобы проверить трафик, идущий через интерфейсы?  
Надеюсь, это поможет.
 
Я попробовал то, что ты сказал, и в результате VPN сломался. После того как я изменил две настройки на контроллере Unify CloudKey и перезапустил VPN, он снова заработал. Вот как сейчас выглядит конфигурация после того, как я снова поднял туннель, но когда я подключаюсь через L2TP VPN клиент, не могу пинговать 10.0.30.x. Спасибо за помощь!

ipsec {  
   auto-firewall-nat-exclude enable  
   esp-group ESP_x.x.x.x {  
       compression disable  
       lifetime 3600  
       mode tunnel  
       pfs disable  
       proposal 1 {  
           encryption aes256  
           hash sha1  
       }  
   }  
   ike-group IKE_x.x.x.x {  
       key-exchange ikev2  
       lifetime 28800  
       proposal 1 {  
           dh-group 2  
           encryption aes256  
           hash sha1  
       }  
   }  
   ipsec-interfaces {  
       interface pppoe0  
   }  
   nat-networks {  
       allowed-network 0.0.0.0/0 {  
       }  
   }  
   nat-traversal enable  
   site-to-site {  
       peer x.x.x.x {  
           authentication {  
               mode pre-shared-secret  
               pre-shared-secret xxxxx  
           }  
           connection-type initiate  
           ike-group IKE_xxx  
           local-address xxxx  
           tunnel 0 {  
               esp-group ESP_xxx  
               local {  
                   prefix 10.0.32.0/24  
               }  
               remote {  
                   prefix 10.0.30.0/24  
               }  
           }  
       }  
   }  
}  
l2tp {  
   remote-access {  
       authentication {  
           mode radius  
           radius-server 10.0.32.5 {  
               key xxx  
               port 1812  
           }  
           require mschap-v2  
       }  
       client-ip-pool {  
           start 10.0.33.1  
           stop 10.0.33.254  
       }  
       dns-servers {  
           server-1 10.0.30.3  
       }  
       ipsec-settings {  
           authentication {  
               mode pre-shared-secret  
               pre-shared-secret xxxx  
           }  
           ike-lifetime 3600  
       }  
       outside-address 0.0.0.0  
   }  
}
 
Да, выглядит довольно стандартно.

configure  
set vpn ipsec site-to-site peer <peer_name> tunnel <tunnel_number> local prefix <L2TP_subnet_here>  
set vpn ipsec site-to-site peer <peer_name> tunnel <tunnel_number> remote prefix <remote_subnet_here>  
set vpn ipsec site-to-site peer <peer_name> tunnel <tunnel_number> esp-group <ESP_group_name>  
commit; exit  
restart vpn

Тебе нужно подключиться по SSH к твоему USG. Ты уже пробовал? Пожалуйста, пришли вывод команды show vpn, чтобы мы могли оценить твою конфигурацию.
 
Привет, UBNT-jaffe! Боюсь, что моя конфигурация довольно похожа, но до сих пор я работал только с обычными линуксовыми системами и iptables для маршрутизации и политики маршрутизации. У меня есть USG 3 и cloudkey в нашей локальной сети 10.0.32.0/24 (IP USG: 10.0.32.5). У меня настроена site-to-site сеть между локальной сетью и удалённым офисом. Удалённая сеть — 10.0.30.0/24, на ней работает strongSwan на линуксовой машине. Я могу без проблем обращаться к обеим сетям и их подсетям друг с друга. Сейчас я включил L2TP VPN для удалённых клиентов, чтобы наши пользователи могли подключаться. Их сеть — 10.0.33.0/24, они отлично получают доступ к нашей локальной сети 10.0.32.0/24, но, хотя на клиенте Mac OS включена опция «посылать весь трафик», маршрутизация, кажется, всё равно не работает. Уверен, что это связано с постом, на который я отвечаю. Есть ли какие-нибудь советы, что нужно сделать, чтобы трафик от VPN-клиентов (10.0.33.0/24) нормально шел в нашу удалённую сеть 10.0.30.0/24? Буду очень признателен, Филипп.
 
Привет, @UBNT-jaffe!

У нас настроен VPN для удалённых пользователей и site-to-site VPN туннель к x.x.x.168 с сетью 10.x.x.0/24. Локальная сеть 172.x.18.1/24 может получить доступ к site-to-site сети, но удалённый VPN-диапазон 172.x.20.1/24 — нет.

Даже если я настраиваю json следующим образом:

"vpn": {
 "ipsec": {
   "site-to-site": {
     "peer": {
       "x.x.x.168": {
         "tunnel": {
           "10": {
             "esp-group": "ESP_x.x.x.168",
             "local": {
               "prefix": "172.x.20.1/24"
             },
             "remote": {
               "prefix": "10.x.x.0/24"
             }
           }
         }
       }
     }
   }
 }
}

При такой конфигурации, кажется, что маршрут доступен для удалённого VPN-пользователя, но локальная сеть уже не может получить доступ к site-to-site. Похоже, что возможен только один маршрут к site-to-site.

Нам нужно, чтобы обе сети могли получить доступ к site-to-site: локальная сеть 172.x.18.1/24 и удалённая VPN 172.x.20.1/24.

Есть ли какое-то решение для этого?
 
Привет, гики... 😀 У меня проблема, иначе я бы не писал, правда? Со с2с VPN и remote-VPN всё в порядке. Чтобы мой удалённый пользователь мог получить доступ к моему s2s VPN, я настраиваю secure gateway так:

configureset vpn ipsec site-to-site peer 35.xxx.xxx.213 tunnel 1 local prefix 192.168.103.0/24 (это сеть remote-VPN)  
set vpn ipsec site-to-site peer 35.xxx.xxx.213 tunnel 1 remote prefix 192.168.104.0/24 (это сеть s2s-VPN)  
set vpn ipsec site-to-site peer 35.xxx.xxx.213 tunnel 1 esp-group ESP_35.xxx.xxx.213  
commit;exit  
restart vpn

И всё работает до момента provisionning, но как только я подгружаю этот json-файл... s2s VPN не устанавливается и перестаёт работать...

{  
"vpn": {  
"ipsec": {  
"site-to-site": {  
"peer": {  
"35.xxx.xxx.213": {  
"tunnel": {  
"1": {  
"local": {"prefix": "192.168.103.0/24"},  
"remote": {"prefix": "192.168.104.0/24"},  
"esp-group": "ESP_35.xxx.xxx.213"  
}  
}  
}  
}  
}  
}  
}  

Какая тут может быть причина, что при попытке сделать конфиг постоянным всё ломается?

Спасибо!
 
Мне удалось это исправить, на стороне партнёра была неправильная настройка подсети, из-за чего происходили сбои.
 
@UBNT-jaffe

Я попробовал эти настройки, чтобы разрешить пользователям из удалённой VPN-сети доступа к ресурсам через site-to-site VPN. Однако после настройки всё равно не могу получить доступ к ресурсам через наш site-to-site VPN.

Мы подключаемся с такими настройками:

vpn {
   ipsec {
       auto-firewall-nat-exclude enable
       esp-group ESP_x.x.x.x {
           compression disable
           lifetime 3600
           mode tunnel
           pfs disable
           proposal 1 {
               encryption aes128
               hash sha1
           }
       }
       ike-group IKE_x.x.x.x {
           key-exchange ikev1
           lifetime 28800
           proposal 1 {
               dh-group 2
               encryption aes128
               hash sha1
           }
       }
       ipsec-interfaces {
           interface eth2
       }
       nat-networks {
           allowed-network 0.0.0.0/0 {
           }
       }
       nat-traversal enable
       site-to-site {
           peer x.x.x.x {
               authentication {
                   mode pre-shared-secret
                   pre-shared-secret ****************
               }
               connection-type initiate
               ike-group IKE_x.x.x.x
               local-address y.y.y.y
               tunnel 0 {
                   esp-group ESP_x.x.x.x
                   local {
                       prefix d.d.d.d/24
                   }
                   remote {
                       prefix z.z.z.z/27
                   }
               }
               tunnel 1 {
                   esp-group ESP_x.x.x.x
                   local {
                       prefix b.b.b.b/16
                   }
                   remote {
                       prefix z.z.z.z/27
                   }
               }
               tunnel 2 {
                   esp-group ESP_x.x.x.x
                   local {
                       prefix a.a.a.a/16
                   }
                   remote {
                       prefix z.z.z.z/27
                   }
               }
               tunnel 3 {
                   esp-group ESP_x.x.x.x
                   local {
                       prefix 192.168.3.0/24
                   }
                   remote {
                       prefix z.z.z.z/27
                   }
               }
           }
       }
   }
   l2tp {
       remote-access {
           authentication {
               mode radius
               radius-server 192.168.1.1 {
                   key ****************
                   port 1812
               }
               require mschap-v2
           }
           client-ip-pool {
               start 192.168.3.1
               stop 192.168.3.254
           }
           dns-servers {
               server-1 192.168.1.1
           }
           ipsec-settings {
               authentication {
                   mode pre-shared-secret
                   pre-shared-secret ****************
               }
               ike-lifetime 3600
           }
           outside-address y.y.y.y
       }
   }
}

Нужно ли добавить какие-то статические маршруты, чтобы это заработало? Весь мой трафик сейчас идёт через удалённый VPN.

Буду признателен за любые советы.

Заранее спасибо!
Страницы: 1 2 След.
Читают тему (гостей: 1)