Страница 1 из 1
Как сделать внешний IP доступным для сервера в LAN
Добавлено: 30 сен 2021, 16:33
dmitriy.izrigi
Всем привет,
Пользуюсь микротиком, но не админ :) по этому скил левел ниже среднего
Есть у меня сервер внутри 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
Re: Как сделать внешний IP доступным для сервера в LAN
Добавлено: 30 сен 2021, 20:12
xvo
Либо на самом сервере в hosts, либо на микротике в DNS Static (если конечно микротик используется в качестве DNS) сделайте запись, что нужный домен и есть 192.168.0.2
Re: Как сделать внешний IP доступным для сервера в LAN
Добавлено: 30 сен 2021, 22:47
dmitriy.izrigi
Я хотел сделать через настройка Firewall -> NAT где в action задать same/netmap , а не через подмену DNS. Разве так нельзя?
Re: Как сделать внешний IP доступным для сервера в LAN
Добавлено: 01 окт 2021, 09:53
hardrockbaby
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
Re: Как сделать внешний IP доступным для сервера в LAN
Добавлено: 01 окт 2021, 10:24
xvo
dmitriy.izrigi писал(а): ↑30 сен 2021, 22:47
Я хотел сделать через настройка Firewall -> NAT где в action задать same/netmap , а не через подмену DNS. Разве так нельзя?
То есть вы хотите вместо того, чтобы сказать приложению, что то, куда оно хочет находится на localhost'е, действительно гонять трафик туда-сюда через роутер?
Ооок, ну вот тогда выше написали - добавляйте ещё подмену src-адреса на адрес роутера (hairpin nat).
Re: Как сделать внешний IP доступным для сервера в LAN
Добавлено: 01 окт 2021, 15:37
dmitriy.izrigi
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.
Re: Как сделать внешний IP доступным для сервера в LAN
Добавлено: 01 окт 2021, 15:39
dmitriy.izrigi
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
Мешает ?
Re: Как сделать внешний IP доступным для сервера в LAN
Добавлено: 01 окт 2021, 16:14
dmitriy.izrigi
Всем спасибо, сделал по этому документу и всё работает
https://forum.mikrotik.com/viewtopic.php?t=172380
Re: Как сделать внешний IP доступным для сервера в LAN
Добавлено: 01 окт 2021, 16:46
xvo
У меня certbot аналогичным образом крутится в контейнере на сервере внутри сети и никаких трудностей с обновлением сертификата не испытавает, несмотря на то, что на DNS серевере своя локальная запись для этого домена, чтобы наружу трафик не гонять.
Так что в худшем случае оно решается конфигом самого сertbot'а.
А возможно он вообще локальный DNS не использует.
Re: Как сделать внешний IP доступным для сервера в LAN
Добавлено: 04 окт 2021, 12:25
dmitriy.izrigi
xvo писал(а): ↑01 окт 2021, 16:46
У меня certbot аналогичным образом крутится в контейнере на сервере внутри сети и никаких трудностей с обновлением сертификата не испытавает, несмотря на то, что на DNS серевере своя локальная запись для этого домена, чтобы наружу трафик не гонять.
Так что в худшем случае оно решается конфигом самого сertbot'а.
А возможно он вообще локальный DNS не использует.
В любом случае спасибо, теперь у меня есть два способа :))
1. Hairpin NAT
2. DNS Static