Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
USG и NAT/хэрпин/лупбэк?, UniFi Network
 
У меня есть USG, и когда я нахожусь за ним, не могу подключиться к внутренним устройствам, используя их внешний адрес с пробросом портов, например https://some.domain.com/😛ort#. У потребительских роутеров это обычно решается включением CTF (cut through forwarding). — правка: похоже, что CTF здесь лишь частично при чём, на самом деле ключевое — NAT Loopback — меняю заголовок, чтобы это отражалось. Кто-нибудь знает, нормально ли такое поведение USG? Если да, есть ли в USG настройка CTF? Алекс. — правка — заголовок изменён — после публикации я нашёл что-то под названием hairpin, которое, как я понимаю, должно решать эту проблему? Похоже, оно включено. Есть идеи, почему всё ещё не работает?
 
Нет опции для указания адреса назначения — только порт, и, конечно, появляется ошибка, если я ввожу адрес «138.128.191.146». Как вы вообще собираетесь это вводить?
 
Тебе не нужно делать DNAT для этой задачи, просто зайди в раздел Devices в контроллере, выбери USG, перейди в панель свойств, вкладку Configuration. Там разверни Port Forward и добавь всё по нужным параметрам.
 
Так в чём же я тут ошибаюсь? В RouterOS (Mikrotik RB750UP) у меня есть:

/ip firewall filter
add chain=input dst-address=192.168.1.110 dst-port=802 protocol=tcp src-address=192.168.10.0/24
add chain=input dst-address=192.168.1.110 dst-port=803 protocol=tcp src-address=192.168.20.0/24
add chain=input dst-address=192.168.1.110 dst-port=804 protocol=tcp src-address=192.168.30.0/24
add action=drop chain=input dst-address=192.168.1.0/24 src-address=192.168.10.0/24
add action=drop chain=input dst-address=192.168.1.0/24 src-address=192.168.20.0/24
add action=drop chain=input dst-address=192.168.1.0/24 src-address=192.168.30.0/24

/ip firewall nat
add action=masquerade chain=srcnat out-interface=OranaNet_Bridge
add action=netmap chain=dstnat dst-address=138.128.191.146 in-interface=OranaNet_Bridge protocol=tcp to-addresses=192.168.1.110 to-ports=802
add action=netmap chain=dstnat dst-address=138.128.191.146 in-interface=OranaWiFi_Bridge protocol=tcp to-addresses=192.168.1.110 to-ports=802
add action=netmap chain=dstnat dst-address=138.128.191.146 in-interface=SchoolWiFi1_Bridge protocol=tcp to-addresses=192.168.1.110 to-ports=803
add action=netmap chain=dstnat dst-address=138.128.191.146 in-interface=SchoolWiFi2_Bridge protocol=tcp to-addresses=192.168.1.110 to-ports=804

А в USG (EdgeOS) я написал такое:

configure
set service nat rule 2000 description "LAN to Webserver"
set service nat rule 2000 inbound-interface eth1
set service nat rule 2000 destination address 138.128.191.146
set service nat rule 2000 source address 192.168.1.0/24
set service nat rule 2000 inside-address address 192.168.1.110
set service nat rule 2000 inside-address port 802
set service nat rule 2000 log disable
set service nat rule 2000 protocol tcp
set service nat rule 2000 type destination

set service nat rule 2001 description "OranaWiFi to Webserver"
set service nat rule 2001 inbound-interface eth1
set service nat rule 2001 destination address 138.128.191.146
set service nat rule 2001 source address 192.168.10.0/24
set service nat rule 2001 inside-address address 192.168.1.110
set service nat rule 2001 inside-address port 802
set service nat rule 2001 log disable
set service nat rule 2001 protocol tcp
set service nat rule 2001 type destination

set service nat rule 2002 description "SchoolWiFi1 to Webserver"
set service nat rule 2002 inbound-interface eth1
set service nat rule 2002 destination address 138.128.191.146
set service nat rule 2002 source address 192.168.20.0/24
set service nat rule 2002 inside-address address 192.168.1.110
set service nat rule 2002 inside-address port 803
set service nat rule 2002 log disable
set service nat rule 2002 protocol tcp
set service nat rule 2002 type destination

set service nat rule 2003 description "SchoolWiFi2 to Webserver"
set service nat rule 2003 inbound-interface eth1
set service nat rule 2003 destination address 138.128.191.146
set service nat rule 2003 source address 192.168.30.0/24
set service nat rule 2003 inside-address address 192.168.1.110
set service nat rule 2003 inside-address port 804
set service nat rule 2003 log disable
set service nat rule 2003 protocol tcp
set service nat rule 2003 type destination

set service nat rule 5004 description "Masquerade NAT"
set service nat rule 5004 outbound-interface eth0
set service nat rule 5004 type masquerade

commit
save

В GUI файрвола USG в разделе LAN_IN я прописал принять пакеты от VLAN к адресу 192.168.1.110 и отклонять все остальные.
 
В этом нет ничего особенного. По умолчанию это настроено для переадресации портов и не может быть отключено для USG. Hairpin в настоящее время не поддерживается с UPnP для USG или EdgeRouter.
 
Я неплохо говорю на RouterOS, но с USG-языком по части hairpin NAT пока туго. И толковой помощи особо не встречаю.
 
