
Hallo liebe Staplerfreunde,
Ich bin nicht sicher, ob ich meine Netzwerkkonfiguration perfekt geplant habe.
Ich habe eine Heimnetzwerktopographie wie diese:
Modem/Router <-> Debian-Router <-> LAN.
Ich muss über mein LAN hinter einem Debian-Router auf das Internet zugreifen.
Wenn ich diese 3 Regeln auf demDebian-Router, ich kann auf WAN zugreifen:
default via 192.168.0.10 dev enp1s0f1
10.0.0.0/24 dev enp1s0f0 proto kernel scope link src 10.0.0.12
192.168.0.0/24 dev enp1s0f1 proto kernel scope link src 192.168.0.12
192.168.0.10
ist mein Modem/Router.192.168.0.0/24
ist das kleine LAN mit dem Modem/Router und einem Zweig des Debian-Routers.10.0.0.0/24
ist mein privates LAN, in dem sich mein Pi befindet.
Mein Problem besteht darin, dass ich 192.168.0.10
von meiner Arbeitsstation 10.0.0.4
aus über den Debian-Router kein Ping-Signal an das Modem senden kann.
BEARBEITEN: neuer Versuch:
Ich habe auf diese Weise /etc/network/interfaces für dieDebian-Router:
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
allow-hotplug enp1s0f0
iface enp1s0f0 inet static
address 10.0.0.12
netmask 255.255.255.0
allow-hotplug enp1s0f1
iface enp1s0f1 inet static
address 192.168.0.12
netmask 255.255.255.0
gateway 192.168.0.10
ERGEBNIS: Netzwerkdienst-Validierung bestanden. Es generiert diese Routen auf demDebian-Router:
default via 192.168.0.10 dev enp1s0f1 onlink
10.0.0.0/24 dev enp1s0f0 proto kernel scope link src 10.0.0.12
192.168.0.0/24 dev enp1s0f1 proto kernel scope link src 192.168.0.12
Ich kann vom Debian-Router aus das WAN anpingen, DNS ok, Ping ok. Von meinem Pi im 10...-Netzwerk kann ich das Modem/den Router .10 nicht anpingen. Ich kann die andere Schnittstelle des Debian-Routers (192.168.0.12) anpingen.
Auf dem Debian-Router habe ich diese UFW-Einstellungen:
*nat
#:PREROUTING ACCEPT - [0:0]
:POSTROUTING ACCEPT - [0:0]
#Port fwd
#-A PREROUTING -i enp1s0f1 -p tcp --dport 22 -j DNAT --to-destination 10.0.0.3
# Forward traffic from source through iface
-A POSTROUTING -s 10.0.0.0/24 -o enp1s0f1 -j MASQUERADE
# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT
Ich weiß nicht, warum ich das Modem/den Router nicht vom Rasbian aus anpingen kann (Ping auf UFW erlaubt – weiß nicht, ob das sinnvoll ist).
net.ipv4.ip_forward=1
ist eingestellt aufDebian-Router.
iptables -nvL:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
117K 7348K ACCEPT all -- enp1s0f0 * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
iptables -t nat -nvL:
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Auf dem Rasbian habe ich diese Routen (vereinfacht):
default via 10.0.0.12 { the debian router's directly connected iface }
10.0.0.0/24 via 10.0.0.12
Also, irgendwelche Hinweise, warum ich das Modem vom Raspbian Pi aus nicht anpingen kann? :-)
Antwort1
Vorausgesetzt, die iptables
Ausgabe stammt vom Debian-Router, MASQUERADE
wurde Ihre Firewall-Regel nicht angewendet. (Tatsächlich wurde keine Ihrer Regeln angewendet.)
Um das Problem zu beheben, können Sie eines von zwei Dingen tun
- Wenden Sie die Firewall-Regeln mit dem entsprechenden
ufw
Befehl an (ich verwende nichtufw
), sodass Ihr gesamtes 10.0.0.0/24-Netzwerk hinter der einzigen nach außen gerichteten IP-Adresse Ihres Debian-Routers verborgen ist.
ODER
- Erstellen Sie eine statische Route auf dem Modem/Router, die angibt, dass es Ihr internes 10.0.0.0/24-Netzwerk über 192.168.0.12 erreichen kann. Andernfalls ist seine Standardroute, die nach Upstream zeigt, der einzige Ort, an den es solche Pakete senden kann.
Antwort2
Ich habe das Problem gefunden. Ich muss vergessen haben,
DEFAULT_FORWARD_POLICY="ACCEPT"
in /etc/default/ufw.
Wie @roaima anmerkte, gab es vor FORWARD ACCEPT keine ACCEPT-Regeln. Jetzt funktioniert alles wie erwartet :-)