verschiedene "Netzwerkumgebungen"
verschiedene "Netzwerkumgebungen"
Hi,
Ich habe zwei Netzwerkkarten in meinem Rechner. (Dienstliches und Privates Netz.)
Nun habe ich zwei Programme, von denen das eine nur auf die erste und das andere nur auf die zweite Netzwerkkarte zugreifen können soll.
Ich möchte also $privates_Programm quasi in einer Art Umgebung so starten, das es nur noch das private Interface sieht/benutzt.
Irgend ne Idee ob/wie das möglich ist?
Ich habe zwei Netzwerkkarten in meinem Rechner. (Dienstliches und Privates Netz.)
Nun habe ich zwei Programme, von denen das eine nur auf die erste und das andere nur auf die zweite Netzwerkkarte zugreifen können soll.
Ich möchte also $privates_Programm quasi in einer Art Umgebung so starten, das es nur noch das private Interface sieht/benutzt.
Irgend ne Idee ob/wie das möglich ist?
Also bei manchen Programmen (z.b. Samba) kannst du in der config angeben, welches Interface das Programm verwenden soll.
Müsstest du mal schauen, ob die Programme das alle unterstützten, die du verwendest.
Noch ein kleines Beispiel:
Dies steht z.b. in meiner /etc/samba/smb.conf und sorgt dafür, das Samba nur am eth0 "lauscht".
Müsstest du mal schauen, ob die Programme das alle unterstützten, die du verwendest.
Noch ein kleines Beispiel:
Code: Alles auswählen
interface = eth0
Danke erstmal.
Mir geht es aber nicht um irgendwelche Server, die Dienste anbieten, sondern Clients die Dienste nutzen.
Ich möchte mir zum Beispiel mein Browser so starten, das er nur das eine Interface benutzt.
Alo sowas wie:
Nur wie bastel ich mir dazu einen Wrapper. Mir fallen momentan nur möglichkeiten ein, das global für alle Programme zu machen. Ich hätte aber gerne gleichzeitig zwei Browser offen; einen für jedes Netz.
Any ideas?
Mir geht es aber nicht um irgendwelche Server, die Dienste anbieten, sondern Clients die Dienste nutzen.
Ich möchte mir zum Beispiel mein Browser so starten, das er nur das eine Interface benutzt.
Alo sowas wie:
Code: Alles auswählen
$ USE_INTERFACE=eth0 mozilla_wrapper # starte einen Mozilla der seine Anfragen nur nach eth0 schickt
$ USE_INTERFACE=eth1 mozilla_wrapper # gleiches, aber nur eth1 soll verwendet werden.
Any ideas?
- emge
- Beiträge: 1525
- Registriert: 20.10.2003 22:05:46
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: 50° 45' 0" N 12° 10' 0" E
Versteh ich nicht. Wenn du nur in beiden Netzen "surfen" willst, dann sollte das doch gehen, da ja die IP-Pakete über die route-Einträge schon an das passende Interface gesendet werden.michas hat geschrieben:... Ich hätte aber gerne gleichzeitig zwei Browser offen; einen für jedes Netz...
Grüße, Marco
Ich hab aber prinzipiell auf beiden Interfaces das komplette Internet zur Verfügung.emge hat geschrieben: Versteh ich nicht. Wenn du nur in beiden Netzen "surfen" willst, dann sollte das doch gehen, da ja die IP-Pakete über die route-Einträge schon an das passende Interface gesendet werden.
Ich möchte nun aber explizit angeben welches Interface mein Client nutzen soll.
(private Programme sollen nur das private Interface sehen und offizielle nur das offizielle.)
Die einfache Möglichkeit wäre, immer nur ein Interface UP zu haben.
Ich erledige meine Arbeit auf dem einen Interface, fahre das runter das andere hoch, und abbeite dann auf dem anderen weiter. Allerdings möchte ich auf beiden gleichzeitig arbeiten können.
Die andere Möglichkeit wäre wohl, das ich z.B. zwei Nutzer einrichte und dann nach UID "route". (Ich glaube mit iptables sollte sowas in die Richtung machbar sein...)
Das hätte den Vorteil, das ich z.B. "normalerweise" eth0 verwende und wenn ich eth1 brauch, starte ich das eintsprechtente Programm einfach per sudo unter dem anderen Nutzer, dessen Traffic nach eth1 umgebogen wird.
Letzteres klingt vom Prinzip her zwar danach was ich suche, scheint mir aber irgendwie viel zu kompliziert. Gibt es da nicht eine elegantere/sinnvollere Lösung dafür?
Jetzt helft mir doch mal auf die Sprünge.
(oder is da noch ein Denkfehler drin?)
Ok, anderes Beispiel:emge hat geschrieben: Ein und dasselbe Netz und 2 NW-Interfaces? Ich begreifs wohl doch nicht.
Du hast ein Netzwerk.
Du hast 2 (offizielle) IP-Adressen, die du für deinen Rechner verbraten kannst.
Du willst für die normale Arbeit IP1 verwenden.
Dein $Filesharingtool soll IP2 verwenden.
Wie sage ich 's meinem Debian?
Hab doch gesagt das du schauen musst, ob du das Programm auf ein Interface binden kannst, so wie beim Samba mit dem "interface = eth0". Samba ist zwar nur ein Dienst der etwas anbietet, doch gibts bestimmt auch bei anderen Programmen soetwas, das man sagt, benutze nur interface eth0 bzw eth1.michas hat geschrieben: Du hast ein Netzwerk.
Du hast 2 (offizielle) IP-Adressen, die du für deinen Rechner verbraten kannst.
Du willst für die normale Arbeit IP1 verwenden.
Dein $Filesharingtool soll IP2 verwenden.
Wie sage ich 's meinem Debian?
Eine andere Lösung fällt mir spontan nicht ein.
Und ein Filesharingtool kann man sicherlich auf ein Interface binden.
Sicher das sowas überhaupt möglich ist?Friesi hat geschrieben:Hab doch gesagt das du schauen musst, ob du das Programm auf ein Interface binden kannst,
Also das man /Server/ an ein bestimmtes Interface binden kann ist mir bekannt.
Bei Clients hab ich das eigentlich nich nie gesehen.
Wie würdest du z.B. ein wget/netcat/$anderes_tool als /Client/ irgendwohin "binden"?
Ein "man wget" sagte mir z.b. das hier:
Code: Alles auswählen
--bind-address=ADDRESS
When making client TCP/IP connections, "bind()" to ADDRESS on the
local machine. ADDRESS may be specified as a hostname or IP
address. This option can be useful if your machine is bound to
multiple IPs.
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
statisches Routen vielleicht?
spezielle IP Adresse an die ein Client sich binden muss/möchte einfach per "route" Befehl direkt statisch an ein Interface binden?
aber prinzipell speziell bei p2p ist das eigentlich nicht möglich.. höchstens du machst noch nen Proxy dazwischen oder nen speziellen Router
und sind Privates und Arbeitesnetz beide im gleichen IP Bereich??
spezielle IP Adresse an die ein Client sich binden muss/möchte einfach per "route" Befehl direkt statisch an ein Interface binden?
aber prinzipell speziell bei p2p ist das eigentlich nicht möglich.. höchstens du machst noch nen Proxy dazwischen oder nen speziellen Router
und sind Privates und Arbeitesnetz beide im gleichen IP Bereich??
In diesem scenario, ja.Savar hat geschrieben:und sind Privates und Arbeitesnetz beide im gleichen IP Bereich?
Es geht gerade darum, das das gewählte Interface nicht von der Zieladresse oder so, sondern von der "Umgebung" in der das Programm gestartet wurde abhängen soll.
Dabei soll "Umgebung" irgendwas sein was man beim Starten festlegen kann. (UID, Umgebungsvariable, etc.)
Idealerweise so, das das gestartete Programm nur "sein" Interface sieht, das muss aber nicht sein, solange es andere Interfaces in Ruhe lässt.