Odchozi interface

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Úterý Únor 27 16:14:14 CET 2001


On Tue, 27 Feb 2001, Petr Prazak wrote:

>  Pridal jsem na serveru alias na eth0, a nyni vsechny spojeni ven
>  chodi pres eth0:1. Jak to ? Pritom v route tabulce jsou rovnocenne.
>  Da se nejak urcit ktery interface se pouzije pro spojeni ven
>  (globalne, v aplikaci muzu zavolat bind na dany iface) ?

Pokud se ze socketu, jehoz lokalni adresa neni dosud urcena (napr. volanim
bind(2)), zacne neco posilat, jadro samo lokalni adresu urci: vybere si
nejake pekne cislo portu a IP adresu vezme tu, odpovidajici interfejsu,
pres ktery by se smeroval provoz na IP adresu, se kterou ma byt
komunikovano.

Pokud mate na prislusnou cilovou adresu v routovaci tabulce dva rovnocenne
zaznamy (napr. pres eth0 a eth0:1), tak si to zrejme vybere jeden z nich
podle toho, jak to zrovna implemenacne vyslo. Resenim je jeden z tech
zaznamu zrusit.

Trochu divoke je to v pripade, ze mate policy routing, kde se zohlednuje
zdrojova IP adresa (ktera samozrejme behem vyse popisovaneho procesu neni
znama, protoze ji ten proces ma teprve urcit). Nebudu predstirat, ze ted
vim, jak to dela zrovna Linux, ale v nekterych systemech se oportunisticky
pro ucely vyhledani prislusneho interfejsu predpoklada, ze zdrojova adresa
je 0.0.0.0.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux