Router basteln

seca

Member
Hallo,
ich habe mir FreeBSD gezogen und möchte nun einen Router konfigurieren. Ich habe 2 Netzwerkkarten die eine Geht ans internet (xl0 oder lx0 ???) und die andere geht ins LAN. Nun las ich das der nat Daemon aktiviert sein muss. Das habe ich getan( in der /etc/rc.conf). Aber es läuft nicht.
Geht das mit dem standart kernel nicht?
Muss ich mir ein eigener Kernel bauen?
Oder kann ich mir einer mit natd Unterstüzung downloaden?

Ach ja ich hab nur die Minimalinstallation gemacht, wenn ich nun einen neuen kernel kompilieren müsste (was ich schwer nicht hoffe :D ) wie kann ich die sourcen nachinstallieren?

Ich hoffe diese Fragen wurde nicht schon 1000 mal gestellt. Ich habe danach im forum gesucht aber nichts passendes gefunden.

Ich wäre sehr dankbar für eure Hilfe.

Gruss seca
 
Hi,
Ich denke unten der Link beantwortet die Fragen zum Thema Nat:
http://www.bsdforen.de/forums/showthread.php?s=&threadid=148

Zum Thema Kernel-Sourcen nachinstallieren:
Du kannst via /stand/sysinstall ---> configure ---> distribution ---> sources ---> sys (glaub ich zumindest, weiss ich leider nicht auswendig) zum Ziel kommen. Es steht auf jeden fall dahinter, was die Kernel-Quellen sind.
Auch das Handbuch ist dein Freund, dort stehen viele Themen gut erklärt drin:
http://www.freebsd.org/doc/en/books/handbook/index.html
Es gibt auch eine deutsche Übersetzung:
http://www.freebsd.org/doc/de/books/handbook/index.html

Hoffe das hilft ein wenig weiter...

Gruß

Tulkas
 
Ja genau so habe ich es gemacht. Aber ich hatte mir gedacht das zuegs sei schon im standartkernel. Gib des nicht irgendwo ein Kernelbinary, in dem das schon einkompiliert ist?
Oder könnte ev. jemand mir seins zuschicken? :rolleyes:
 
[ich habe mir FreeBSD gezogen und möchte nun einen Router konfigurieren. Ich habe 2 Netzwerkkarten die eine Geht ans internet (xl0 oder lx0 ???) und die andere geht ins LAN.

Das Ding wird sicher "xl0" heissen. Rufe "ifconfig" auf, dann weisst Du es genau.

Nun las ich das der nat Daemon aktiviert sein muss. Das habe ich getan( in der /etc/rc.conf). Aber es läuft nicht.
Geht das mit dem standart kernel nicht?
Muss ich mir ein eigener Kernel bauen?
Oder kann ich mir einer mit natd Unterstüzung downloaden?

1. Es heisst Standard! Mit "d" wie Dora. Grmpf
2. Lesen, verstehen und umsetzen:
http://www.bsdforen.de/forums/showthread.php?s=&threadid=148

Hast Du eigentlich auch nur einmal ins handbook gesehen?
FreeBSD ist NICHT Linux. Linux ist nur der Kernel, daher bekommt man den bei jedem Gemüsehändler, FreeBSD bezeichnet das ganze System. Also fang an Dich damit auseinadnerzusetzen, beispeilsweise auch wie man einen Kernel baut.

Du könntest Deinen Router, incl. Kernelbau, schon am laufen haben.

Ach ja ich hab nur die Minimalinstallation gemacht, wenn ich nun einen neuen kernel kompilieren müsste (was ich schwer nicht hoffe :D ) wie kann ich die sourcen nachinstallieren?

Es gibt auch Module, diese kannst Du auch laden, anstatt den Kernel neu zu bauen (/boot/kernel/).
Ansonsten willst Du "cvsup-without-gui" installieren, und Dir http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvsup.html duchlesen.

cvsup ist kein Hexenwerk und schnell und einfach zu verstehen.
 
btw. du schreibst garnichts davon wie du online gehst, ist dein router denn schon online? Ich würd erstmal versuch das du die kiste online kriegst. Das routing iss erst der schritt danach.

@alle FreeBSD als router user:
Muss man da wirklich nen natd laufen lassen? Ich weiss es nicht weil ich FreeBSD nicht als router einsetze, aber ich dachte das routing und folgich auch das NAT, wird vom pf geregelt, dens ja mittlerweile auch unter FreeBSD gibt (?) ...
 
Zuletzt bearbeitet:
Dort wird Dir geholfen:
http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html

Ich möchte nun nich in's Geflame ausfallen, kann Dir aber gleibe eine Regel erklären auf die Du im Unix-Umfeld immer wieder stossen wirst.
Erwecke wenigstens den Anschein das Du dich mit deiner Frage beschäftigt hast[/b]
Dieses How-To ist übrigens auf der deutschen FreeBSD Seite verlinkt ;-)

