maddig
Goto Top

Debian9 mit iptables als NAT Router

Hallo zusamen,

ich habe gerade ein kleines Problem mit iptables.

Ich habe einen Debian9 Rechner, der 2 NIC´s besitzt. An der einen NIC hängt eine SPS auf der ein WebServer läuft. Die andere NIC hängt an einem Netzwerk mit DHCP bzw. evtl. auch ein einzelner Laptop.
Ich will quasi per NAT bzw. PortForwarding über die DHCP IP vom enp0s25 vom Panel per HTTP und FTP auf die SPS zugreifen. Zusätzlich noch auf das Panel mit VNC. Das funktioniert ja aber sowieso schon.

Für das Routing und NATting habe ich auf dem Panel folgende iptable Regeln getestet:

iptables -t nat -A PREROUTING  -p tcp  -m multiport --destination-ports 80,20,21 -j DNAT --to-destination 10.250.250.1
iptables -A FORWARD -s 10.250.250.1 -p tcp -m multiport --source-ports 80,20,21 -j ACCEPT
iptables -A FORWARD -d 10.250.250.1 -p tcp -m multiport --destination-ports 80,20,21 -j ACCEPT
iptables -t nat -A POSTROUTING -o enp7s0 -p tcp -d 10.250.250.1 -m multiport --destination-ports 80,20,21 -j SNAT --to-source 10.250.250.2

Die hab ich einfach im Terminal temporär eingetragen und nicht weggesichert oder ähnliches. Das sollte ja dann eig solang ich nicht neustarte gelten oder?

Fällt euch bei den Regeln was auf? Stand jetzt: Keinen Zugriff auf die SPS mit 80,20,21. Also es funktioniert quasi garnicht.
Vll habt ihr noch einen Tipp.

Vielen Dank,
gruß maddig
zeichnung1

Content-Key: 535794

Url: https://administrator.de/contentid/535794

Printed on: April 18, 2024 at 23:04 o'clock

Member: bloodstix
bloodstix Jan 16, 2020 at 14:53:38 (UTC)
Goto Top
Hi,

hast du
$ echo 1 > /proc/sys/net/ipv4/ip_forward
durchgeführt?

Grüße
bloody
Member: maddig
maddig Jan 17, 2020 at 08:11:57 (UTC)
Goto Top
Hi,

genau das, war gestern mein Fehler. Jetzt funktioniert es mit HTTP.

Ich habe jetzt noch ein Problem mir FTP. Die SPS spricht passives FTP. Mein letzter Stand vom Regelwerk war der hier:

modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

sysctl -w net.ipv4.ip_forward=1

#ping, icmp
iptables -A INPUT -p ICMP --icmp-type 8 -j ACCEPT
iptables -A INPUT -p ICMP --icmp-type 11 -j ACCEPT

# general rules for forwarding traffic between external interface enp0s25 and internal interface enp7s0
iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE
iptables -A FORWARD -i enp0s25 -o enp7s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp7s0 -o enp0s25 -j ACCEPT

# NAT for active/passive FTP
iptables -t nat -A PREROUTING  -p tcp  -i enp0s25 --dport 20 -j DNAT --to-destination 10.250.250.1:20
iptables -t nat -A PREROUTING  -p tcp  -i enp0s25 --dport 21 -j DNAT --to-destination 10.250.250.1:21
iptables -t nat -A PREROUTING  -p tcp  -i enp0s25 --dport 80 -j DNAT --to-destination 10.250.250.1:80
iptables -t nat -A PREROUTING  -p tcp  -i enp0s25 --dport 11159 -j DNAT --to-destination 10.250.250.1:11159
iptables -t nat -A PREROUTING  -p tcp  -i enp0s25 --dport 49152:65535 -j DNAT --to-destination 10.250.250.1:49152-65535
iptables -A FORWARD -s 10.250.250.1 -p tcp --sport 20 -j ACCEPT
iptables -A FORWARD -s 10.250.250.1 -p tcp --sport 21 -j ACCEPT
iptables -A FORWARD -s 10.250.250.1 -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -s 10.250.250.1 -p tcp --sport 11159 -j ACCEPT
iptables -A FORWARD -s 10.250.250.1 -p tcp --sport 49152:65535 -j ACCEPT

# allowing active/passive FTP
iptables -A OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 11159 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 49152: --dport 49152: -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 11159 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 49152: --dport 49152:65534 -j ACCEPT

Ich bekomme mit den Regeln zwar eine Verbindung aufgebaut, nur bricht er immer bei "Lade entferntes Verzeichnis" ab.
Ich hab schon Google durchgeforstet und verschiedene Sachen ausprobiert. Nur hilft leider nichts..

Siehst du vll irgendwo einen Fehler?

danke
mfg maddig
Member: bloodstix
bloodstix Jan 17, 2020 at 09:17:29 (UTC)
Goto Top
Hallo,

nein von FTP halt ich mich aus eben diesem und anderen Gründen fern.
Was spricht gegen SFTP simpel per Port 22?

Grüße
bloody