Rulez un server WireGuard pe Raspberry Pi folosind https://github.com/linuxserver/docker-wireguard imagine. Vreau să permit colegilor să facă două lucruri:
- Conectați-vă la un singur NAS prin SMB
- Ping același NAS
Am scris următoarele reguli iptables pentru a arhiva acest lucru (wg0
este interfața WireGuard, eth0
cel „spre” rețeaua mea):
# Resetați (spăiți) regulile
iptables -t nat -F
iptables -F
# Permite traficul WireGuard
iptables --policy INPUT ACCEPT
iptables --policy OUTPUT ACCEPT
# Interziceți orice trafic de redirecționare în mod implicit
iptables --policy FORWARD DROP
# Permite traficul SAMBA către NAS
NAS="192.168.178.23/32"
iptables -A FORWARD -i wg0 -p tcp --dport 445 -d "$NAS" -m stare --state NOU, RELATED, STABILIT -j ACCEPT
iptables -A FORWARD -o wg0 -m stare --state RELATED,STABLISHED -j ACCEPT
# Permiteți cererea de eco ICMP
iptables -A FORWARD -i wg0 -p icmp --icmp-type 8 -d "$NAS" -m stare --state NOU, RELATED, STABILIT -j ACCEPT
iptables -A FORWARD -o wg0 -p icmp --icmp-type 0 -m stare --state RELATED,STABLISHED -j ACCEPT
# IP tunel NAT la IP intern
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Acestea funcționează, așa că, atunci când sunt conectat prin WireGuard, pot ping și monta NAS-ul prin SMB, dar nu pot ping la niciun alt serviciu din rețea sau să accesez interfața HTTP a NAS-ului.
Totuși, am câteva întrebări pentru a înțelege exact ce am făcut:
- La setare
INTRARE
/IEȘIRE
politica de a CĂDERE BRUSCA
, nimic nu merge. Presupunerea mea este că se datorează faptului că pachetele WireGuard UDP au primit wg0
sunt abandonate de politica?
- Dacă oricum setez politica și adaug o regulă la
PERMITE
trafic de la/la wg0
, efectul ar fi că containerul nu se poate conecta la nimic prin eth0
si doar REDIRECŢIONA
trafic din wg0
?
- Regula permite
LEGATE, STABILIT
trafic prin wg0
ar trebui să se potrivească numai cu traficul care răspunde fie la TCP:445, fie la ICMP:echo-request. Nu trebuie să fii mai specific acolo (de exemplu, portul/protocolul care se potrivește), nu?
- Regula
PERMITE
Nu este necesară introducerea de răspunsuri eco, deoarece regula mai puțin specifică permite LEGATE, STABILIT
traficul de deasupra lui se va potrivi înaintea lui, nu?
- Cu toate filtrele pe
REDIRECŢIONA
lanț, presupunerea mea este că nu trebuie să filtrez pe nat
Mese POSTOUTARE
lanț, pentru că orice trafic care nu este pentru NAS nici pe TCP:445, fie pe ICM:echo-request nu va ajunge oricum „atât de departe”. Este corect?