1 (edytowany przez mjnck 2023-05-14 23:28:30)

Temat: Nat reflection po przepisaniu docelowego adresu ip

Hej. Mam problem z konfiguracją nftables w openwrt. Mam włączone przekierowanie portu 80 i 443 na hosta w mojej sieci wraz z włączonym NAT reflection. Nie chce działać gdyż na wan dostaję inny adres ip niż mój publiczny i ruch wychodzi do sieci operatora i tam jest odbijany. Po dodaniu reguły tłumaczącej ip docelowy z mojego publicznego na mój adres na interface wan, mechanizm nat reflection przestaje działać (z sieci lokalnej po wejściu na ip publiczny ładuje się strona konfiguracyjna opernwrt).

Dodaję taką regułę do /etc/nftables.d

chain user_pre_input {
        type nat hook prerouting priority -1000;
        ip daddr [mój ip publiczny] dnat to [mój ip który dostaję na interface wan]
}

Czemu nie działa nat reflection? Co robię źle?

NanoPi R4S OpenWrt 23.05 // MikroTik CRS310-8G+2S+ // AP MikroTik hAP ax2

2

Odp: Nat reflection po przepisaniu docelowego adresu ip

Openwrt robi to tak gdy IP_WAN eth0 to 10.0.3.15/24 a IP_LAN eth1 to 172.16.1.2/24:

chain dstnat {
        type nat hook prerouting priority dstnat; policy accept;
        iifname "eth0" jump dstnat_lan comment "!fw4: Handle lan IPv4/IPv6 dstnat traffic"
        iifname "eth1" jump dstnat_wan comment "!fw4: Handle wan IPv4/IPv6 dstnat traffic"
    }
....
    chain dstnat_lan {
        ip saddr 172.16.1.0/24 ip daddr 10.0.3.15 tcp dport 8888 dnat ip to 172.16.1.2:80 comment "!fw4: @redirect[0] (reflection)"
        }
....
    chain dstnat_wan {
        meta nfproto ipv4 tcp dport 8888 counter packets 0 bytes 0 dnat ip to 172.16.1.2:80 comment "!fw4: @redirect[0]"
        }
.....
......
chain srcnat {
        type nat hook postrouting priority srcnat; policy accept;
        oifname "eth0" jump srcnat_lan comment "!fw4: Handle lan IPv4/IPv6 srcnat traffic"
        oifname "eth1" jump srcnat_wan comment "!fw4: Handle wan IPv4/IPv6 srcnat traffic"
    }
...
    chain srcnat_lan {
        ip saddr 172.16.1.0/24 ip daddr 172.16.1.2 tcp dport 80 snat ip to 172.16.1.2 comment "!fw4: @redirect[0] (reflection)"
        }
...
    chain srcnat_wan {
        meta nfproto ipv4 masquerade comment "!fw4: Masquerade IPv4 wan traffic"
    }

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

3

Odp: Nat reflection po przepisaniu docelowego adresu ip

Zastanawiam się jak do tego podejść. Odznaczyć wszędzie opcję nat reflection wszędzie i dopisać ręcznie reguły do każdego przekierowania? Próbowałem dodać taką regułę jak pisałem w pierwszym poście do łańcucha dstnat_wan i nie chce działać.

NanoPi R4S OpenWrt 23.05 // MikroTik CRS310-8G+2S+ // AP MikroTik hAP ax2

4

Odp: Nat reflection po przepisaniu docelowego adresu ip

Jeżeli robisz sobie testy to zawsze warto sprawdzić czy reguła załadowała się do firewalla:

nft list ruleset

powiedzmy że udało się załadować regułę.

mjnck napisał/a:

...
Po dodaniu reguły tłumaczącej ip docelowy z mojego publicznego na mój adres na interface wan, mechanizm nat reflection przestaje działać (z sieci lokalnej po wejściu na ip publiczny ładuje się strona konfiguracyjna opernwrt).

to chyba dobrze, na tym polega NAT-reflection.
będąc w sieci lokalnej nie musisz odwoływać się do jakiegoś serwera w sieci lokalnej tylko stukasz swój publiczny adres, a NAT-reflection przekieruje a w zasadzie odbije pakiet do hosta wewnątrz swojej sieci.

a teraz przeczytaj co napisałeś:
reguły tłumaczącej ip docelowy z mojego publicznego na mój adres na interface wan... po wejściu na ip publiczny ładuje się strona konfiguracyjna opernwrt
skoro tłumaczysz publiczny adres na swój adres na WAN to co ma się ładować? przecież nie google.pl
skoro hosty z sieci LAN chcą publiczny IP a Ty wbiłeś "przekierowanie" na swój router to masz stronę swojego routera smile

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *