# Netzwerksignal "weiterleiten"

## doedel

Ich möchte mal anfangen, sowas wie einen fli4l zu bauen, allerdings komplett von grund auf selber.

Nun habe ich einen rechner mit zwei netzwerkkarten und möchte diesen erst einmal einfach zwischen meinen router und pc klemmen und traffic loggen und über eine http-"gui" auslesen. Dies geht denke ich, indem ich einen apache installiere und mit php die log datei auslese.

Nun möchte ich wissen wie ich das anstelle, dass wenn mein signal vom router an eth0 reinkommt und an eth1 wieder rauskommen soll???? ich hab schon gegoogelt usw. aber bin daraus nicht sehr schlau geworden, also geht das, dass man das mir hier anfänger-verständlich erklärt?

das mit der ip vergabe möchte ich so machen, dass mein dsl-modem mit router per dhcp immer noch weiterhin ips vergibt, am besten wäre es dann auch, wenn der pc, den ich machen will, auch ips vergibt, an die die nach diesem kommen.

das hört sich ja sicher sehr wirr an, aber ich hoffe ihr kapiert das, hier nochmal in kürze:

DSL-Router mit DHCP Server vergibt an Gentoo Bastel PC die IP und der Gentoo Bastel PC vergibt die IP-Adressen an alle weiteren Rechner die über die zweite Netzwerkkarte und alle weiteren Rechner sind dann z.b. meim schöner Athlon hier   :Very Happy: 

Wie geht das???? (ich hoffe, das hört sich nicht zu plump an)   :Question:   :Question: 

THX im vorraus!

Dödel

----------

## gerry

1. Das hört sich nicht wirr an sondern etwas umständlich

2. Du brauchst offensichtlich einen DHCP Proxy, kein Plan ob es sowas gibt, wer hat denn schon Bedarf für sowas?  :Smile: 

3. Wenn alle Rechner an nem Hub (kein Switch! oder switching Hub!) hängen bekommen auch alle Rechner alle Pakete zu sehen. Dann nimmste einen Rechner, lässt auf dem Ethereal und anderes (hab bisher nur Ethereal benutzt) laufen und sparst dir ne Menge Stress.

4. Wenn's nur drum geht den http Traffic zu protokollieren -> kostenlose Astaro Version runterladen (gibt's das noch umsonst?) auf dem Bastel PC installieren, per Mausklick einrichten, zurücklehnen und geniessen

----------

## l3u

Für alle Fragen bezüglich "Pakert da rein und da raus" würd ich mich mal an die iptables wenden :-)

----------

## doedel

 *Quote:*   

> Du brauchst offensichtlich einen DHCP Proxy, kein Plan ob es sowas gibt, wer hat denn schon Bedarf für sowas?

 

naja, dhcp waer mir schon lieb, aber kann auch ohne sein, wenns nicht anders geht.

 *Quote:*   

> Wenn alle Rechner an nem Hub

 

ich habe ein switch

 *Quote:*   

>  Das hört sich nicht wirr an sondern etwas umständlich 

 

ist ja auch nicht als loesung gedacht, sondern nur um zu basteln und ausprobieren

 *Quote:*   

> Für alle Fragen bezüglich "Pakert da rein und da raus" würd ich mich mal an die iptables wenden

 

oke, werd ich mich mal dahin wenden

Vielen Dank fuer eure Hilfe!!!

----------

## slick

 *doedel wrote:*   

> DSL-Router mit DHCP Server vergibt an Gentoo Bastel PC die IP und der Gentoo Bastel PC vergibt die IP-Adressen an alle weiteren Rechner die über die zweite Netzwerkkarte und alle weiteren Rechner sind dann z.b. meim schöner Athlon hier  
> 
> Wie geht das???? (ich hoffe, das hört sich nicht zu plump an)   

 

Scheint mir zwar ein vollkommen unsinniges Verfahren, aber sollte theoretisch gehen wenn Du an beiden DHCP-Server aufsetzt aber am DSL-Router nur DHCP-Anfragen von der Mac-Adresse des Bastel PC durchläßt.

