PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux-Server im Lan nicht nur als Firewall ..


PatTheMav
2004-02-02, 18:19:52
Nabend Leute, wie so viele andere hier, hab ich einen unbenutzten Athlon 1200 (das langsamste was ich noch rumliegen hatte ;)) in einen Rechner mit zwei Netzwerkkarten zusammengebaut, das ganze soll mir als Server dienen und zwar primär als Router mit Firewall.
Da gibts ja erstmal Fli4l und m0n0wall.

Also M0n0Wall sieht SEHR gut aus - allerdings weiss ich net, ob es das zusätzlich bringen kann was ich möchte.

Ich hab hier zwar ein kleines Netzwerk, in dem 4 Rechner über das DSL-Modem ins Netz möchten. Das ist mit dem o.g. Paket wohl problemlos einstellbar, Trafficshaping is wohl mit drin, ich kann Ports und anderen Kram ohne Probleme einschränken (135 nur im LAN z.B.) und wohl auch für jeden anderen Rechner im Netz die verfügbare Bandbreite beschränken, bzw. auch mal sperren.

Nun wollte ich aber auf dem Rechner nicht nur sonne Firewall laufen lassen, sondern die 60GB-Platte soll FTP-Server-Funktionen bieten (für LAN und Internet) und für meine Systempartition Platz für Images bieten und dafür reicht so ein Firewall-Only-System wie Fli4l oder m0n0 glaub ich net aus.

Ich hatte schon überlegt mir Debian zu installieren und darauf mit IP-Tables rumzuhühnern aber ich bin was Linux-Installation und einrichtung betrifft (auch FreeBSD-mässig) totaler n00b !!

Also zusammengefasst : Der Rechner soll DHCP, Firewall und Routing liefern (was m0n0 als Paradebeispiel liefert) aber gleichzeitig eine Partition als Windows-Laufwerk im lokalen Netzwerk bieten (wenn Linux das kann), damit die Images von meiner Systempartition dahingeschoben werden können und gleichzeitig soll ein FTP-Server da druff laufen. Das ganze soll easy per console/VNC/SSH kontrollierbar sein. D.h. wenn einer der Rechner im Lan den per WakeOnLan aufweckt, soll er das Netz zur Verfügung stellen, wenn mein Rechner ihn aufweckt, soll er das Netz nur mir bieten (möchte ja Zocken können, ohne dass meine Sippe mir Bandbreite klaut) und nur auf Befehl es dem restlichen Netz zur Verfügung stellen.

killermaster
2004-02-02, 19:05:15
nimm suse 9.0 => sehr grafisch, leicht zu bedienen. bietet sogar routeraufgabe an, und dazu braucht man nur susefirewall2 in yast richtig zu konfigurieren.
pack kde oder was weiß ich drauf, und das ding kannste dann per vnc remoten

mfg

PatTheMav
2004-02-02, 20:58:11
Naja SUSE wollt ich nu echt nicht. Das ist so klickibunti, das is schon annähernd so anfällig wie Windows. Ich wollte eigentlich ein schlankes schnelles Linux-system.

PatTheMav
2004-02-02, 22:14:03
Weiss da echt keiner was hier ? :(

ZaCi
2004-02-02, 22:28:59
Original geschrieben von PatTheMav
Weiss da echt keiner was hier ? :(


Das mit dem FTP Service is so eine Sache... Du willst IMHO soviel das du dich damit schon befassen musst ( ein System von Hand aufsetzen, das deinen Beduerfnissen gerecht wird) oder du musst es meiner Meinung nach ganz sein lassen.

Du willst keine GUI = kein schneller, einfach mal so, Einstieg moeglich.

Du willst dich nicht explizit mit dem Thema auseinandersetzen.

Das widerspricht sich, was du tust musst du selbst wissen.

Es kann sein das es Out Of The Box Moeglichkeiten gibt, jededoch kenne ich kein Projekt das allen deiner Beduerfnisse gerecht wird. Was nun?

PatTheMav
2004-02-02, 22:33:13
Ich hab nicht gesagt, dass ich mich damit beschäftigen will, ich hab nur gesagt, dass ich noch N00b bin, also FAQs und StepbyStep-Anleitungen/Tutorials brauche, die aber möglichst alles abdecken was ich möchte.

Da ich ja eh Student im informatik-bereich bin, machts mir auch sogar spass in linux reinzufuchsen - ansonsten hätt ich net debian gewählt. Son bissel hab ich die geschichten mit ipchains und so verstanden, nur mir fehlen halt gute Tutorials :)

Schweijk
2004-02-02, 22:36:19
Für fli4l gibt es jede menge zusatz module da solltest du eigendlich alles finden. Schau mal auf der fli4l homepage bei den OPT paketen.

PatTheMav
2004-02-02, 22:41:38
Fli4l liefert afaik keine FTP-Server funktionalitäten oder andere Netzwerk-Dienste im LAN für Backups usw..

Ausserdem sollen auf dem Ding auch UT/UT2003/Quake usw.. Dedicated Server laufen!

ZaCi
2004-02-03, 00:13:18
Original geschrieben von PatTheMav
Fli4l liefert afaik keine FTP-Server funktionalitäten oder andere Netzwerk-Dienste im LAN für Backups usw..

Ausserdem sollen auf dem Ding auch UT/UT2003/Quake usw.. Dedicated Server laufen!

ok, let's go

www.freebsd.org

www.freebsd.org/handbook

http://dva.dyndns.org/

www.bsdforen.de

www.bsdforums.org

IMHO einfacher als mit Linux rumzufummeln...

Das Programm fire das du unter der dyndns adresse findest erleichtet die ganze NATD und Firewall Sache. Auch fuer den Laien sollte das eigentlich verstaendlich sein. Jedoch kommt du wohl um die IPFW ( Pendant zu IPTABLES unter Linux ) nicht rum. Alles andere solltest du im Handbook finden.

Vorraussetzungen:

Zeit, Willen


/edit: Wenn du schon Informatik studierst, dann wirst du vielleicht auch UNIX Wissen spaeter benoetigen (hoffen wir es;), man kann den Anderen ja vorraus sein. :>

Das Buch "The Complete FreeBSD" im O'Reilly Verlag erschienen, zu kaufen bei Amazon.de, ist ausserdem auch noch zum empfehlen.

Hat mich damals auch gehilft und ich tue benuzten als Nachschlagwerk. ;)))

PatTheMav
2004-02-03, 01:10:13
Du wirst lachen, deine Posts im Linux-Forum hier haben mich überzeugt, bin grad bei 80% von ftp://ftp7.de.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/5.2/5.2-RELEASE-i386-disc1.iso

:D

Hab von meinem Vadder, der ne SAP/Informatik-Umschulung macht auch ein gutes FreeBSD-Buch (ist zwar auf dem 4er Stand aber schadet wohl nix) vorgelegt und bin am lesen - klang alles vielversprechend, vor allem da es aus einem Guss ist sozusagen.

Nu bräucht ich nur noch Tipps, wie ich mit dem Freebsd-Installer, die 80Gig Platte in 15Gig NTFS und 65 Gig Freebsd einpartitionieren kann ...

ZaCi
2004-02-03, 02:45:59
Original geschrieben von PatTheMav
Du wirst lachen, deine Posts im Linux-Forum hier haben mich überzeugt, bin grad bei 80% von ftp://ftp7.de.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/5.2/5.2-RELEASE-i386-disc1.iso

:D

Hab von meinem Vadder, der ne SAP/Informatik-Umschulung macht auch ein gutes FreeBSD-Buch (ist zwar auf dem 4er Stand aber schadet wohl nix) vorgelegt und bin am lesen - klang alles vielversprechend, vor allem da es aus einem Guss ist sozusagen.

Nu bräucht ich nur noch Tipps, wie ich mit dem Freebsd-Installer, die 80Gig Platte in 15Gig NTFS und 65 Gig Freebsd einpartitionieren kann ...

hm saug mal besser die bootonly und saug alles aus dem Netz, die Disc1/2 brauchst du nur wenn du was von der Cd installen willst.


65GB UFS?! WTF! :p soviel brauchst du nicht, ich denk mal 20GB reichen vollkommen aus. Am besten Versuchst du erstmal rumzuprobieren ( an nem alten Rechner ) oder dem werdenden Router.

Dann klappt das...

killermaster
2004-02-03, 07:21:12
@ zaci
woran besteht eigentlich der wesentliche unterschied für einen user, zwischen linux und unix .
wie leicht wäre denn der umstieg??

mfg

PatTheMav
2004-02-03, 14:02:03
Also der FTP der da druff läuft soll schon bissel was fassen können :D Daher wollt ich auch möglichst viel Platz frei lassen dafür :)

Dat mit der Firewall wollt ich per pf regeln, aber wie kann ich per command die regeln der firewall im Betrieb ändern ?

So dass der Server beim Einschalten nur meinen Rechner das Netz zur Verfügung stellt und nur auf einen Befehl per SSH/Putty die Router-Regeln für das gesamte LAN lädt ?

ZaCi
2004-02-03, 16:57:46
Original geschrieben von PatTheMav
Also der FTP der da druff läuft soll schon bissel was fassen können :D Daher wollt ich auch möglichst viel Platz frei lassen dafür :)

Dat mit der Firewall wollt ich per pf regeln, aber wie kann ich per command die regeln der firewall im Betrieb ändern ?

So dass der Server beim Einschalten nur meinen Rechner das Netz zur Verfügung stellt und nur auf einen Befehl per SSH/Putty die Router-Regeln für das gesamte LAN lädt ?


Nimm halt das Proggie "fire", du kannst auf der HP vom Author dir mal die FAQ angucken. In den bsdforen.de gibt es auch viel Infos wenn man sucht.

Das andere ist wohl standard das er die Regeln alle laedt. Alleine schon aus Sicherheitsgruenden, wenn z.B. einer die Maschine crasht und dann keine Rules mehr greifen wuerden.

Als Firewall wuerde ich eigentlich IPFW und nicht pf empfehlen, naja.

PatTheMav
2004-02-03, 17:01:47
Meinste ? Hmm .. weil in den BSDForen gibts ein sehr umfassendes Tutorial, wie man genau das, was ich möchte, in pf realisieren kann ...

ZaCi
2004-02-03, 17:02:07
Original geschrieben von rapmaster
@ zaci
woran besteht eigentlich der wesentliche unterschied für einen user, zwischen linux und unix .
wie leicht wäre denn der umstieg??

mfg

1. Google
2. Es kommt drauf an mit welcher Distribution du vorher gearbeitet hast, bzw. was du mit deinem Rechner anstellst. FreeBSD "the power to serve", dahinter steckt schon was.

Was Kernelbau etc. angeht ist Bsd auf jedenfall leichter. Das ganze System fuehlt sich mehr an wie aus einem Guss. Es gibt nicht wie bei Linux unterschiede zwischen jeder Distro, man muss sich nicht umgewoehnen wenn man Net oder Open oder whatever BSD ausprobiert, aber nur FreeBSD kennt.

Ansonsten gibt es massig 5.2 Reviews im Netz.

ZaCi
2004-02-03, 17:03:09
Original geschrieben von PatTheMav
Meinste ? Hmm .. weil in den BSDForen gibts ein sehr umfassendes Tutorial, wie man genau das, was ich möchte, in pf realisieren kann ...


Keine Angst ich kenn das Tutorial was du meinst. hehe



http://www.bsdforen.de/forums/showthread.php?threadid=148

Das find ich aber toller. ;)

PatTheMav
2004-02-03, 17:16:38
Original geschrieben von ZaCi
Keine Angst ich kenn das Tutorial was du meinst. hehe



http://www.bsdforen.de/forums/showthread.php?threadid=148

