Heimnetzwerke - WIFI, LAN, Router und Co 16.518 Themen, 81.108 Beiträge

Wie traffic weiterleiten

malte simon / 15 Antworten / Baumansicht Nickles

Hallo ich m;chte den traffic von pc a ueber pc b an pc c leiten.

D.h. PC C ist eine Webseite PC A soll nun die IP von PC B eingeben und die Webseite von PC C sehen.

Das selbe bei FTP...

PC A und C haben winXP PC B hat Linux installiert.

Ist PC C nicht erreichbar sollte PC B auch nicht auf Pings von PC A antworten. PC B sollte aber fue alle anderen PCs ausser A sich normal verhalten.

MfG

bei Antwort benachrichtigen
the_mic malte simon „Wie traffic weiterleiten“
Optionen

Sind A und C im gleichen Subnet? Dann bridge die Netzwerkkarten auf PC B.
Sind A und C nicht im gleichen Subnet? Route zwischen A und C und setze auf A die Adresse von B als Gateway für C.

Sortiere die Aussagen in deinem Posting sonst nochmals, schreibs mal mit etwas mehr Infos und weniger Tippfehlern ;-)

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
malte simon the_mic „Sind A und C im gleichen Subnet? Dann bridge die Netzwerkkarten auf PC B. Sind A...“
Optionen

Alle PCs sind mit eignen IPs im Internet.

Ich möchte bei PC A und C nichts an der config ändern.

bei Antwort benachrichtigen
the_mic malte simon „Alle PCs sind mit eignen IPs im Internet. Ich möchte bei PC A und C nichts an...“
Optionen

Dann brauchst du IPTables Portforwarding für Port 21 und 80:

echo 1 > /proc/sys/net/ipv4/ip_forward
DESTIP="IP von C"
PORTS="21 80"
for PORT in $PORTS; do
iptables -t nat -A PREROUTING -p tcp --destination-port $PORT -j DNAT --to-destination $DESTIP
done

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
malte simon the_mic „Dann brauchst du IPTables Portforwarding für Port 21 und 80: echo 1...“
Optionen

Ich möchte alle Ports weiterleiten. PC A soll keinen Unterschied zwischen PC B und C merken.

bei Antwort benachrichtigen
the_mic malte simon „Ich möchte alle Ports weiterleiten. PC A soll keinen Unterschied zwischen PC B...“
Optionen

Dann machst du halt komplettes DNAT:
echo 1 > /proc/sys/net/ipv4/ip_forward
DESTIP="IP von C"
iptables -t nat -A PREROUTING -j DNAT --to-destination $DESTIP

selber denken dafür war wohl zu kompliziert?

Allerdings ist das total witzlos, da kannst du ja grad die IP von C verwenden. Das einzige, was das bringt, ist langsamere Datenübertragung, grössere Latenz und grössere Ausfallwahrscheinlichkeit.

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
REPI malte simon „Wie traffic weiterleiten“
Optionen

Du willst quasi eine eierlegende Wollmilchsau, ohne richtig zu verraten, wie die Netzwerktopologie der 3 Rechner aussieht und an der Konfiguration willst Du auch nichts ändern.

Wie kann PC C eine Webseite sein? Der kann doch höchstens eine Webseite hosten?
Um jetzt ggf. zielgerichtet durch Eingabe von IP und Port bzw. Rechnernamen und Port auf die dort liegende Webseite zugreifen zu können, muss Rechner C einen Webserver zur Verfügung stellen bzw. eine Anwendung laufen haben, die so etwas kann (Webinterface). Natürlich muss das Netzwerk auch so eingerichtet sein, dass die Rechner untereinander Zugrifssmöglichkeiten und -rechte haben.


Ist PC C nicht erreichbar sollte PC B auch nicht auf Pings von PC A antworten. PC B sollte aber fue alle anderen PCs ausser A sich normal verhalten.

Für solche Konfigurationen reicht mein Wissen nicht, falls es überhaupt gehen sollte!

Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen
malte simon REPI „Du willst quasi eine eierlegende Wollmilchsau, ohne richtig zu verraten, wie die...“
Optionen

PC C hat einen FTP und Webserver und einige dienste mehr.
Alle Drei PCs haben eigne vom ISP vergebene IPs.
Ich möchte an der Config von A und C nichts drehen. Von B schon.