Du könntest aber auch zwei DHCPs aufsetzen die per NFS den/die release-Files teilen, somit ist egal welcher DHCP die Lease vergibt, ist aber auch nur Theorie.

EDIT: Ich widerrufe alles und behaupte das Gegenteil  :Wink:   Hatte die Frage nicht korrekt gelesen.Last edited by slick on Thu Apr 20, 2006 12:29 pm; edited 2 times in total

----------

## Cabal2002

 *doedel wrote:*   

> 
> 
> Nun möchte ich wissen wie ich das anstelle, dass wenn mein signal vom router an eth0 reinkommt und an eth1 wieder rauskommen soll???? ich hab schon gegoogelt usw. aber bin daraus nicht sehr schlau geworden, also geht das, dass man das mir hier anfänger-verständlich erklärt?
> 
> Dödel

 

Also das is einfach. Im Prinzip hast du die Wahl zwischen einer Trennung auf Layer2=Bridge oder Layer3=Router. Wenn du deinen Rechner als Bridge konfigurierst hast du den wenigsten Stress. Auf beiden Seiten deines Rechners existiert das gleiche IP Subnetz. Die Bridge leitet den Traffic dann anhand der Ziel MAC-Adresse an das andere Interface weiter wenn der Zielhost hinter der Bridge liegt ansonsten eben nicht. Ausserdem werden Pakete mit unbekannter MAC-Adresse und Broadcasts immer an allen Schnittstellen rausgegeben ausser am eingehenden Interface natürlich. Das gilt auch für DHCP Broadcasts die leitet die Bridge weiter. Das heisst Clients hinter der Bridge bekommen ihre IP-Adresse weiterhin vom Router der vor der Bridge hängt. In das ganze Gebilde kann man auch iptables mit einklinken und sich eine sogenannte Bridgewall basteln was dann deinem Wunsch nach logging erfüllen sollte. Da gabs im LinuxMagazin 12/05 auch einen interessanten Artikel.

Zweite Möglichkeit du konfigurierst den PC nicht als Bridge sondern als Router. Dann hast du aber auf beiden Seiten unterschiedliche Subnetze und Layer2 Broadcasts kommen über den Router nicht mehr drüber. Das gilt auch für DHCP Anfragen. Gelöst wird das ganze mit einem DHCP Relay Agent der nimmt die DHCP Anfragen (DISCOVER, REQUEST) und leitet sie als IP Unicast an den zuständigen DHCP Server weiter bei diesem muss es für das Quellsubnetz natürlich eine passende Lease geben. Die DHCP Antworten (OFFER, REPLY) schickt der DHCP Server dann wieder an den Relay Agent und der leitet diese wieder in das passende Subnetz.

Ich hoffe das hat etwas geholfen

MfG Cabal

----------

## Duncan Mac Leod

DHCP Relay Agent?

...wo bekommt man den her ??

thx,

Duncan

----------

## sschlueter

Meine Güte, was macht ihr es euch kompliziert   :Very Happy: 

Ein DHCP Relay Agent ist zwar schon beim ISC DHCP Paket dabei, aber ganz so einfach ist das natürlich nicht. Wenn der DHCP Server des DSL-Routers nur IPs aus einem Subnetz vergibt, dann bekommen die Clients hinter der Gentoo-Kiste IPs aus dem falschen Subnetz zugewiesen.

Wenn man sich für die Routing-Variante entscheidet, ist es daher vermutlich am einfachsten, auf der Gentoo-Kiste auch einen dhcpd laufen zu lassen.

Und bei der Bridging-Variante ist das ja sowieso nicht nötig.

Aber ich muss auch sagen, dass mir nicht so klar ist, was der OP eigentlich genau machen möchte. Eventuell würde es ihm reichen, einen HTTP-Proxy aufzusetzen?

----------

## think4urs11

 *sschlueter wrote:*   