Das find ich aber toller. ;) Das hab ich auch schon gesehen .. die IPFW-Rules sind ja auch net wirklich schwer zu verstehen, wenn man bissle Ahnung von Netzwerk-Struktur hat.

Das Ding was sich mir halt momentan total verschliesst, ist die Komplexität der Lösung die ich haben will.

Der Server soll per DHCP Adressen verteilen und zwar immer wieder dieselbe, wenn es dieselbe MAC-Adresse ist - hab ich auch schon gesehen wie man das realisiert. Nu soll der Rechner mit meiner MAC-Adresse mit der Regel "alles erlauben, ausser bla" laufen, so dass bei mir Games usw.. weiterhin funzen, ohne das ich ewig Ports freigegeben muss und ich wirklich schädliche bzw. fürs Internet ungebrauchte Ports sperren kann.

Sobald dann aber jemand aus meiner Sippe online gehen will, soll zu dieser Rule für alle anderen MAC-Adressen/Rechner im Netz die Regel "alles verbieten ausser bla" gelten und für mich die "alles erlauben"-Regel auch gelten. Dat soll dann halt als befehl auf der commandline ein/ausgeschaltet werden können.

ZaCi
2004-02-03, 17:49:58
Original geschrieben von PatTheMav
Das hab ich auch schon gesehen .. die IPFW-Rules sind ja auch net wirklich schwer zu verstehen, wenn man bissle Ahnung von Netzwerk-Struktur hat.

Das Ding was sich mir halt momentan total verschliesst, ist die Komplexität der Lösung die ich haben will.

Der Server soll per DHCP Adressen verteilen und zwar immer wieder dieselbe, wenn es dieselbe MAC-Adresse ist - hab ich auch schon gesehen wie man das realisiert. Nu soll der Rechner mit meiner MAC-Adresse mit der Regel "alles erlauben, ausser bla" laufen, so dass bei mir Games usw.. weiterhin funzen, ohne das ich ewig Ports freigegeben muss und ich wirklich schädliche bzw. fürs Internet ungebrauchte Ports sperren kann.

Sobald dann aber jemand aus meiner Sippe online gehen will, soll zu dieser Rule für alle anderen MAC-Adressen/Rechner im Netz die Regel "alles verbieten ausser bla" gelten und für mich die "alles erlauben"-Regel auch gelten. Dat soll dann halt als befehl auf der commandline ein/ausgeschaltet werden können.


uoh, naja man muss schon Wissen, z.B. wenn man zockt, welche Ports das Spiel Online benoetigt etc.. um sowas kommt man nicht rum, in dem Thread oben siehst du ja was er als letztes macht, er schliesst alles und laesst auch nur explizit sachen zu. Im empfehle dir wirklich, wenn dein FreeBSD laueft und du dir alles wichtige im Handbuch angeguckt hast, mal fire anzuschauen.


http://ipfwgen.sourceforge.net/
http://www.onlamp.com/pub/a/bsd/2001/04/25/FreeBSD_Basics.html?page=1
http://www.onlamp.com/pub/ct/15
http://www.onlamp.com/pub/a/bsd/2001/05/09/FreeBSD_Basics.html?page=1
http://www.onlamp.com/pub/a/onlamp/2001/10/19/firewalls.html

ZaCi
2004-02-03, 17:52:14
Original geschrieben von ZaCi
uoh, naja man muss schon Wissen, z.B. wenn man zockt, welche Ports das Spiel Online benoetigt etc.. um sowas kommt man nicht rum, in dem Thread oben siehst du ja was er als letztes macht, er schliesst alles und laesst auch nur explizit sachen zu. Im empfehle dir wirklich, wenn dein FreeBSD laueft und du dir alles wichtige im Handbuch angeguckt hast, mal fire anzuschauen.


http://ipfwgen.sourceforge.net/
http://www.onlamp.com/pub/a/bsd/2001/04/25/FreeBSD_Basics.html?page=1
http://www.onlamp.com/pub/ct/15
http://www.onlamp.com/pub/a/bsd/2001/05/09/FreeBSD_Basics.html?page=1
http://www.onlamp.com/pub/a/onlamp/2001/10/19/firewalls.html

/edit: du koenntest zB. die Ports 1-1024 sperren etc... Du musst aber schon Wissen was du willst. :D

Das mit den MAC Adressen ist standard...

PatTheMav
2004-02-03, 18:19:10
Original geschrieben von ZaCi
uoh, naja man muss schon Wissen, z.B. wenn man zockt, welche Ports das Spiel Online benoetigt etc.. um sowas kommt man nicht rum, in dem Thread oben siehst du ja was er als letztes macht, er schliesst alles und laesst auch nur explizit sachen zu. Und genau DAS will ich nur für die anderen Rechner im Netz. Mein Windows ist sicher genug, das darf ruhig Ports nutzen wie es will. Weil ich definitiv KEIN BOCK auf das ganze Port-Freigegebe habe, für jedes Programm. Und das geht auch, man muss die Rule nur richtig einstellen. Nur alle anderen Rechner sollen nach der von dir genannten Rule laufen.

Default Policy
Jede chain hat eine default policy. Wenn ein Paket mit keiner der Regeln in der chain übereinstimmt oder die chain zu Ende ist, tritt die default policy in Kraft.

Es gibt zwei grundlegende Vorgehensweisen beim Aufstellen einer default policy:

Alles abzulehnen und einzelne Regeln für Dienste aufzustellen, die angenommen werden sollen (deny everything by default).

oder

Alles zu akzeptieren und einzelne Regeln für Pakete aufzustellen, die abgelehnt werden sollen (accept everything by default)

Die Letztere ist die empfehlenswertere Methode. Sie garantiert eine sichere Firewall, da jeder Dienst, der nicht ausdrücklich erlaubt ist, abgelehnt wird. Allerdings ist diese Methode mit viel Arbeitsaufwand verbunden, da jeder Dienst, der benutzt werden will, auch aktiviert werden muß. Dies verlangt einiges an Hintergrundwissen über die einzelnen Dienste und deren Protokolle. Eine deny everything by default Firewall ist somit schwerer zu realisieren.