Прошу прощения, что воскресаю старую тему, и если я неправильно понял вашу проблему. Мне кажется, что самый простой способ — это переписывание DNS, также известное как DNS doctoring. Эта функция уже много лет стандартна на устройствах с NAT. Неужели USG не умеет делать переписывание DNS? Хотя я сетевой инженер с опытом больше 30 лет, с USG я новичок и пытаюсь понять, как у него настроен NAT и как он работает. Я отлично говорю на Cisco, а вот с UBNT у меня пока не очень. Больше года готовлюсь заменить Cisco ASA на USG-4P (последний кусок моей сети, который не UniFi), но пока прогресса мало. Пока это не критично, но срочность в использовании большей мощности USG и второго WAN-порта растёт. Именно в поисках решения я наткнулся на эту тему.
 
Спасибо, UniFi, ваша замечательная поддержка делает жизнь такой простой — просто хочется вернуться к MikroTik, где сотрудники реально разбираются в железе, которое продают, и умеют им пользоваться. Сейчас пишу решение проблемы «на самом деле там ничего сложного», с которой столкнулся:

{
 "firewall": {
   "name": {
     "LAN_OUT": {
       "default-action": "accept",
       "description": "пакеты из LAN/OranaNet",
       "rule": {
         "6001": {
           "action": "accept",
           "description": "LAN на Webserver",
           "source": {
             "address": "192.168.1.0/24"
           },
           "destination": {
             "address": "138.128.191.146"
           },
           "inside-address": {
             "address": "192.168.1.110"
           },
           "inside-address": {
             "port": "802"
           }
         }
       }
     },
     "GUEST_OUT": {
       "default-action": "accept",
       "description": "пакеты из гостевых сетей",
       "rule": {
         "6002": {
           "action": "accept",
           "description": "OranaWiFi на Webserver",
           "source": {
             "address": "192.168.10.0/24"
           },
           "destination": {
             "address": "138.128.191.146"
           },
           "inside-address": {
             "address": "192.168.1.110"
           },
           "inside-address": {
             "port": "802"
           }
         },
         "6003": {
           "action": "accept",
           "description": "SchoolWiFi1 на Webserver",
           "source": {
             "address": "192.168.20.0/24"
           },
           "destination": {
             "address": "138.128.191.146"
           },
           "inside-address": {
             "address": "192.168.1.110"
           },
           "inside-address": {
             "port": "803"
           }
         },
         "6004": {
           "action": "accept",
           "description": "SchoolWiFi2 на Webserver",
           "source": {
             "address": "192.168.30.0/24"
           },
           "destination": {
             "address": "138.128.191.146"
           },
           "inside-address": {
             "address": "192.168.1.110"
           },
           "inside-address": {
             "port": "804"
           }
         }
       },
       "service": {
         "nat": {
           "rule": {
             "5010": {
               "description": "Маскарад для WAN",
               "outbound-interface": "eth0",
               "type": "masquerade"
             }
           }
         }
       }
     }
   }
 }
}

Итак;  
Правильны ли номера правил?  
Объединится ли это с моей конфигурацией из UniFi контроллера?  
Или это «обновит» её?  
Выполнит ли это желаемую задачу?
 
Мне нужна дифференциация портов на основе SSID — если вообще возможно указать порт через DNS, разве это не потребует наличие 4 отдельных DNS-серверов?
 
Мне кажется, что здесь помог бы split DNS. Внутренний DNS возвращает внутренний IP, внешний — внешний.
 
@UBNT-cmb Было бы здорово понять, вы вообще консультируетесь по этому поводу? Уже забили на это? Это нереально сделать? Я пытался не раз получить помощь, но UniFi меня просто подводит.
 
@UBNT-cmb

Учитывая, что «там особо ничего сложного», кажется невозможным получить какую-то помощь по этому вопросу. Мне срочно нужен ремонт — у меня 11 сотрудников и 10 000 студентов используют эту переадресацию.
 
Нет, это не WAN IP (я бы его не публиковал), это IP-адрес для мобильного сайта, направленного на пользователей, который вызывается по QR-кодам и NFC-меткам на месте. Его нужно перенаправлять на разные локальные порты веб-сервера в зависимости от SSID/сети.
 
Предполагаю, что .146 — это ваш WAN IP, в таком случае это просто автоматически. Поле Port не для IP-адресов, а для внешнего порта, который перенаправляется.
 
@UBNT-cmb

Я бы очень хотел, чтобы вы показали мне, где и как это можно сделать через Port Forwarding или другими способами!!!!!
 
@UBNT-cmb
 
После многократных попыток настроить USG через GUI, мне кажется, что этот интерфейс (как его тут называют) предназначен для PORT Forwarding, а не для DESTINATION Forwarding. Или вы можете показать, что я упускаю?
 
Итак, в булевых выражениях:  
если (источник = LAN и назначение = 138.128.191.146), тогда перенаправить на 192.168.1.110:802  
если (источник = VLAN2 и назначение = 138.128.191.146), тогда перенаправить на 192.168.1.110:802  
если (источник = VLAN3 и назначение = 138.128.191.146), тогда перенаправить на 192.168.1.110:803  
если (источник = VLAN4 и назначение = 138.128.191.146), тогда перенаправить на 192.168.1.110:804
Страницы: 1
Читают тему (гостей: 1)