> Wenn der DHCP Server des DSL-Routers nur IPs aus einem Subnetz vergibt, dann bekommen die Clients hinter der Gentoo-Kiste IPs aus dem falschen Subnetz zugewiesen.

 

Nö. Wenn der DHCP-Server nicht völliger Müll ist dann bekommen die Clients hinter dem Relay gar keine Adresse zugewiesen weil der Server schlicht keinen passenden Scope für den dhcp request finden kann und jede Anfrage aus diesem Range ignoriert/abweist.

Zum eigentlichen Problem:

Entweder 

a) mittels ebtables auf dem Gentoo PC eine briding firewall aufbauen

b) auf dem Gentoo PC dnsmasq installieren und auf eth1 ein eigenes Subnetz via DHCP verteilen und mit iptables das entsprechende masq'ing konfigurieren (Stichwort Homerouterguide)

c) auf dem Gentoo PC einen http proxy installieren und 'hinter' eth1 machen was immer am besten gefällt  :Wink: 

----------

## doedel

ich hab mich mal in die ganzen themen etwas eingelesen und nun denke ich, dass ich es so machen werde:

squid proxy server aufsetzen

apache installieren + php

mit einem php script die log dateien auswerten (also traffic usw.) und die kann dann bequem über den browser eingesehen werden.

nun noch eine frage, taugt squid? oder wisst ihr bessere programme? (es muss kein über sicheres teil sein mit blablabla und dies und sell und jenem)

----------

## think4urs11

 *doedel wrote:*   

> nun noch eine frage, taugt squid? oder wisst ihr bessere programme? (es muss kein über sicheres teil sein mit blablabla und dies und sell und jenem)

 

Reicht dir als Referenz wenn ich dir sage das ich derzeit damit europaweit ~4000 User ins Internet schleuse incl. Authentication, Verkehrsstatistiken und URL-Filtern wo nötig?

Möglich das es etwas leichtgewichtigere Proxies gibt aber squid funktioniert halt eigentlich immer und in jeder Lebenslage *g*

ahja - zum Auswerten finde ich calamaris sehr gut, zum Filtern entweder squidguard oder dansguardian.

----------

## doedel

cool, danke für deine hilfe   :Smile:   ich kann mich allerdings wahrscheinlich erst morgen oder mittwoch dranmachen das zu testen, mein amd90 hat ausgedient und dann kommt erst mein mein neuer p2/266. Der 90er is einfach nur übel, braucht 5 minuten zum booten, dauernd kernel panic, apache braucht auch nochmal ca. 7 minuten und ääähhhh...

Naja, ich werd dann bericht abliefern  :Very Happy: 

----------

## sschlueter

 *Think4UrS11 wrote:*   

> 
> 
> Nö. Wenn der DHCP-Server nicht völliger Müll ist dann bekommen die Clients hinter dem Relay gar keine Adresse zugewiesen weil der Server schlicht keinen passenden Scope für den dhcp request finden kann und jede Anfrage aus diesem Range ignoriert/abweist.
> 
> 

 

Ich habe noch nie mit einem dhcp relay agent gearbeitet. Kannst du mir daher erklären, was das Ding für einen Sinn haben soll, wenn es doch deiner Aussage nach weder mit noch ohne relay funktioniert?

 *Think4UrS11 wrote:*   

> 
> 
> Zum eigentlichen Problem:
> 
> Entweder 
> ...

 

Einfaches Routing oder Bridging sollte ausreichen. Es geht ja nur darum, einen Rechner zwischen LAN und DSL-Router zu stellen. Doppeltes NAT ist in diesem Fall unnötig.

----------

## makenoob

 *doedel wrote:*   

> cool, danke für deine hilfe    ich kann mich allerdings wahrscheinlich erst morgen oder mittwoch dranmachen das zu testen, mein amd90 hat ausgedient und dann kommt erst mein mein neuer p2/266. Der 90er is einfach nur übel, braucht 5 minuten zum booten, dauernd kernel panic, apache braucht auch nochmal ca. 7 minuten und ääähhhh...
> 
> Naja, ich werd dann bericht abliefern 

 