Eine accept everything by default Firewall ist sehr viel leichter aufzusetzen, da sämtliche Dienste erlaubt sind, solange sie nicht ausdrücklich durch Regeln verboten sind. Verdächtige oder gefährliche Dienste müssen also gesperrt werden. Die Gefahr besteht darin, daß gefährliche Dienste nicht oder zu spät als solche erkannt werden, und dadurch große Sicherheitslücken in der Firewall bestehen. Mit dieser Methode ist es sehr viel schwerer eine sichere Firewall zu betreiben.Soweit ich das jetzt gepeilt hab bräuchte ich z.B. erstma nur folgende Rules :

ipfw add deny log tcp from any to any 6000 in recv tun0
ipfw add deny log tcp from any to any 0-1000 in recv tun0 setup
ipfw add deny log tcp from any to any 2049 in recv tun0 setup

Damit wird erstmal alles was auf "bösen" Ports kommt, verboten. Dazu gehören auch die bösen Netbios-Ports von Windows

tun0 scheint dabei die Netzwerkkarte zu sein und in recv bedeutet wohl "empfangen". Also wenn irgendwas auf Port 6000,2049 oder irgendeinem Port zwischen 0 und 1000 empfangen wird, wirds blockiert.

So und nu kommts knackig

ipfw add allow ip from any to any

würd ja alles erlauben, wenn ich nu möchte, dass alles BIS auf die Regeln weiter oben erlaubt werden soll, müsste ich das ja ganz oben adden und dann später die deny-regeln setzen.

Für die anderen Rechner im LAN könnte ich ja folgende Regeln verwenden :

ipfw add allow log tcp from any to any 80 setup
ipfw add allow log tcp from any to any 22 setup
ipfw add allow log tcp from any to any 25 setup
ipfw add allow log tcp from any to any 21 setup
ipfw add allow log tcp from any to any 1022 setup

So und nu kommt meine Frage - was muss ich statt "any" reinschreiben, damit bei allow ip statt any to any halt alle Verbindungen zu meinem Rechner und bei allow log tcp alle Verbindungen zu anderen Rechnern gemeint sind ? :kratz2:

ZaCi
2004-02-03, 19:22:14
Original geschrieben von PatTheMav
Und genau DAS will ich nur für die anderen Rechner im Netz. Mein Windows ist sicher genug, das darf ruhig Ports nutzen wie es will. Weil ich definitiv KEIN BOCK auf das ganze Port-Freigegebe habe, für jedes Programm. Und das geht auch, man muss die Rule nur richtig einstellen. Nur alle anderen Rechner sollen nach der von dir genannten Rule laufen.

Soweit ich das jetzt gepeilt hab bräuchte ich z.B. erstma nur folgende Rules :

ipfw add deny log tcp from any to any 6000 in recv tun0
ipfw add deny log tcp from any to any 0-1000 in recv tun0 setup
ipfw add deny log tcp from any to any 2049 in recv tun0 setup

Damit wird erstmal alles was auf "bösen" Ports kommt, verboten. Dazu gehören auch die bösen Netbios-Ports von Windows

tun0 scheint dabei die Netzwerkkarte zu sein und in recv bedeutet wohl "empfangen". Also wenn irgendwas auf Port 6000,2049 oder irgendeinem Port zwischen 0 und 1000 empfangen wird, wirds blockiert.

So und nu kommts knackig

ipfw add allow ip from any to any

würd ja alles erlauben, wenn ich nu möchte, dass alles BIS auf die Regeln weiter oben erlaubt werden soll, müsste ich das ja ganz oben adden und dann später die deny-regeln setzen.

Für die anderen Rechner im LAN könnte ich ja folgende Regeln verwenden :

ipfw add allow log tcp from any to any 80 setup
ipfw add allow log tcp from any to any 22 setup
ipfw add allow log tcp from any to any 25 setup
ipfw add allow log tcp from any to any 21 setup
ipfw add allow log tcp from any to any 1022 setup

So und nu kommt meine Frage - was muss ich statt "any" reinschreiben, damit bei allow ip statt any to any halt alle Verbindungen zu meinem Rechner und bei allow log tcp alle Verbindungen zu anderen Rechnern gemeint sind ? :kratz2:



naja, Port 6000 faellt weg, da du eh kein X installieren willst, der 2049 ist der NFS, kommt halt drauf an ob du NFS haben willst, in der Installation wirst du eigentlich gefragt, wenn du die einfachste Variante nimmst.

tun0 ist die Karte die mit dem Modem Verbunden ist.
rl0 oder was auch immer ist die Karte mit dem der Switch spaeter verbunden ist.

fuer any kannst du eine ip oder den Rechnernamen schreiben, aber mach dir ueber sowas keine Gedanken. Install erstmal :D

PatTheMav
2004-02-03, 19:26:56
Ja die eine grosse IPFW-Howto von freebsd-howto.com hat mir SEHR geholfen !

Ich denk ma, ich bin zumindest in der Lage die Firewall einzurichten mitsamt DHCP. Frage wird da nur sein - reicht die Einrichtung von ipfw mitsamt den Regeln, damit die Rechner hier im LAN dadurch ins Netz gehen können, wenn ipfw das erlaubt ? Oder was müsste da noch installiert werden ?

