bind(2) na neexistujici rozhrani

Jirka Kosina jikos na jikos.cz
Pondělí Listopad 26 12:53:04 CET 2001


On Mon, 26 Nov 2001, Jan Kasprzak wrote:

> 	V souvislosti s experimentovanim s high-availability jsem
> narazil na nasledujici vec: Kdyz udelam bind(2) na IP adresu, ktera
> nepatri existujicimu lokalnimu rozhrani, tak bind(2) spadne
> Xinetd pise:
> bind failed (Cannot assign requested address (errno = 99)). service = telnet
> 	Nedelal jsem strace, ale predpokladam ze to skutecne jadro
> reklo na volani bind(2) ne. Proc mi jadro nepovoli bind() na nelokalni
> adresu? Resp. jak by se stav po takovem bind()u lisil od toho, kdy
> dam ifconfig dummy:0 <nejaka_ip_adresa>, dam bind() na tuhle IP adresu
> (treba spustim xinetd) a pak ifconfig eth0:1 down?

Rekl bych, ze jadro skutecne nema duvod bind() na nelokalni adresu 
nepovolit, a mam pocit, ze to ani nedela:
bind(8, {sin_family=AF_INET, sin_port=htons(1234),sin_addr=inet_addr("0.49.19.198")}}, 16) = 0

Tu ip adresu jsem si vymyslel, rozhodne nepatri zadnemu z mych sitovych 
rozhrani, a jak vidno, bind() normalne uspel.

Cili bych rekl, ze je to spis nejaka vlastnost xinetd (?)

-- 
JiKos.




Další informace o konferenci Linux