was ist denn an dem 90er so schlecht? nagut, gentoo würd ich da nicht drauf laufen lassen oder irgendwas drauf kompilieren, noch nicht mal wenn ich nichts mit meiner zeit anzufangen wüsste. wenn du den trotzdem weiter "nutzen" möchtest, dann schau dir vielleicht mal OpenBSD (und bitte, keine flames an dieser stelle, als firewall/router IMHO besser als gentoo) an, ist kompakter und es gibt mehr sachen als binaries (wobei es ausser squid und nem filter dafür nichts weiter braucht, als das base-system). da sind sogar die meisten flavors (use-flags) der ports bereits als packages verfügbar. du kannst es natürlich auch mit gentoo machen, aber wenn du auf deinen älteren kisten software den "gentoo-way" installierst, dann scheinst du ja ne menge langeweile zu haben  :Wink: .

mit obsd kannst übrigens sehr einfach bridgen/loggen oder die pakete filtern und loggen. den router, der dir die pakete forewarded hast in 10 minuten laufen (nagut, plus 15 min fürs disklabel durchblicken  :Wink: ).

----------

## doedel

 *Quote:*   

> was ist denn an dem 90er so schlecht?

 

ich will nen älteren rechner um dies und das auszutesten, der darf dann auch mal nächte lang compilieren, wenn was viel erfahrung bei rauskommt, nehm ich das in kauf, aber mit dem kannste sowas echt vergessen. und auf dem 266er bekomm ich dann sogar noch xorg-x11 mit mozilla o.ä. flüssig zum laufen und ich kann nebenher noch ein bisschen "rumgurken".

 *Quote:*   

>  nagut, gentoo würd ich da nicht drauf laufen lassen

 

mich fasziniert gentoo, ich kann machen wozu ich lust habe und hab meine freiheit, gut teilweise mag emerge nicht so wie ich will  :Very Happy:  aber das bekommt man auch hin, solche sachen wie fedora core und suse sind zwar ganz angenehm usw. aber du hast gleich mal 10g beinander für nen Office-PC wo du nur Musik, Streams, Videos, Officearbeiten und n bisschen surfen machst/tust. Da gefällt mir gentoo viel besser, drum will ich gar kein anderes mehr, und durch gentoo hab ich erst das verständis für linux enwtickelt.

 *Quote:*   

> dir vielleicht mal OpenBSD

 

vlt wenn ich anfange linux zu hassen, im moment passts mir so und ich möcht erst mal meine "linuxkenntnissse" aufbessern, bevor ich wieder was neues anpack.

hab auch schon so sachen wie fli4l auf bsd basis gesehen, aber ich will sowas selber hinbekommen.

 *Quote:*   

> "gentoo-way" installierst, dann scheinst du ja ne menge langeweile zu haben . 

 

nein, ich will lernen.

----------

## think4urs11

 *sschlueter wrote:*   

> Ich habe noch nie mit einem dhcp relay agent gearbeitet. Kannst du mir daher erklären, was das Ding für einen Sinn haben soll, wenn es doch deiner Aussage nach weder mit noch ohne relay funktioniert?

 

OK kein Problem, ich hätte es vielleicht gleich etwas ausführlicher schreiben sollen.

'billige' DHCP-Server wie die diversen SoHo-Router können nur einen DHCP-Scope verwalten.

Dieser DHCP-Scope ist normalerweise in dem/für das IP-Netz eingerichtet indem sich auch die interne Schnittstelle des Routers befindet, also z.B. 

interne Karte = 192.168.0.1

DHCP-Scope = 192.168.0.50 - 192.168.0.100

Dann gibt es einen PC der als weiterer Router dient, wiederum mit 2 NIC; einmal 192.168.0.2 und auf der anderen Seite z.B. 192.168.100.1.

Im Segment 192.168.100.x sollen nun weitere Clients angeschlossen werden die mittels DHCP IP-Adressen bekommen sollen.