Installen würd ich gern, aber M$ meinte ja pünktlich zu meiner Bestellung den Fachhändler, bei dem ich meine XP Studentenlizenz geordert habe, einer Prüfung zu unzerziehen .. ich wart seit 3 Wochen auf die Version und meine neue Hardware liegt hier unbenutzt rum und läuft Garantietechnisch unbenutzt aus ... :(

ZaCi
2004-02-05, 07:04:54
Original geschrieben von PatTheMav
Ja die eine grosse IPFW-Howto von freebsd-howto.com hat mir SEHR geholfen !

Ich denk ma, ich bin zumindest in der Lage die Firewall einzurichten mitsamt DHCP. Frage wird da nur sein - reicht die Einrichtung von ipfw mitsamt den Regeln, damit die Rechner hier im LAN dadurch ins Netz gehen können, wenn ipfw das erlaubt ? Oder was müsste da noch installiert werden ?

Installen würd ich gern, aber M$ meinte ja pünktlich zu meiner Bestellung den Fachhändler, bei dem ich meine XP Studentenlizenz geordert habe, einer Prüfung zu unzerziehen .. ich wart seit 3 Wochen auf die Version und meine neue Hardware liegt hier unbenutzt rum und läuft Garantietechnisch unbenutzt aus ... :(

naja NATd, named, pppoe konfigurieren und halt nen FTPd nach Bedarf.

Dann geht das schon.

PatTheMav
2004-02-05, 23:43:42
Ja sollte gehen, ich werd mal rumprobieren, evtl. schreib ich die Configs hier rein für andere Suchende nach mir :)

PatTheMav
2004-03-31, 20:08:12
So Server is installiert und läuft - AAABER mit den ipfw-Rules steh ich aufm Kriegsfuss, ich würd gern zwei scripte bauen, eines davon erlaubt vollen zugriff von meiner IP aufs Internet (mitsamt Blocking von schädlichen Ports), das andere soll auch den anderen Rechnern im LAN zugriff erlauben - hat da jemand probate Rules für mich ?

ZaCi
2004-03-31, 20:39:37
Was wie wo? Nochmal. ;) Welchem Rechner soll was erlaubt werden?

/edit: Hier mal ein gutes Beispiel...

http://www.bsdforen.de/forums/showthread.php?threadid=148&perpage=15&pagenumber=2

PatTheMav
2004-04-01, 18:51:11
Das Beispiel kenn ich schon, aber wenn ich das nutze kommt bei mir garkein Rechner mehr ins Netz.

Ausserdem möchte ich dass in der standarteinstellung das Internet nur für mich geroutet wird und allen anderen der Zugriff blockiert wird und per ssh möchte ich mit nem script eben auch diesen Rechner den Zugriff ermöglichen !

ZaCi
2004-04-01, 19:46:01
Was heisst hier ins "Netz"? Paste einfach mal dein Ruleset.

Du kannst das Rules im laufenden Betrieb aktualisieren indem du ganz einfach das manipulierte Script nochmal ausfuehrst. "./blascript"

PatTheMav
2004-04-02, 16:55:01
Ja das ist doch klar, aber ich bekomm ja nich ma ein anständiges Ruleset hin - bisher gibts nur

${fwcmd} accept all from any to any

