programme auf bestimmte interfaces beschränken

hi leute

ich hab eine frage zu eigentlich allen programmen des systems, wie kann ich ein bestimmtes auf ein interface beschränken? also zb 1: wget -> eth0 2: wget -> eth1 3: tuxload -> ath0 4: tuxload -> ath1

mir ist es schon öfter aufgefallen dass es geht, aber da war es der fall das die betreffenden programme das als parameter mit übergeben bekommen haben. und wie sieht das ganze programmiertechnisch aus, also was schreibt man in den sourcecode damit das programm nur noch das besagte interface nutzt?

vielen dank
 
naja, im fall von wget wird einfach das interface genommen über das nach draussen geroutet wird. wget siedelt sich aber nicht da an, wo direkter kontakt zum interface hergestellt wird.

ip route
alternativ:
sudo route -n
 
kannst du das etwas näher erläutern oder quellen zum weiterlesen angeben ... wie kann ich dem programm das interface zum benutzen zuweisen, so dass es nur über das daten schickt?
 
Zu wget siehe 'man wget' Parameter '--bind-address'.

Zur Programmierung siehe z.B. die Quelltexte von wget. ;)

Oder halt den Weg über die Beschränkung der Routen, indem du z.B. statische Routen zu bestimmten Zielen setzt. Siehe 'man route' und sofern du iproute2 installiert hast auch 'man ip', wobei du iproute mit ziemlicher Sicherheit brauchen wirst, da 'route' relativ statisch ist.
 
wenn ich das richtig verstehe sage ich dem kernel dass alle pakete mit dem ziel 123.123.123.123 bitte über ath0 gesendet werden sollen als beispiel ... ok das ist schonmal etwas ... nur wenn ich das selbe ziel (rapidshare zb) habe also den einen ip-bereich, wie kann ich dann 2 instanzen des programms verschiedene routen zuweisen, die praktisch das selbe ziel haben?
 
Original von public
wie kann ich dann 2 instanzen des programms verschiedene routen zuweisen, die praktisch das selbe ziel haben?

Das geht nur auf Programmebene oder mit einem Content-Filter bzw. einem IDS, das überprüft von welchem Socket die Pakete kommen bzw. für welchen Socket sie bestimmt sind und das diese Sockets eindeutig den Programminstanzen zuordnet. Happy Coding. ;)
 
Zurück
Oben