Kommt nun z.B. eine Anfrage aus 192.168.100.x herein passiert folgendes:

- der Client 'hinter PC-B' sendet einen DHCP-Request

- PC-B empfängt diesen (da broadcast)

- PC-B arbeitet als dhcp relay, daher wandelt er den broadcast request in einen unicast um und schickt ihn weiter an den konfigurierten DHCP-Server, in dem Fall 192.168.0.1

- dabei trägt sich PC-B in den dhcp-request als relay agent ein (im Feld GIADDR)

- der DHCP-Server vergibt nun (wenn GIADDR bestückt ist) anhand dieses Feldes aus welchen Range er eine Adresse vergeben muß

- sofern möglich gibt er diese Adresse raus

Im Fall 'Billig-DHCP' ist es aber nun so das diese das GW-Feld nicht auswerten und/oder nicht mehr als einen Scope verwalten können. Oft scheitert es alleine schon daran das ein solcher DHCP mit einer als unicast eingehenden Anfrage nichts anfangen kann - er 'kennt' nur dhcp-requests via broadcast.

Ergo kann der request entweder nicht bearbeitet werden - oder aber, was noch schlimmer wäre - er wird ohne Beachtung der GIADDR bearbeitet, eine Adresse herausgegeben mit der der Client letztlich aber nichts anfangen kann.

Warum? Naja, die IP die er im zweiten Fall bekommt paßt ja nur in ein Netzwerksegment in dem der Client gar nicht phsyikalisch hängt. Dadurch kann er sein Default-GW (das ja i.d.R. mitgeliefert wird) erreichen usw. usf.

 *sschlueter wrote:*   

> Einfaches Routing oder Bridging sollte ausreichen. Es geht ja nur darum, einen Rechner zwischen LAN und DSL-Router zu stellen. Doppeltes NAT ist in diesem Fall unnötig.

 

Sollte ist genau der Punkt, weil ...

Das setzt voraus das das eigentliche Gateway auch mit IP-Adressen auf der internen Seite sauber umgehen kann die nicht dem eigenen internen Segment entsprechen, d.h. nur über ein Gateway von intern mit dem Gerät kommunizieren.

Ich weiß definitiv von min. einem Netgearmodell der genau das nicht kann (im Büro steht so ein Ding)- dann *mußt* du mit NAT an dieser Stelle arbeiten oder aber damit leben das du nie über den DSL-Router ins Internet kommst.

----------

## makenoob

 *doedel wrote:*   

>  *Quote:*   dir vielleicht mal OpenBSD 
> 
> vlt wenn ich anfange linux zu hassen, im moment passts mir so und ich möcht erst mal meine "linuxkenntnissse" aufbessern, bevor ich wieder was neues anpack.
> 
> hab auch schon so sachen wie fli4l auf bsd basis gesehen, aber ich will sowas selber hinbekommen.
> ...

 

ich wollt dir nur nen tipp geben, wo du bei nem basis-system sehr viel dabei hast (natürlich alles off by default, sonst wäre es ja nicht secure by default  :Wink: )

zu dem selber hinbekommen, bei bsd kannst/musst du das schon selber konfigurieren, die vorteile sind einfach nur, dass du hier eine ausgezeichnete doku - sorry jungs, aber die manpages sind teilweise *wääähhh* im gegensatz - dabei hast und eigentlich schon alles im basisystem drinne.

du wirst lernen, wenn du nicht lesefaul bist. viele sachen sind dann auch für linux anwendbar, vlt. ein wenig anders, und - wie ich feststellen musste - wesentlich komplizierter, aber sie sind "übertragbar". war nur ein tipp von mir, musst ja nicht nehmen, wenns dir nicht gefällt. aber ab und an tut mal ein blick über den tellerrand nicht weh und auch not  :Wink: 

nichts für ungut  :Wink: 

marc

----------

## sschlueter

@Think4UrS11: Vielen Dank für die DHCP-Server-Erklärung  :Smile: 

----------

## think4urs11

gern geschehen   :Smile: 

----------

