Kirpich1988 Posted November 7, 2024 Posted November 7, 2024 (edited) Есть роутер: 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 November 10, 2024 by Kirpich1988 Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.