Как сделать внешний IP доступным для сервера в LAN

Обсуждение ПО и его настройки
Ответить
dmitriy.izrigi
Сообщения: 6
Зарегистрирован: 30 сен 2021, 16:25

Всем привет,
Пользуюсь микротиком, но не админ :) по этому скил левел ниже среднего

Есть у меня сервер внутри LAN на котором крутится gitlab и gitlab runner на адресе 192.168.0.2!
MikroTik Router пробрасывает порты с внешнего IP 83.99.163.2 на 192.168.0.2 и всё работает нормально.

Но, gitlab runner хочет конектиктся не по IP, а по DNS имени, соотвественно всё идёт через 83.99.163.2.
Вопрос, как настроить чтобы 192.168.0.2 заходил на 83.99.163.2 и попадал обратно 192.168.0.2 ?
Сейчас такая схема не работает.

В логах вот такая ошибка
dstnat: in:wlan1 out:(unknown 0), src-mac 74:da:38:f2:b6:40, proto TCP (SYN), 192.168.0.2:32898->83.99.163.2:443, len 60


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Либо на самом сервере в hosts, либо на микротике в DNS Static (если конечно микротик используется в качестве DNS) сделайте запись, что нужный домен и есть 192.168.0.2


Telegram: @thexvo
dmitriy.izrigi
Сообщения: 6
Зарегистрирован: 30 сен 2021, 16:25

Я хотел сделать через настройка Firewall -> NAT где в action задать same/netmap , а не через подмену DNS. Разве так нельзя?


Аватара пользователя
hardrockbaby
Сообщения: 70
Зарегистрирован: 19 сен 2021, 16:11

dmitriy.izrigi писал(а): 30 сен 2021, 22:47 Я хотел сделать через настройка Firewall -> NAT где в action задать same/netmap , а не через подмену DNS. Разве так нельзя?
Если не ошибаюсь, тут поможет так называемый Hairpin NAT. Для вашего случая:

Код: Выделить всё

/ip firewall nat
add action=src-nat chain=srcnat dst-address=83.99.163.2 src-address=192.168.0.0/24 to-addresses=192.168.0.1
Если адреса динамические, то уместней будет action=masquerade


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

dmitriy.izrigi писал(а): 30 сен 2021, 22:47 Я хотел сделать через настройка Firewall -> NAT где в action задать same/netmap , а не через подмену DNS. Разве так нельзя?
То есть вы хотите вместо того, чтобы сказать приложению, что то, куда оно хочет находится на localhost'е, действительно гонять трафик туда-сюда через роутер?

Ооок, ну вот тогда выше написали - добавляйте ещё подмену src-адреса на адрес роутера (hairpin nat).


Telegram: @thexvo
dmitriy.izrigi
Сообщения: 6
Зарегистрирован: 30 сен 2021, 16:25

xvo писал(а): 01 окт 2021, 10:24
dmitriy.izrigi писал(а): 30 сен 2021, 22:47 Я хотел сделать через настройка Firewall -> NAT где в action задать same/netmap , а не через подмену DNS. Разве так нельзя?
То есть вы хотите вместо того, чтобы сказать приложению, что то, куда оно хочет находится на localhost'е, действительно гонять трафик туда-сюда через роутер?

Ооок, ну вот тогда выше написали - добавляйте ещё подмену src-адреса на адрес роутера (hairpin nat).
Дело в том, что у меня HTTPS соединение и домен к которому обращается gitlab runner висит на Let's encrypt bote, то есть, каждые три месяца обновляется! У меня есть опасения, что при DNS Static записи, сертификат не обновится, потому как certbot проверят соответсвие DNS IP и Server IP.


dmitriy.izrigi
Сообщения: 6
Зарегистрирован: 30 сен 2021, 16:25

hardrockbaby писал(а): 01 окт 2021, 09:53
dmitriy.izrigi писал(а): 30 сен 2021, 22:47 Я хотел сделать через настройка Firewall -> NAT где в action задать same/netmap , а не через подмену DNS. Разве так нельзя?
Если не ошибаюсь, тут поможет так называемый Hairpin NAT. Для вашего случая:

Код: Выделить всё

/ip firewall nat
add action=src-nat chain=srcnat dst-address=83.99.163.2 src-address=192.168.0.0/24 to-addresses=192.168.0.1
Если адреса динамические, то уместней будет action=masquerade
Спасибо, попробовал, вроде должно работать, но ничего не дало, wget с локального компа по адресу 83.99.163.2 виснет.

Может
add action=masquerade chain=srcnat comment="default configuration" out-interface=WAN
Мешает ?


dmitriy.izrigi
Сообщения: 6
Зарегистрирован: 30 сен 2021, 16:25

Всем спасибо, сделал по этому документу и всё работает
https://forum.mikrotik.com/viewtopic.php?t=172380


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

У меня certbot аналогичным образом крутится в контейнере на сервере внутри сети и никаких трудностей с обновлением сертификата не испытавает, несмотря на то, что на DNS серевере своя локальная запись для этого домена, чтобы наружу трафик не гонять.

Так что в худшем случае оно решается конфигом самого сertbot'а.
А возможно он вообще локальный DNS не использует.


Telegram: @thexvo
dmitriy.izrigi
Сообщения: 6
Зарегистрирован: 30 сен 2021, 16:25

xvo писал(а): 01 окт 2021, 16:46 У меня certbot аналогичным образом крутится в контейнере на сервере внутри сети и никаких трудностей с обновлением сертификата не испытавает, несмотря на то, что на DNS серевере своя локальная запись для этого домена, чтобы наружу трафик не гонять.

Так что в худшем случае оно решается конфигом самого сertbot'а.
А возможно он вообще локальный DNS не использует.
В любом случае спасибо, теперь у меня есть два способа :))
1. Hairpin NAT
2. DNS Static


Ответить