Puncte:0

redirecționarea nftables de la wlan0 la eth0, dar nu se întâmplă nimic

drapel cn

Am un Raspberry Pi care este conectat la un router wireless cu wlan0 și există un server care este conectat la eth0. Ambele conexiuni funcționează bine.

Eth0 dintre Pi și server este configurat static, astfel încât eth0-ul lui Pi să aibă IP 192.168.3.23/24 și serverul să aibă IP 192.168.3.200/24. Wlan0 al lui Pi are IP 192.168.1.131/24.

Acum, încerc să fac redirecționare, astfel încât, atunci când conectez portul 88 al lui Pi, să redirecționeze către serverul din spatele lui. Am redirecționarea activată conform sysctl -a | grep înainte:

net.ipv4.conf.all.bc_forwarding = 0
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.default.bc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.eth0.bc_forwarding = 0
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.lo.bc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.wlan0.bc_forwarding = 0
net.ipv4.conf.wlan0.forwarding = 1
net.ipv4.conf.wlan0.mc_forwarding = 0
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_update_priority = 1
net.ipv4.ip_forward_use_pmtu = 0

De asemenea, am nftables configurat astfel:

table ip nat {
        preroutare în lanț {
                tip nat hook prerouting priority dstnat; acceptarea politicii;
                tcp dport { 88, 443 } dnat la 192.168.3.200
        }

        postrouting în lanț {
                tip nat hook postrouting priority srcnat; acceptarea politicii;
        }
}

AFAIK ar trebui să redirecționeze porturile TCP 88 și 443 către server la 192.168.3.200, dar nu se întâmplă nimic. Daca eu fac curl http://192.168.1.131:88, cererea se blochează pe termen nelimitat. Totuși, regula nftables face ceva, pentru că dacă șterg setul de reguli, cererile sunt refuzate imediat.

Oare imi scapa ceva aici?

Puncte:3
drapel cz

Your NAT rules fail to specify the interface where packets come in (for DNAT or go out (for SNAT) thus they are applying to all routed traffic in both directions, which is not what you want.

You at least need to specify the incoming interface for DNAT to work properly. For example:

                iif wlan0 tcp dport { 88, 443 } dnat to 192.168.3.200

You're missing the outbound masquerade rule entirely from your postrouting chain. For example:

                oif wlan0 masquerade
Puncte:1
drapel ar

Cu destinația NAT, doar destinația este rescrisă. Sursa este lăsată neatinsă, astfel încât orice pachet care sosește la server va avea o sursă în 192.168.1.0/24.

Serverul dvs. probabil nu are o rută pentru a ajunge la 192.168.1.0/24; are doar un traseu pentru a ajunge la 192.168.3.0/24. Așa că își ridică mâinile și aruncă pachetul.

Aveți două moduri de a rezolva asta:

  1. Setați dispozitivul 192.168.3.23 ca gateway implicit pe server și aplicați setările corespunzătoare pentru firewall.
  2. Utilizați și sursa NAT și rescrieți atât sursa, cât și destinația pachetelor redirecționate.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.