:(

Damit ich überhaupt Netz hab.

ZaCi
2004-04-02, 22:35:35
Also wenn du dir es erstmal einfach machen willst, dann kopier erst mal das ruleset am Ende des Threads und dann guck halt wie du das ausbauen kannst, das Ruleset so wie es da steht, sollte funktionieren...

PatTheMav
2004-04-03, 18:45:20
Also ich gebs auf. Ich hab hier in dem Haus Verkabelungen verlegt und nu meint FreeBSD beim starten immer, dass zwar eine LAN-Verbindung, sprich eine Verbindung zum Switch besteht, aber zum DSL-Modem nich - No Carrier heisst da immer. Nach dem Login allerdings zeigt ifconfig alles richtig an, 100BaseTX für die Lan-Verbindung und 10-BaseT für das DSL-Modem. Das war an sich kein Problem, wenn die Nicht-Erkennung einer existenten Verbindung zwischen Netzwerkkarte und DSL-Modem nicht nur das automatische Einwählen per PPP verhindern würde, sondern auch aus mir unerfindlichen Gründen den Start des Systems beim Initialisieren von sshd blockiert. Einzig ein beherztes STRG+C bringt mich zum Login ...

Ich hab jetzt inzwischen FreeBSD vier Mal neu installiert, vier mal versucht es wieder ordentlich zu installieren mit Kernel-Neukompilierung usw.. usf.. und es klappt einfach nicht mehr.

Was ich bräuchte wär echt ne Schritt für Schritt-Anleitung von der Installation des FreeBSD-Systems, über die erste Konfigurierung und Sicherung, Einrichten der Netzwerk-Hardware, Einrichten von Usern für FTP und SSH, Einrichtung der Routing-Funktionen und Firewall-Funktionen mitsamt PPP-Einrichtung ...

Weil alles was ich bisher zusammengebaut hat, funktioniert nur bis zu einem bestimmten Punkt und ab da geht alles den Bach runter. Ich hab auch leider nicht die Zeit, mich wirklich durch hunderte MAN-Pages durchzuarbeiten, der Server muss möglichst schnell innerhalb der nächsten Woche einsatzbereit und sicher laufen.

Leider liefern die meisten HOWTO's wie sie bei BSDForen.de zu finden sind eher oberflächliche Anweisungen, die viele Dinge, die evtl. essentiell sind einfach voraussetzen und mit zwei Zeilen abhandeln - das hilft mir leider nich viel. Zwar hab ich FreeBSD etwas mehr unter Kontrolle, aber ich komm echt nich weiter und hab wie gesagt, nicht mehr die Zeit mich da tief reinzufuchsen also HILFE !

Gast
2004-04-03, 20:39:32
ipcop (http://www.ipcop.org/cgi-bin/twiki/view/IPCop/WebHomede)

PatTheMav
2004-04-03, 22:33:38
Original geschrieben von Gast
ipcop (http://www.ipcop.org/cgi-bin/twiki/view/IPCop/WebHomede) Wer lesen kann, ist klar im Vorteil - dat is wieder son vorgefertigtes Linux-Ding, wie M0n0Wall oder Fli4l, das bringt mir nichts auf meiner FreeBSD-Maschine !

ZaCi
2004-04-04, 18:32:41
http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html
http://www.bsdforen.de/forums/showthread.php?threadid=852
http://www.bsdforen.de/forums/showthread.php?s=&threadid=6&highlight=router
http://www.ezunix.org/
http://www.freebsdportal.com/
http://ezine.daemonnews.org/200403/
http://www.bsdguides.org/
http://bsdhound.com/
http://bsdvault.net/

http://www.fmi.uni-passau.de/~grafj/openbsd/3.4/index.html

PatTheMav
2004-04-04, 23:13:41
Original geschrieben von ZaCi
http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html
http://www.bsdforen.de/forums/showthread.php?threadid=852
http://www.bsdforen.de/forums/showthread.php?s=&threadid=6&highlight=router
http://www.ezunix.org/
http://www.freebsdportal.com/
http://ezine.daemonnews.org/200403/
http://www.bsdguides.org/
http://bsdhound.com/
http://bsdvault.net/

http://www.fmi.uni-passau.de/~grafj/openbsd/3.4/index.html AAAAAAAAH Genau .. Besten Dank !!

PatTheMav
2004-04-06, 20:54:22
Ich glaub ich bin zu blöd dafür ...

ich schieb die FreeBSD-CD ein und installier das System mit dem Kern-Developer-Preset, es wird auch alle Hardware erkannt ohne Probs. Netzwerkkarte 1 wird als rl0 die IP 192.168.1.1 zugewiesen und sis0 bekommt die IP 192.168.0.10 zugewiesen.

Aber nach dem ersten Boot erscheint folgendes :configuring syscons
router sm_mta[403] My unqualified hostname (router) unknown, sleeping for retryUnd danach passiert auch erstma nix, nach ner Weile "schläft" dann noch paar mal aus demselben Grund und erst danach, oder STRG+C komm ich zum Login.

Danach hab ich den Kernel neugebaut mit den IPFIREWALL und NETGRAPH-Einträgen, damit ich ipfw und ppp nutzen kann, make depend, make und make-install liefen fehlerfrei durch.

In der rc.conf steckten schon die Einträge für natd, gateway, die Firewall-Einträge hab ich erstmal rausgelassen. Also beherzten Neustart gemacht - immer noch das "sleeping for retry", also wieder mit strg+c zum login vorgekämpft und die ppp.conf bearbeitet und erfolgreich die T-DSL-Verbindung über tun0 aufgebaut.

Soweit so gut - in der resolv.conf stehen die Telekom-DNS-Server also versuch ich mal zu pingen.

Doch beim ping auf www.heise.de meldet man mir ein "Hostname lookup failure" und beim ping auf 192.168.0.10 oder 192.168.1.1 und auch beim ping auf meinen Windows-Rechner wird mir als root (!!!!) erzählt, dass mir die Berechtigung fehlt :ping:sendto:permission deniedWas muss man denn bitte noch machen, um als root pingen zu dürfen :(

Ich hab in der vergangenen Woche jeden Tag mindestens 2x FreeBSD aus Verzweiflung neu installiert, weil ich dachte, ich hätte was falsch gemacht und ich eine cleane Neuinstallation haben wollte.

Doch immer wieder ist irgendetwas, jetzt scheint die zweite LAN-Verkabelung im Haus zum DSL-Modem defekt zu sein, was den sporadischen No-Carrier/10-BaseT-Wechsel von rl0 erklären dürfte, aber nach dem einzigen Mal, bei dem ich FreeBSD als Router fertig hatte (mit der Einschränkung, dass ich die ipfw-rules noch nicht vollständig gebaut hatte), hab ich es mir kaputtgespielt, als ich versuchte das System an sich sicherer zu machen. ppp funzte garnicht und schon da meinte ping immer, ich hätte als root keine Berechtigung.

ZaCi
2004-04-06, 21:44:40
Um ueberhaupt pingen zu koennen solltest du IPFW Default Deny aus dem Kernel rausnehmen, hab gerade kein FreeBSD am laufen...

Guck doch einfach per "ipfw show" was fuer ein Ruleset gerade laueft.

Wenn dort "deny from any to any" steht, dann ist das kein Wunder das du nicht pingen kannst. ;)


Aendere deinen hostname in der rc.conf... Die Fehlermeldung sagt eigentlich alles.

Die "No carrier" Geschichte laesst nur auf kaputte Verkabelung schliessen. Ich denk mal du kannst einen RJ45 Stecker in eine RJ45 Buchse stecken. ;D

"ifconfig -a" sollte mit eingestecktem Kabel zum Modem und zum Switch, anzeigen, das er die Carrier hat.

PatTheMav
2004-04-06, 22:18:10
Original geschrieben von ZaCi
Um ueberhaupt pingen zu koennen solltest du IPFW Default Deny aus dem Kernel rausnehmen, hab gerade kein FreeBSD am laufen...

Guck doch einfach per "ipfw show" was fuer ein Ruleset gerade laueft.

Wenn dort "deny from any to any" steht, dann ist das kein Wunder das du nicht pingen kannst. ;)


Aendere deinen hostname in der rc.conf... Die Fehlermeldung sagt eigentlich alles.

Die "No carrier" Geschichte laesst nur auf kaputte Verkabelung schliessen. Ich denk mal du kannst einen RJ45 Stecker in eine RJ45 Buchse stecken. ;D

"ifconfig -a" sollte mit eingestecktem Kabel zum Modem und zum Switch, anzeigen, das er die Carrier hat. Also die Firewall ist ja garnicht aktiviert, aber ich setz ma firewall_type="OPEN" - hoffentlich hilfts was. Im Übrigen erhalte ich diese hostname-Fehlermeldung mit JEDEM Hostname den ich eingebe ...

ZaCi
2004-04-06, 22:30:37
Dann zeig mal deine rc.conf her, guck dir auch mal bitte "man rc.conf" an.

Und zeig mal bitte was "ipfw show" sagt...

PatTheMav
2004-04-08, 15:24:10
So, ich hab mich heute mal dazu hingerissen, den Server wieder anzumachen - hier mal die rc.conf :hostname="router"

# Ethernet Settings
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_sis0="inet 192.168.0.10 netmask 255.255.255.0"

# Act as gateway between the interfaces
gateway_enable="YES"

# We use Deutsche Telekom - so we got our own DNS
#named_enable="YES"
#named_flags="-u bind -g bind"

# Firewall-Settings
firewall_enable="YES"
firewall_script="/etc/firewall/fwrules"
firewall_logging="YES"
firewall_type="OPEN"

keymap="german.cp850"
keyrate="fast"
linux_enable="YES"
sshd_enable="YES"
usbd_enable="NO"Soviel dazu, ich hab die erstmal total abgespeckt, weil ich schrittweise neu anfangen wollte, leider ohne Erfolg.

In der fwrules steht nur folgendes :#!/bin/sh

ipfw add allow all from any to anyDas wars auch - Ping geht neuerdings auch, es lag daran, dass ich alle Firewall-Settings in der rc.conf entfernt hatte, dadurch wurde automatisch eine deny all-Regel angewandt ... Naja man lernt nie aus :D
Nu zu dem "ipfw show" :router# ipfw show
00100 944 107633 allow ip from any to any
65535 0 0 deny ip from any to any
router#Das kommt dabei raus - was mich neuerdings aber viel mehr irritiert ist folgendes Verhalten :router# ./fwrules
./fwrules: Permission denied.
router# sh fwrules
00200 allow ip from any to any
router#Also ich weiss einfach nicht mehr weiter mit diesem System ...

PatTheMav
2004-04-08, 18:59:01
So mit bissle herumconfiggen hab ichs jetzt selber geschafft, der server läuft, agiert als caching nameserver, firewall usw.. alles funzt, momentan bin ich am rumhühnern mit Samba :)

Nu fehlt mir nur noch zum vollkommenen Glück mein "spezielles" Firewall-Script - bisher sieht das so aus:#!/bin/sh
#Mach "Quiet"
fwcmd="/sbin/ipfw -q"

#Erstmal alles saubermachen bevor wir anfangen
${fwcmd} -f flush

#Das setzen unserer eigenen Variabeln
natd_interface="rl0"
lan_interface="sis0"
closed_ports="135,139,445,1029,5000,6000,12345"

${fwcmd} add allow ip from any to any via lo0

${fwcmd} add reset tcp from any to any ${closed_ports} in recv ${natd_interface}
${fwcmd} add allow log icmp from any to any in recv ${natd_interface} icmptype 3
${fwcmd} add allow log icmp from any to any in recv ${natd_interface} icmptype 8

${fwcmd} add deny ip from 192.168.0.2 to any
${fwcmd} add allow all from any to anyIch hab mir nun gedacht, wenn ich möchte, dass nur meine Maschine ins Netz kann und alle anderen nicht - müsste ich dann hinzufügen :

add allow ip from any to [MEINE_IP] in recv ${natd_interface}
add allow ip from [MEINE_IP] to any in xmit ${natd_interface}
add deny ip from any to any

Würde das klappen ?

ZaCi
2004-04-08, 22:49:51
Original geschrieben von PatTheMav
So mit bissle herumconfiggen hab ichs jetzt selber geschafft, der server läuft, agiert als caching nameserver, firewall usw.. alles funzt, momentan bin ich am rumhühnern mit Samba :)

