Kirpich1988 Posted November 7 (edited) · Report post Есть роутер: 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 by Kirpich1988 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...