Jump to content
Калькуляторы

Прошивка SNR-CPE-ME2-SFP - Проброс портов - Nat loopback

Есть роутер: SNR-CPE-ME2-SFP

Прошивка: 1.10.9.1708231534

https://data.nag.wiki/SNR%20WiFi/Firmware/snr-cpe-fw-old/SNR-CPE-ME2-SFP/SNR-CPE-ME2-SFP-1.10.9.1708231534-2aedfa4a.bin.zip

Через Web-GUI добавлены настройки:
1. Сетевой экран / Сетевой экран / Настройки проброса портов:
Интерфейс: WAN
Протокол: TCP&UDP
Порт ист.: 4430
IP назначения: 192.168.1.37
Порт назн.: 4430
Nat loopback: yes
Комментарий: https-server

2. Сервисы / Разное / Механизм обработки
Режим обработки NAT: Аппаратный
Реализация NAT: Linux

Всё работает.
Имею доступ из WAN и LAN по внешнему IP (194.194.194.194:4430) провайдера, из вне, и в локальной сети. Из LAN по внутреннему IP (192.168.1.37:4430).

Проблема...
В логах на 192.168.1.37:4430 я вижу входящие подключения...
Когда из WAN с IP 200.200.200.200 на 194.194.194.194:4430 - всё ок, в логах 200.200.200.200.
Когда из LAN с IP 192.168.1.33 на 192.168.1.37:4430 - всё ок, в логах 192.168.1.33.
Когда из LAN с IP 192.168.1.33 на 194.194.194.194:4430 - НЕ ОК, в логах 192.168.1.1, а хотелось бы видеть 192.168.1.33.

Да, я читал, Настройка DNS сервисов Wive-NG :
https://wi-cat.ru/configure-wive-ng/dns-settings-adblok/
https://wi-cat.ru/configure-wive-ng/dns-settings-dnssec/

Что через DNS в LAN можно по домену получать IP не внешний (94.194.194.194) а внутренний (192.168.1.37), если добавлять домен в DNS роутера, использовать DNS роутера, и допустим делать редирект всех DNS запросов на локальный DNS роутера.

Хотелось бы иначе.

Читал, Правильный NAT Loopback/HairPin NAT в MikroTik:
https://blog.mark99.ru/pravilnyj-nat-loopback-hairpin-nat-v-mikrotik/

Там в итоге три команды:

# Первым этапом нужно промаркировать (new-packet-mark=nat-loopback) те пакеты, которые пришли на внешний адрес маршрутизатора (dst-address=194.194.194.194) из локальной сети (in-interface=LAN) и являются новыми соединениями (connection-state=new).

/ip firewall mangle
add chain=prerouting comment="NAT Loopback detect" dst-address=194.194.194.194 in-interface=LAN connection-state=new action=mark-packet new-packet-mark=nat-loopback passthrough=yes

# Теперь нужно написать обработчик пакета, который сработает после того как пакет пройдет маршрутизацию и будет на выходе в локальную сеть, в таблице mangle необходимо заменить адрес источника на адрес маршрутизатора.

/ip firewall nat
add chain=srcnat packet-mark=nat-loopback action=masquerade comment="NAT Loopback replace address"

# Таким образом, появляется возможность писать правила проброса портов в обычном виде по одному на порт или несколько портов. Они будут работать как и в классическом сценарии (при поступлении извне), так и в случае поступления запросов из локальной сети.

/ip firewall nat
add chain=dstnat dst-address=194.194.194.194 protocol=tcp dst-port=4430 action=dst-nat to-addresses=192.168.1.37


ChatGPT мне подсказывает, что нужно, аналогично:

# Маркируем пакеты в таблице mangle для определения NAT Loopback
iptables -t mangle -A PREROUTING -d 194.194.194.194 -i br0 -m conntrack --ctstate NEW -j MARK --set-mark 1

# Маскарадинг для пакетов, помеченных для NAT Loopback
iptables -t nat -A POSTROUTING -m mark --mark 1 -j MASQUERADE

# Пробрасываем пакеты на внутренний IP для доступа к локальному серверу
iptables -t nat -A PREROUTING -d 194.194.194.194 -p tcp -m multiport --dports 4430 -j DNAT --to-destination 192.168.1.37


Но эти команды не работают.

Ошибка:

iptables: No chain/target/match by that name.

 

Оказалось, в Entware в /opt/sbin, /opt/bin, прописался свой iptables. Ошибка решена.


Что можно сделать?
Что бы когда из LAN с IP 192.168.1.33 на 194.194.194.194:4430 - в логах было 192.168.1.33.

 

Edited by Kirpich1988

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.