![](https://seccdn.libravatar.org/avatar/df5d3552bf6e4fe3deda666cc2f488e8.jpg?s=120&d=mm&r=g)
Hallo, ich moechte nach dem Muster (Linux-Magazin) <A HREF="http://www.linux-magazin.de/ausgabe.1997.11/Firewall/firewall.html"><A HREF="http://www.linux-magazin.de/ausgabe.1997.11/Firewall/firewall.html</A">http://www.linux-magazin.de/ausgabe.1997.11/Firewall/firewall.html</A</A>> eine Firewall aufbauen. Mit "ping www.suse.de" wird die IP aufgeloest. Ich erhalte aber keine "Verbindung". Kann mir jemand sagen, was ich noch falsch mache. Vielen Dank Frank Schreiber schreiber@lr-online.de #!/bin/sh #start_firewall ##################################################################### # # # FIREWALL - SCHUTZREGELN # # # # dieses Script kann nach dem Initialisieren des Netzwerks # # (Skript networking) aufgerufen werden. # ##################################################################### # Interface des Bastion Hosts aussen: eth1 # Interface des Bastion Hosts innen: eth0 # IP des Bastion Hosts aussen: 151.189.15.62 # IP des Bastion Hosts innen: 172.17.11.10 # IPs des eigenen Netzwerks: 172.17.11.0/24 # Proxy squid Port: 8080 # mit Flush alle evtl. aktiven Firewall-Regeln loeschen: ipfwadm -I -f ipfwadm -O -f ipfwadm -F -f ipfwadm -A -f # deny ist immer die default-Regel: ipfwadm -I -p deny ipfwadm -O -p deny ipfwadm -F -p deny # Sicherheitsregeln: ipfwadm -I -a deny -S 0.0.0.0/0 -D 151.189.15.62/32 -P tcp -y # deny SYN-Attacke ipfwadm -I -a deny -S 0.0.0.0/0 -D 172.17.11.0/24 -P tcp -y # deny SYN-Attacke ipfwadm -O -a deny -S 172.17.11.10/32 -D 0.0.0.0/0 -P udp # deny masq innen ipfwadm -O -a deny -S 172.17.11.10/32 -D 0.0.0.0/0 -P tcp # deny masq innen ipfwadm -I -a deny -S 172.17.11.0/24 -D 0.0.0.0/0 -W eth1 # deny spoofing # Regeln fuer TCP-Verbindungen zwischen User-PC's und Internet-Servern: # Allgemeingueltige Regeln fuer alle TCP-Verbindungen mit Masquerading: ipfwadm -O -a accept -S 151.189.15.62/32 -D 0.0.0.0/0 -P tcp -W eth1 ipfwadm -I -a accept -S 0.0.0.0/0 -D 151.189.15.62/32 -P tcp -k -W eth1 ipfwadm -F -a accept -S 172.17.11.0/24 -D 0.0.0.0/0 -P tcp -m # DNS-Regeln fuer alle UDP: ipfwadm -O -a accept -S 151.189.15.62/32 -D 0.0.0.0/0 53 -P udp -W eth1 ipfwadm -I -a accept -S 0.0.0.0/0 53 -D 151.189.15.62/32 -P udp -W eth1 ipfwadm -F -a accept -S 172.17.11.0/24 -D 0.0.0.0/0 53 -P udp -m # Regeln fuer dem Proxy-Squid TCP: ipfwadm -I -a accept -S 127.0.0.1/32 -D 127.0.0.1/32 -P tcp ipfwadm -O -a accept -S 127.0.0.1/32 -D 127.0.0.1/32 -P tcp #ICMP-Ping-Regeln - fuer Testzwecke erlauben: ipfwadm -I -a accept -S 0.0.0.0/0 -D 0.0.0.0/0 -P icmp ipfwadm -O -a accept -S 0.0.0.0/0 -D 0.0.0.0/0 -P icmp ipfwadm -F -a accept -S 0.0.0.0/0 -D 0.0.0.0/0 -P icmp # Den Usern Zugang gewaehren und Accounting starten: /firewall/fw_permitall.pl ############################################## #!/usr/bin/perl # #fw_permit.pl $User = shift(@ARGV) ; open(USERS, "/etc/fwusers") || die "Can't open fwusers: $!\n" ; $Found = 0 ; while (<USERS>) { ($Username, $IP, $svc) = split(' ', $_) ; # Benutzer existiert und darf Dienste nutzen? if ( ($Username eq $User) && $svc ) { $Found = 1 ; # Firewall-Regeln fuer diesen User bereits vorhanden? $rule_found = 0 ; system("ipfwadm -Al -n > /tmp/rule.tmp") ; open(RULE, "/tmp/rule.tmp") || die "Can't open rule.tmp: $!\n" ; while (<RULE>) { $line = $_ ; $Such = $IP." " ; if ( grep(/$Such/, $line) ) { $rule_found = 1 ; } } close(RULE) ; if ( $rule_found == 1 ) { print "! Regeln für User ".$Username." ".$IP ; print " bereits vorhanden.\n" ; print "! Regeln können mit fw_deny.pl entfernt " ; print "werden.\n" ; exit(1) ; } # Accounting fuer den User anschalten: system("ipfwadm -A in -a -S".$IP." -D0/0 -W eth0") ; system("ipfwadm -A out -a -S0/0 -D".$IP." -W eth0") ; if ( grep(/ftp/, $svc) ) { #Redirect von Port-80-Verbindungen zum WWW-Proxy-Squid: system("ipfwadm -Ia accept -S".$IP." -D0/0 80 -Ptcp -W eth0 -r 8080"); system("ipfwadm -Ia accept -S".$IP." -D0/0 -Ptcp -W eth0"); system("ipfwadm -Oa accept -S0/0 -D".$IP." -Ptcp -W eth0"); # DNS/UDP-Verbindungen: system("ipfwadm -Ia accept -S".$IP." -D0/0 53 -Pudp -W eth0"); system("ipfwadm -Oa accept -S0/0 53 -D".$IP." -Pudp -W eth0"); } else { if ( grep(/www/, $svc) ) { #Redirect von Port-80-Verbindungen zum WWW-Proxy-Squid: system("ipfwadm -Ia accept -S".$IP." -D0/0 80 -Ptcp -W eth0 -r 8080"); system("ipfwadm -Ia accept -S".$IP." -D0/0 80 -Ptcp -W eth0"); system("ipfwadm -Oa accept -S0/0 80 -D".$IP." -Ptcp -W eth0"); } if ( grep(/smtp/, $svc) ) { system("ipfwadm -Ia accept -S".$IP." -D0/0 25 -Ptcp -W eth0"); system("ipfwadm -Oa accept -S0/0 25 -D".$IP." -Ptcp -W eth0"); system("ipfwadm -Ia accept -S".$IP." 25 -D0/0 -Ptcp -W eth0"); system("ipfwadm -Oa accept -S0/0 -D".$IP." 25 -Ptcp -W eth0"); } if ( grep(/nntp/, $svc) ) { system("ipfwadm -Ia accept -S".$IP." -D0/0 25 -Ptcp -W eth0"); system("ipfwadm -Oa accept -S0/0 25 -D".$IP." -Ptcp -W eth0"); system("ipfwadm -Ia accept -S".$IP." 25 -D0/0 -Ptcp -W eth0"); system("ipfwadm -Oa accept -S0/0 -D".$IP." 25 -Ptcp -W eth0"); } if ( grep(/nntp/, $svc) ) { system("ipfwadm -Ia accept -S".$IP." -D0/0 119 -Ptcp -W eth0"); system("ipfwadm -Oa accept -S0/0 119 -D".$IP." -Ptcp -W eth0"); system("ipfwadm -Ia accept -S".$IP." 119 -D0/0 -Ptcp -W eth0"); system("ipfwadm -Oa accept -S0/0 -D".$IP." 119 -Ptcp -W eth0"); } # DNS-Verbindungen: system("ipfwadm -Ia accept -S".$IP." -D0/0 53 -Ptcp -W eth0"); system("ipfwadm -Oa accept -S0/0 53 -D".$IP." -Ptcp -W eth0"); system("ipfwadm -Ia accept -S".$IP." -D0/0 53 -Pudp -W eth0"); system("ipfwadm -Oa accept -S0/0 53 -D".$IP." -Pudp -W eth0"); } } } close(USERS) ; if ( $Found ) { print $User." - Internet konfiguriert.\n" ; } else { print "! ".$User." nicht in 'fwusers' vorhanden. \n" ; } ##################### #fwusers Frank 172.17.11.11 www:smtp ##################### -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
![](https://seccdn.libravatar.org/avatar/b78e833cd148bdf2c7940d18773f56f2.jpg?s=120&d=mm&r=g)
Hallo folks, ich habe kaum Ahnung von der wintel-Welt und noch etwas weniger von linux. Ich arbeitete bislang an meinem Amiga 3kT, in dem mittlerweile ein 68060 werkelt. Vor längerer Zeit habe ich mich in masochistischen Stunden mit netbsd beschäftigt, weiß also bei linux, daß ich mit Schrammen und Beulen rechnen mußte. Ich wollte mir immer mal eine dose dazustellen, da der Amiga kaum noch unterstützt wird -- selbst der Mac (den ich emulieren kann) fängt mit den meisten Retrieval Programmen auf CD-Roms nichts mehr an :( Ich habe also bei den letzten Aldi PCs mal zugeschlagen. Außerdem habe ich mir die SuSE 5.2 Distribution gekauft. Der erste Eindruck war überwältigend: daß eine Linux Installation so elegant möglich sein würde, hatte ich nicht erwartet. Jetzt komme ich aber zunehmend weniger zurande. Die Platte im Lifetec ist (laut 'ct) eine Quantum Bigfoot CY4320A mit 4,3 Gb. Vorinstalliert war eine Windows Partition über die gesamte Plattenkapazität. Der im SuSe Handbuch beschriebene Weg, die Partition zu verkleinern funktionierte nicht -- vielleicht, weil das Filesystem von fips nicht unterstützt wird? Mit einem anderen DOS Programm gelang es dann, die DOS Partition auf 1,5 Gb zu verkleinern. Mit Yast habe ich dann eine erweiterte Partition angelegt, die jetzt so aussieht: / = 100 Mb, swap = 80 Mb (Ram=64Mb), home = 120 Mb und usr = Rest. Linux läuft, X läuft, aaaber, ich kann auf die hda1 nicht zugreifen -- yast zeigt auf der Partitionsseite den Partitionstyp als "Unknown" an, mit F3 den "Typ setzen" geht nicht und zum Festlegen der Dateisysteme werden mir nur die hda5, hda7 und hda8 angeboten. Alle Versuche die hda1 von Hand zu mounten (Directory /dosc habe ich kreiert) (mount -t vfat /dev/hda1 /dosc) scheitern: "mount: wrong fs type, bad option, bad superblock on /dev/hda1, or too many mounted filesystems" Ich vermute, daß vfat dasselbe Problem wie fips haben könnte, also mit dem neuesten 32er Filesystem nicht klarkommt? Wenn ich mir den hda1 Eintrag in /dev anschaue, sieht der ok aus -- aber der hda Eintrag enthält "Ungültige Partitionstabelle. Fehler beim Laden des Betriebssystems.Betriebssystem fehlt." plus 'ner Menge Sonderzeichen drumrum. Die Geschichte hat mich bereits eine ganze Nacht gekostet, und mir fällt nichts mehr ein :( Gruß, micha -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
![](https://seccdn.libravatar.org/avatar/4536a4ca36acce00d9ce56fc97f3f252.jpg?s=120&d=mm&r=g)
Michael Zielesny wrote:
... Der im SuSe Handbuch beschriebene Weg, die Partition zu verkleinern funktionierte nicht -- vielleicht, weil das Filesystem von fips nicht unterstützt wird? Mit einem anderen DOS Programm gelang es dann, die DOS Partition auf 1,5 Gb zu verkleinern.
Ich vermute daß es sich um eine FAT32 (Windows 95 OSR2) Partition handelt - die wird von Linux (noch) nicht standardmäßig unterstützt. (Es gibt einen Beta-Treiber der Lese- aber keinen Schreibzugriff ermöglicht.)
... Ich vermute, daß vfat dasselbe Problem wie fips haben könnte, also mit dem neuesten 32er Filesystem nicht klarkommt?
vfat setzt auf fat16 auf und erweitert es um lange Dateinamen - fat32 funktioniert etwas anders. Das "andere" DOS Programm mit dem die FAT32-Partition verkleinert werden konnte ist mit ziemlicher Sicherheit Partition-Magic (Powerquest) und damit ist es auch möglich eine FAT32 Partition ohne Datenverlust in eine VFAT-Partition umzuwandeln. Die müsste sich dann problemlos mounten lassen. Grüße, Georg Kovalcik gk@think.at -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
participants (3)
-
gk@think.at
-
micha@miles.westfalen.de
-
schreiber@lr-online.de