[iptables] Frage zur Regelerstellung [gelöst]

jwacalex

Well-known member
ID: 104481
L
20 April 2006
240
8
Hallo!
Ich benötige für zwei Situationen einen IP-Tables Regelsatz. Ich habe versucht die Regeln selbst zu erstellen, allerdings habe ich noch ein paar Fragen diesbezüglich, bzw. bin mir nicht sicher ob es so funktionieren kann.

Situation #1
Es gibt drei Netzwerkinterfaces. eth0 / eth1 / tun0. Zugriffe aus eth0 und eth1 dürfen auf alle Ports zugreifen. Zugriffe aus tun0 nur auf ein paar bestimmte.

Code:
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i tun0 --destination-port A -j ACCEPT
iptables -A INPUT -i tun0 --destination-port B -j ACCEPT 
iptables -A INPUT -i tun0 -j DROP



Situation #2
Sämtliche Anfragen aus a.b.c. dürfen nicht aus dem Subnetz herausgehen. ("Isolation des Subnets")
Code:
iptables –A INPUT –s a.b.c.0/24 -d a.b.c.0/24 -j ACCEPT 
iptables –A INPUT –s a.b.c.0/24 -d 0.0.0.0/0 –j DROP 
iptables –A INPUT –s 0.0.0.0/0 -d a.b.c.0/24 –j DROP

Meine Frage hierzu: Muss ich die Regeln als Input, also vor der Prozessverarbeiten oder erst danach (Output) definieren.
 
Zuletzt bearbeitet:
https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#TRAVERSINGOFTABLES

INPUT betrifft nur Pakete, bei denen der lokale Rechner tatsächlich das Ziel ist. Ansonsten ist FORWARD zu verwenden.

Die 0.0.0.0/0 kannst du dir auch sparen:
Code:
iptables –A FORWARD –s a.b.c.0/24 -d a.b.c.0/24 -j ACCEPT 
iptables –A FORWARD –s a.b.c.0/24 –j DROP 
iptables –A FORWARD -d a.b.c.0/24 –j DROP

Wenn die Policy auf DROP steht (empfehlenswert!) und keine weiteren Regeln mehr folgen, brauchst du sogar nur die 1. davon.

Sollten die Clients in a.b.c.0 aber über einen Switch direkt miteinander verbunden sein, brauchts auch diese Regel nicht mehr - die Pakete laufen dann ja nicht über deine Linux-Kiste.
Willst du, dass auch Dienste deiner Linux-Kiste nur über die IP a.b.c.X angesprochen werden können, brauchst du natürlich noch eine entsprechende INPUT-Regel.
 
ok. vielen dank
ich denke, situation #2 ist gelöst. der filter wird für einen vpnserver verwendet

wie sieht der ansatz für situation #1 aus?
 
Beispiel 1 passt im Prinzip, wobei du auch hier wieder die Policy auf DROP stellen könntest und dafür dann die letzte Regel weglassen. Was aber noch fehlt ist die Angabe, ob du UDP- oder TCP-Ports meinst ("-p TCP").

Solltest du OpenVPN verwenden, schau dir mal die Option "client-to-client" an.