• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

ips im lan filtern und z.T. sperren

jk47

Newbie
Moin Moin und ein frohes neues Jahr!

ich habe einen Linux router mit Dsl flatrate und das funktioniert auch alles.
Der Router ist an das Lokale Netzwerk angeschlossen, aus dem nur ausgesuchte IPs über den Router ins Internet gehen können sollen.

Also viele viele PCs im Lan und nur einen Handvoll sollen geroutet werden.
Wie kann ich das am einfachsten realisieren?
Ich hab wenig bis keine Ahnung von Linux, ich habe SuSe 9.0 installiert, und am besten komme ich mit Programmen zurecht, die eine grafische Oberfläche haben.

Ich habe was über "ipfwadm" gelesen, finde den Befehl aber nicht auf dem Router system.

Bis denne und Dank im Vorraus

Jan
 

gaw

Hacker
Danke für die Grüße ich wünsche dir ebenfalls ein frohes neues Jahr.

"ipfwadm" ist schon lange out, es war typisch für den Kernel 2.0. Danach gab es ipchain, das wird für den Kernel 2.2 benutzt und heute ist iptables state of the art.

Mit iptables lässt sich viel kontrollieren unter anderem auch Pakete mit bestimmten IP-Adressen. Die Optionen -s und -d erlauben einzelne Hostadressen als auch Netzwerkadressen mit der jeweiligen Maske in beiden üblichen Notationsformen (z.B.: 192.168.1.0/24 bzw. 192.168.1.0/255.255.255.0)

Ein einfache Möglichkeit dein Problem anzugehen, ohne zuviele Anweisungen mit einzelnen Adressen zu formulieren (in einer Schleife ist das aber auch kein Problem) besteht darin eine geeignte Netzwerkadresse zu finden die über Subnetting dein Netz aufteilt. Mit
/usr/sbin/iptables -A INPUT -s 192.168.1.0/25 -i eth0 -j ACCEPT
würde man alle Pakete der Rechner 192.168.1.1 -192.168.1.125 auf die Firewall lassen oder mit
/usr/sbin/iptables -A OUTPUT -d 192.168.1.127/25 -i eth0 -j DROP

alle Pakete der Rechner 192.168.1.128-192.168.1.254 verwerfen, die von der Firewall ins lokale Netz wollen. So könntest du die Rechner nach IP-Adressen geeignet aufteilen und nur einen Teil ins Netz lassen.

Es geht aber auch über einen gültigen Domainnamen und einer Schleife, beispielsweise in einem Skript:

Code:
#!/usr/bin/sh
....
....
BADHOSTS="nastyboy.yourdomain scriptkiddy.yourdomain  peepingtom.yourdomain"

for BH in $BADHOSTS 
do
     /usr/sbin/iptables -A FORWARD -s $BH -o ppp0 -dport http -j DROP
done
....

Ein solche iptables-Anweisung würde auf einen Router den Kiddies auf nastyboy.yourdomain, scriptkiddy.yourdomain und peepingtom.yourdomain das Surfen abstellen indem Pakete mit dem Zielport 80 die über die Firewall (Chain FORWARDING) aus dem lokale Netz ins Internet wollen abgelehnt werden.

Schwierig ist es IP-Pakete userbasiert zu erlauben, weil dass ein Paketfilter wie iptables selber nicht vermag.

Das lässt sich mit einem Proxy wie squid besser realisieren, wenn es in erster Linie um das Surfen geht.


mfG
gaw
 
OP
J

jk47

Newbie
jou, danke,

noch ne ganz blöde frage zu den bit-Angaben der ips:

192.168.1.127/25 : <== dieses /25, was genau heißt das?

Heißt das, dass alle ips, deren erste 25 bit übereinstimmen gemeint sind?

Könnte ich das wie folgt eingeben?