Willkommen im BSD-Land
buebo
 
Original geschrieben von oversize

@alle FreeBSD als router user:
Muss man da wirklich nen natd laufen lassen? Ich weiss es nicht weil ich FreeBSD nicht als router einsetze, aber ich dachte das routing und folgich auch das NAT, wird vom pf geregelt, dens ja mittlerweile auch unter FreeBSD gibt (?) ...

AFAIK kann man
1.) nat durch ppp machen lassen
2.) nat durch IPFW machen lassen
3.) nat durch PF machen lassen (bin mir aber nicht sicher ob pf nun schon in STABLE ist ...)

buebo
 
Also zuerst einmal danke für die Hilfe.

Ihr verwirrt mich ein bisschen. Ich bin kein Windoof Idiot. Ich bin sehr an den verschiedenen UNIX' interessiert. Ich arbeite schon seit 4 Jahren mit Linux und habe eine SUN Station zuhause. Und habe schon ein paar Linux-Kernel kompiliert (zwar nur selten wirklich erfolgreich :D ) Ich hab auch das HowTo gelesen.

Ihr wisst genau wie das ist, wenn man ein neues OS ausprobiert. Man hat das weisse login auf schwarzem grund und muss sich nun versuchen da irgendwie hineinzuarbeiten.

Also ich habe ein Kabelmodem ,aus dem kommt ein Ethernetkabel. Wenn ich das an das xl0 anschlisse und dhcpclient xl0 aufrufe kann ich google pingen. Also das läuft. Dann ich möchte keine Firewall, nur routing mit ip masquerading. Ich möchte nicht das irgendwelche verdächtige Pakete filtern oder so.

Ich habe also das folgende in meine /etc/rc.conf:
natd_enable="YES"
natd_interface="xl0"
natd_flags=""
gateway_enable="YES"

Was bewirken jetzt diese Einträge? Funktionieren diese alleine jetzt nicht? Brauche ich für die einen speziellen Kernel? Und müssen die Einträge für die Firewall (z.B.: firewall_enable="YES") zwingen eingetragen sein?

Was bringt die Option "options IPDIVERT" im Kernelkonfigurationsfile?

Für meine schlecht Grammatik möchte ich mich auch entschuldigen. Ich kann eure Tip(p)s erst am Abend ausprobieren da ich hier kein FreeBSD-System habe.

Ich wäre euch sehr dankbar für weitere Hilfe.

Mit freundlichen Grüßen SeCa
 
Ich habe also das folgende in meine /etc/rc.conf:
natd_enable="YES"
natd_interface="xl0"
natd_flags=""
gateway_enable="YES"
Was bewirken jetzt diese Einträge? Funktionieren diese alleine jetzt nicht? Brauche ich für die einen speziellen Kernel? Und müssen die Einträge für die Firewall (z.B.: firewall_enable="YES") zwingen eingetragen sein?

Wenn Du eine Firewall nutzen, willst, in diesem Falle IPFW, dann brauchst Du das was in dem howto beschrieben ist.
Das ipdivert muss für NATD in Verbindung mit ipfw mit rein.
Erste rule bei den IPFW Rules ist dann auch die "divert" rule:

"ifw add 10 divert natd all from any to any via tun0"

Ich rate Dir zu einer Firewall, aber wenn Du diese wirklich nicht willst, dann kannst Du auch das NAT von ppp nutzen, was sicher am schnellsten geht, ohne an irgendwas gross zu drehen.

man ppp
[Auszug:]
The -nat flag does the equivalent of a ``nat enable yes'', enabling ppp's
network address translation features. This allows ppp to act as a NAT or
masquerading engine for all machines on an internal LAN. Refer to
libalias(3) for details on the technical side of the NAT engine. Refer
to the NETWORK ADDRESS TRANSLATION (PACKET ALIASING) section of this man-
ual page for details on how to configure NAT in ppp.