Nu fehlt mir nur noch zum vollkommenen Glück mein "spezielles" Firewall-Script - bisher sieht das so aus:#!/bin/sh
#Mach "Quiet"
fwcmd="/sbin/ipfw -q"

#Erstmal alles saubermachen bevor wir anfangen
${fwcmd} -f flush

#Das setzen unserer eigenen Variabeln
natd_interface="rl0"
lan_interface="sis0"
closed_ports="135,139,445,1029,5000,6000,12345"

${fwcmd} add allow ip from any to any via lo0

${fwcmd} add reset tcp from any to any ${closed_ports} in recv ${natd_interface}
${fwcmd} add allow log icmp from any to any in recv ${natd_interface} icmptype 3
${fwcmd} add allow log icmp from any to any in recv ${natd_interface} icmptype 8

${fwcmd} add deny ip from 192.168.0.2 to any
${fwcmd} add allow all from any to anyIch hab mir nun gedacht, wenn ich möchte, dass nur meine Maschine ins Netz kann und alle anderen nicht - müsste ich dann hinzufügen :

add allow ip from any to [MEINE_IP] in recv ${natd_interface}
add allow ip from [MEINE_IP] to any in xmit ${natd_interface}
add deny ip from any to any

Würde das klappen ?


Na endlich.. :>

Ja das wuerde klappen, aber google z.B. mal nach beispiel sets oder guck in Foren...

PatTheMav
2004-04-08, 23:02:30
Ich hab jetzt ma ein anderes ruleset :#!/bin/sh
# Keine Ausgaben
fwcmd="/sbin/ipfw -q"

# Bisherige Rules saeubern
${fwcmd} -f flush

# Variablen setzen
natd_interface="rl0"
lan_interface="sis0"
closed_ports="22,135,139,445,5000,6000,12345"

# Localhost-Traffic erlauben und Internet fuer 192.168.0.1 erlauben
${fwcmd} add allow ip from any to any via lo0
${fwcmd} add divert natd all from 192.168.0.1 to any via ${natd_interface}
${fwcmd} add divert natd all from 192.168.0.8 to any via ${natd_interface}

# Stateful-Firewall verwenden
${fwcmd} add check-state
${fwcmd} add allow ip from any to any via ${lan_interface} keep-state

# Anti-Spoofing Rules
${fwcmd} add deny log ip from 10.0.0.0/8 to any in via ${natd_interface}
${fwcmd} add deny log ip from 172.16.0.0/12 to any in via ${natd_interface}
${fwcmd} add deny log ip from 192.68.0.0/16 to any in via ${natd_interface}