Code:
/usr/sbin/iptables -A OUTPUT -d 192.168.0.0/16 -i eth0 -j DROP
/usr/sbin/iptables -A INPUT -s 192.168.1.10 -i eth0 -j ACCEPT
/usr/sbin/iptables -A INPUT -s 192.168.12.130 -i eth0 -j ACCEPT
/usr/sbin/iptables -A INPUT -s 192.168.241.15 -i eth0 -j ACCEPT
/usr/sbin/iptables -A INPUT -s 192.168.33.123 -i eth0 -j ACCEPT

So dass alle bis auf auserwählte zugriff haben?


Jan
 

Martin Breidenbach

Ultimate Guru
jk47 schrieb:
192.168.1.127/25 : <== dieses /25, was genau heißt das?

Heißt das, dass alle ips, deren erste 25 bit übereinstimmen gemeint sind?

Ja. Guckst Du hier:

http://www.linux-club.de/viewtopic.php?t=16741

Zu Iptables findest Du z.B. auf www.iptables.org Lesestoff (auch in Deutsch).
 
OP
J

jk47

Newbie
So, ich habs geschafft:

Ich hab alles unter FORWARD geflusht und für jede ip in beide Richtungen (eth0 <--> anywhere) frei gegeben.

Danke für die Hilfe.

Jan
 
OP
J

jk47

Newbie
Es klappt doch nicht ganz so, wie ich es mir vorgestellt habe.

Erstens werden einge Seiten nicht angezeigt.
Zweitens ist der Internetzugang langsam.

Gibt es da noch einen Tipp, wie man ausgewählte ips fowrardet und den Rest nicht?

Jan
 

Martin Breidenbach

Ultimate Guru
jk47 schrieb:
Erstens werden einge Seiten nicht angezeigt.
Zweitens ist der Internetzugang langsam.

Dann schau mal hier:

http://www.linux-club.de/viewtopic.php?t=16677

jk47 schrieb:
Gibt es da noch einen Tipp, wie man ausgewählte ips fowrardet und den Rest nicht?

Du kannst bei iptables Regeln auch Quell- und Ziel-IP-Adresse angeben.

Mir ist leider nicht ganz klar was Du machen willst.
 
OP
J

jk47

Newbie
ich möchte bestimmte ips aus dem lan davon abhalten, über den router ins internet zu kommen.

Ich hab zuletzt folgende Konfiguration ausprobiert:
Code:
iptables -F FORWARD
iptables -P FORWARD DROP


iptables -A FORWARD -s 10.238.0.28 -i eth0 -j ACCEPT	
iptables -A FORWARD -s 10.238.103.100 -i eth0 -j ACCEPT	
iptables -A FORWARD -s 10.238.105.125 -i eth0 -j ACCEPT	
iptables -A FORWARD -s 10.238.105.102 -i eth0 -j ACCEPT	
iptables -A FORWARD -s 10.238.106.31 -i eth0 -j ACCEPT	#
iptables -A FORWARD -s 10.238.184.105 -i eth0 -j ACCEPT	

iptables -A FORWARD -d 10.238.0.28 -j ACCEPT
iptables -A FORWARD -d 10.238.103.100 -j ACCEPT	
iptables -A FORWARD -d 10.238.105.125 -j ACCEPT	
iptables -A FORWARD -d 10.238.105.102 -j ACCEPT	
iptables -A FORWARD -d 10.238.106.31 -j ACCEPT	
iptables -A FORWARD -d 10.238.184.105 -j ACCEPT

Das Problem war, das einige Internetseiten nich mehr zu öffnen waren.
Weißt du woran sowas liegen könnte (sicher an mir...)?

Sonst mal anders herum gefragt, was muss alles in den iptables stehen, damit das Routing funktioniert?
 
OP
J

jk47

Newbie
Wieso? Ich dachte, alles was die angegeben Adressen im LAN als Ziel hat und von außen kommt, wird so weitergeleitet. Wenn so Antwortpakete nicht reguliert werden, dann nicht.

Die meisten Internetseiten wurd ja auch geladen, nur halt nicht sowas wie ebay.de.
 
Oben