Перейти к содержанию

Вопрос

Опубликовано

Ситуация следующая: мой провайдер предоставляет мне публичную статику. Однако мой роутер тем не менее стоит за NAT провайдера, то бишь этот публичный IP на себя не получает. В результате этого я могу обращаться к ресурсам своей сети по внешнему IP снаружи, но не могу делать это внутри сети. Хотелось бы иметь возможность доступа к ресурсам изнутри по внешнему IP. С провайдером вёл диалог по поводу выдачи сразу публичного IP на мой роутер - получен отказ.

По опыту работы с MikroTik стал искать, как назначить на интерфейс вручную второй IP-адрес. Нашёл, что есть ip alias и назначил свой публичный адрес на WAN. В конфигурации это стало выглядеть следующим образом:

interface FastEthernet0/Vlan2
    rename ISP
    description "Home Net Telecom"
    mac address factory wan
    security-level public
    ip address dhcp
    ip alias XXX.XX.XX.XX 255.255.255.255
    ip dhcp client hostname Keenetic-XXXX
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ip mtu 1500
    ip access-group _WEBADMIN_ISP in
    ip global 700
    up
!

От провайдера роутер получает на этот интерфейс по DHCP адрес 192.168.12.XXX.

Загвоздка у меня возникла с правилами перенаправления портов. Изначально в моих правилах в качестве input'а был указан интерфейс, как в 1-м правиле ниже. Однако с таким правилом внутри сети перенаправления не происходит. Зато оно происходит, если указать вместо интерфейса мой внешний IP, как во 2-м правиле. Но это правило, разумеется, не работает снаружи, поскольку роутер из интернета получает пакеты на IP, который выдал провайдер.

ip static tcpudp FastEthernet0/Vlan2 3389 xx:xx:xx:xx:xx:xx
ip static tcpudp XXX.XX.XX.XX 255.255.255.255 3389 xx:xx:xx:xx:xx:xx

Если держать оба правила активными, то работает и снаружи, и изнутри.

Вопрос: это ожидаемое поведение? Если я поставил XXX.XX.XX.XX как второй IP-адрес интерфейса, разве 1-е правило не должно корректно исполняться отовсюду? Я могу, конечно, делать для каждого перенаправления два правила, но вроде бы как оба IP являются частью интерфейса, потому 1-го правила должно по логике хватать (если я, конечно, ничего не путаю).

Рекомендуемые сообщения

  • 0
Опубликовано
3 часа назад, Vadim Makhtarov сказал:

Вопрос: это ожидаемое поведение? Если я поставил XXX.XX.XX.XX как второй IP-адрес интерфейса, разве 1-е правило не должно корректно исполняться отовсюду? Я могу, конечно, делать для каждого перенаправления два правила, но вроде бы как оба IP являются частью интерфейса, потому 1-го правила должно по логике хватать (если я, конечно, ничего не путаю).

Сейчас посмотрел с помощью show netfilter в cli. Не смотря на то что в правилах вида как ваше первое указан входной интерфейс, в реальности под капотом в iptables создается правило без указания входного интерфейса. Правило создается просто с указанием destination ip, который определяется как адрес выбранного входного интерфейса. Т.е. создавая правило вида: 

ip static udp  ISP 59876 192.168.1.33   

В реальности создается правило вида:  

 -A _NDM_STATIC_DNAT -d 172.25.25.15/32 -p udp -m udp --dport 59876 -j DNAT --to-destination 192.168.1.33:59876        - 172.25.25.15 это как раз ip адрес на интерфейсе ISP у меня.

Почему правило интерпретируется и создается именно так, а не с указанием входного интерфейса типа так: -A PREROUTING -i ens3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.55.25, это вопрос к разработчикам. Получается что при создании правила берется ip адрес указанного интерфейса, но, видимо, не берется alias.

К слову, даже если бы правило создавалось c указанием входного интерфейса, ваше первое правило все равно не работало бы для пакетов внутри сети, т.к. пакет из внутренней сети приходит на роутер не на указанный вами интерфейс FastEthernet0/Vlan2, а на интерфейс Bridg0, к примеру.  Так что, конкретно в вашем случае, остается создавать два правила, видимо.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.