Wenn Du Deine FreeBSD Kiste nur als Gateway einsetzen willst, so das andere Clients im internen Netz auch nach draussen kommen, dann brauchst Du gar nichts zu machen.
Naja, Deine zweite NIC im Router muss eine interne IP haben, und diese interene IP, ist dann das Gateway für die anderen Rechner nach draussen ins Internet.
 
Original geschrieben von grunix

Wenn Du Deine FreeBSD Kiste nur als Gateway einsetzen willst, so das andere Clients im internen Netz auch nach draussen kommen, dann brauchst Du gar nichts zu machen.
Naja, Deine zweite NIC im Router muss eine interne IP haben, und diese interene IP, ist dann das Gateway für die anderen Rechner nach draussen ins Internet.

Das geht aber nicht. Ich kann vom Klient aus (Win2000) die interne ip des FreeBSD anpingen und die externe, aber die ip von google (nicht den dns-namen) kann ich nicht anpingen. Obwohl ich beim win2k den gateway auf 192.168.0.1 (ip von FreeBSD-System) gestellt habe.
 
Hast Du in der /etc/rc.conf des routers:

gateway_enable="YES"

Und hast Du in der /etc/rc.conf der Clients:

defaultrouter="IP_der_internen_NIC_des_Routers"
 
Original geschrieben von grunix
Hast Du in der /etc/rc.conf des routers:

gateway_enable="YES"

Ja exakt genau das habe ich da drin!

Original geschrieben von grunix


Und hast Du in der /etc/rc.conf der Clients:

defaultrouter="IP_der_internen_NIC_des_Routers"

Es ist ein W2k sys:
dort steht unter Default Gateway die interne ip (lx1 in meinem fall) 192.168.0.1

Doch das funzt nicht????

Ich verzweifle noch :(
 
Original geschrieben von grunix

Ich rate Dir zu einer Firewall, aber wenn Du diese wirklich nicht willst, dann kannst Du auch das NAT von ppp nutzen, was sicher am schnellsten geht, ohne an irgendwas gross zu drehen.
1. wenn er nen kabelmodem hat, und mit dhcpclient online kommt, wozu braucht er dann ppp?
2. man kann auch mit dem NAT von ppp eine firewall haben...
3. gateway_enable="yes" reicht nicht aus, wenn er nur eine IP hat, da braucht er auf jedenfall nat.

ich kann leider nicht helfen, benutze ppp+builtin nat.

gruss
male
 
1. wenn er nen kabelmodem hat, und mit dhcpclient online kommt, wozu braucht er dann ppp?

Huch. Hehe, stimmt, das hat er geschrieben. Geschriebenes gehört gelesen....

2. man kann auch mit dem NAT von ppp eine firewall haben...

Eine firewall?

3. gateway_enable="yes" reicht nicht aus, wenn er nur eine IP hat, da braucht er auf jedenfall nat.

Wenn er nur will das andere Boxen hinter dem router ins Netz wollen reicht das meines erachtens aus.
 
Hallo
nachdem ich ein paar Abende lang probiert habe den router mit freeBSD zu konfigurieren, es aber einfach nicht funktionierern wollte, bin ich doch wider auf debian umgestiegen.
Ich werde es später nocheinmal mit freeBSD (oder einem anderen BSD) probieren. Ich danke für eure hilfe.

mfg seca
 
klar, hab ich hier am laufen, ppp+[nat enable yes] + IPFW2 + DUMMYNET ;)
Wenn er nur will das andere Boxen hinter dem router ins Netz wollen reicht das meines erachtens aus.

Also entweder ich bin hier ganz arg auf dem Holzpfad, oder ...

Wenn jeder Client hinter dem Router eine eigene "öffentliche" IP hat sollte das ausreichen. Da ich aber davon ausgehe, dass seca wie die meisten nur eine IP zugewiesen bekommt, ist nat unbedingt erforderlich, sonst routet der router nämlich Pakete mit einer lokalen IP (z.b. 192.168.x.x) nach aussen weiter, und darauf wird er niemals eine antwort erhalten, da Pakete mit diesen IP's im Internet nicht geroutet werden (RFC 1918).

korrigiert mich wenn ich falsch liege.

gruss
male
 
Zurück
Oben