bei Antwort benachrichtigen
Aragorn75 malte simon „PC C hat einen FTP und Webserver und einige dienste mehr. Alle Drei PCs haben...“
Optionen
Ich möchte an der Config von A und C nichts drehen. Von B schon.
Dann wird das nix. An B alleine langt es nicht.

Bei B müsstest du mindestens einen Proxyserver installieren, der die Anfragen an C weiterleitet sowie eine FW, die das ganze nur auf A beschränkt.
Dann musst du auf C wiederum eine Firewall installieren, die nur auf Anfragen von B reagiert und die von A+X verwirft.

Wenn du das nicht willst/kannst, vergess es einfach.
bei Antwort benachrichtigen
malte simon Aragorn75 „ Dann wird das nix. An B alleine langt es nicht. Bei B müsstest du mindestens...“
Optionen

Ich melde mich hier weil ich es will aber nicht kann.

C soll die Anfragen von A + X nicht verwerfen.
Leitet ein Proxyserver alle ports / protokolle um?

bei Antwort benachrichtigen
the_mic malte simon „Ich melde mich hier weil ich es will aber nicht kann. C soll die Anfragen von A...“
Optionen

Ein SOCKS-Proxy wird nur das weiterleiten, was du ihm sagst, dass er weiterleiten soll. Ein Proxy für höhere Protokolle (z.B. ein HTTP-Proxy) kann natürlich nur HTTP-Anfragen weiterleiten.

Ich empfehle weiterhin meine DNAT-Regeln. Das ist simpel, effizient und erfordert nur Änderung an B.

Dass die ganze Sache keine wirklich gute Idee ist, hab ich ja schon geschrieben.

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
malte simon the_mic „Ein SOCKS-Proxy wird nur das weiterleiten, was du ihm sagst, dass er...“
Optionen

Gibt es einen Weg das deine DNAT-Regeln nur für PC A gelten und nicht für PC xyz ?

bei Antwort benachrichtigen
the_mic malte simon „Gibt es einen Weg das deine DNAT-Regeln nur für PC A gelten und nicht für PC xyz ?“
Optionen
iptables -t nat -A PREROUTING -s $IPvonA -j DNAT --to-destination $DESTIP

Ich empfehle mal die Lektüre von man iptables oder ein paar einschlägigen Linux-Firewall-Howtos, damit du weisst, was du da überhaupt eintippst.
cat /dev/brain > /dev/null
bei Antwort benachrichtigen
malte simon the_mic „iptables -t nat -A PREROUTING -s IPvonA -j DNAT --to-destination DESTIP Ich...“
Optionen

habe nun folgendes probiert:

PC A 192.168.2.200
PC B 192.168.2.55
PC C 74.125.77.104 (google)

Auf PC B folgendes eingegeben:

echo 1 > /proc/sys/net/ipv4/ip_forward
ptables -t nat -A PREROUTING -s 192.168.2.200 -j DNAT --to-destination 74.125.77.104

nun müßte ich doch bei der eingabe von 192.168.2.55 von PC A aus die Seite von google sehen oder nicht? Das funktioniert leider nicht. Irgend wer einen Tipp?

bei Antwort benachrichtigen
Aragorn75 malte simon „habe nun folgendes probiert: PC A 192.168.2.200 PC B 192.168.2.55 PC C...“
Optionen

Dazu muss auf A aber auch B als Gateway eingetragen sein, sonst wird´s nix.

Wie wäre es denn, wenn du uns mal ein wenig ausführlicher dein Problem beschreibst (mehr als 3 Sätze) und was du damit bewirken möchtest. Ebenso die Netzwerkconfiguration, denn so wie es aussieht liegen A und B im gleichen Netz und nicht wie von dir beschrieben, in getrennten.
Dann wird es für uns auch klarer und wir können dir gezielter helfen.

bei Antwort benachrichtigen
malte simon Aragorn75 „Dazu muss auf A aber auch B als Gateway eingetragen sein, sonst wird s nix. Wie...“
Optionen

Später sind beide in getränten subs.
Zum Testen sind aber beide in einem Lan.
Ich möchte die config von A nicht ändern.

B soll erkennen das es eine Anfrage von A ist und diese an C weiterleiten. A soll keinen unterschied merken zwischen B und C außer den IPs.

bei Antwort benachrichtigen