# Fragmentierte Pakete ham wir auch nicht gern
${fwcmd} add deny all from any to any frag in via ${natd_interface}

# Und genauso Versuche auf die verd
${fwcmd} add reject ip from any to any ${closed_ports} in recv ${natd_interface}

# ICMP Types 3 und 8 mal mitprotokollieren

# Alles erlauben
${fwcmd} add allow all from any to any

# Alles verbieten
#${fwcmd} add deny all from any to anyIst so schon mal ganz schick, funzt soweit auch alles, nur es funzt zuviel :) Ich dachte eigentlich, dass mit den divert natd-Einträgen nur die IPs 192.168.0.1 und 192.168.0.8 natd nutzen können und damit ins Internet können, aber Pustekuchen, trotzdem geht die gesamte Sippe ins Netz und ich darf in die Röhre gucken, wenn ich zocken will :/

Achja und der blöde eMule will auch nicht, denn eigentlich sollte mit der allow all from any to any-Rule der seine Ports bekommen, aber beim connecten quängelt er immer, dass mein Rechner auf dem angeforderten Port nicht erreichbar ist.

PatTheMav
2004-04-09, 01:27:19
Soooooooo - ich hab jetzt soweit alles am funzen, des Rätsels Lösung war es eigentlich die deny-Rules für die andere im LAN nahezu an den Anfang zu setzen, so dass bevor irgendwas anderes überprüft wird, die Pakete rausgeschmissen werden.

Nun bleiben mir aktuell erstmal nur noch zwei Probleme : Wie behebe ich die Meldung über den "unqualified" hostname beim Start, der verzögert den gesamten Boot des Rechners um 2 Minuten und das nervt mich. Afaik MUSS ein Hostname gesetzt werden, aber egal bei welchem Hostname, quängelt FBSD beim Boot herum, dass der Name "unqualified" wär ...
eMule, TeamSpeak, GameVoice, alle Programme, die sich als Server starten meinen, sie funzen nicht. eMule meint z.B. dass die berühmten Ports 4662 und 4672 nicht offen wären und ich bekomme ne niedrige ID, bei Gamevoice können Leute nicht mit meinem Server connecten. Was mache ich da ? Ich dachte die accept all from any to any erlauben derartigen Traffic ?!?
Und wie zum Bäcker bekomme ich FreeBSD dazu, meine Ethernetkarte mit Wake-on-Lan-Funktion nicht vollständig auszuschalten, sondern gemäss ACPM anzulassen, damti sie auf das "Magic-Packet" hin den Rechner neustarten kann ? RedHat 9 konnte das z.B. hatte das extra beim shutdown gemeldet, aber was muss ich in FreeBSD einstellen, damit das geht ?Soviel dazu, bevor das nicht läuft mache ich mich garnicht erst an die fertige Einrichtung von Samba oder Proftpd ...

ZaCi
2004-04-09, 02:33:59
aeh LOL...

naja...

In Bezug auf dem Hostname, ich zwing dich jetzt zum lesen! ;D
/etc/defaults/rc.conf ... lesen, verstehen, deine rc.conf aendern..

Zu der emule Sache... Schau dir mal deine NAT genau an.. Genauso muessen die Ports im Ruleset natuerlich offen sein.

NAT kann an sein wie es will.. Du musst IPFW trotzdem sagen das der Kernel z.B. 4662 von aussen rein erlauben soll.

Zum letzteren, guck dir mal deine Kernelconfig an (wenn du schon einen neuen Kernel gebaut hast), ich weiss nicht ob die Funktion unterstuetzt wird. >> handbook gucken... LINT im Kernelverzeichniss lesen.

PatTheMav
2004-04-09, 17:16:14
Hostname ist gesetzt, in der rc.conf im Defaults-Verzeichnis steht nur "set this !" - es IST immer gesetzt also bin ich KEIN Schritt weiter mit dem Tip :(

Und die Firewall ist offen, also allow any from any - da sollte ich doch nicht noch extra ports freigeben müssen - zumal die Rules zum freigeben keinerlei Erfolg hatten ...

ZaCi
2004-04-09, 19:16:22
Original geschrieben von PatTheMav
# Localhost-Traffic erlauben und Internet fuer 192.168.0.1 erlauben
${fwcmd} add allow ip from any to any via lo0
${fwcmd} add divert natd all from 192.168.0.1 to any via ${natd_interface}
${fwcmd} add divert natd all from 192.168.0.8 to any via ${natd_interface}


andersrum... from any to "ip"

Du musst in der rc.conf auch deinen domainname setzen, guck dir die defaults noch mal und die rc.conf manpage bitte.

PatTheMav
2004-04-09, 19:29:34
Original geschrieben von ZaCi
andersrum... from any to "ip"

Du musst in der rc.conf auch deinen domainname setzen, guck dir die defaults noch mal und die rc.conf manpage bitte. Hm keinerlei Änderung, auch der Esel funzt net ...

ZaCi
2004-04-09, 20:15:14
uhm, ich weiss nicht was du machst... ehrlich...

#!/bin/sh
# Keine Ausgaben
fwcmd="/sbin/ipfw -q"


Mach mal das q weg, dann guck dir die Ausgabe an! (beim ausfuehren)

PatTheMav
2004-04-10, 11:59:36
Also ich schnall das echt nicht .. in der natd.conf gebe ich an, dass er die Ports auf meine IP forwarden soll, in den firewall-rules sind die freigegeben mit ner extra allow-rule aber trotzdem meinen alle programme, die als server sozusagen laufen, dass "ihre" Ports nicht erreicht werden können - weiss langsam auch nimmer weiter ...

ZaCi
2004-04-10, 14:27:13
entweder natd.conf oder nat in den ipfw rules.

PatTheMav
2004-04-11, 15:04:27
Also hab beides versucht, klappte nicht - hab jetzt NATD deaktiviert und nat in der ppp-config verwendet und damit klappts ... seltsames Ding.