Nefunkcni traceroute za portforwardem

Petr Pisar petr.pisar na atlas.cz
Pátek Prosinec 2 08:56:03 CET 2005


Ladislav Józsa napsal(a):
> Dobry den,
> 
> narazil jsem na zajimavy problem s traceroute. Mam od providera 
> pridelenou verejnou adresu, tak ze zarizeni pred mym routerem preposila 
> vsechny pakety na tento stroj na interface eth1. Pri spusteni traceroute 
> ze zdrojove adresy odpovidajici eth1 napr. na www.nix.cz vsechno jede 
> tak jak ma. Pokud ale spustim prikaz
> 
> traceroute -i eth0 www.nix.cz

strace traceroute -i eth0 147.251.53.75 udela toto:

socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
setsockopt(3, SOL_IP, IP_RECVERR, [1], 4) = 0
setsockopt(3, SOL_IP, IP_TTL, [1], 4)   = 0
setsockopt(3, SOL_IP, IP_TOS, [0], 4)   = 0
setsockopt(3, SOL_IP, IP_MTU_DISCOVER, [0], 4) = 0
setsockopt(3, SOL_SOCKET, SO_DONTROUTE, [0], 4) = 0
setsockopt(3, SOL_SOCKET, 0x1d /* SO_??? */, [1], 4) = 0
setsockopt(3, SOL_SOCKET, 0x19 /* SO_??? */, [812151909], 5) = 0
bind(3, {sin_family=AF_INET, sin_port=htons(64000), 
sin_addr=inet_addr("0.0.0.0")}}, 16) = 0
connect(3, {sin_family=AF_INET, sin_port=htons(33434), 
sin_addr=inet_addr("147.251.53.75")}}, 16) = 0
sendmsg(3, {msg_name(0)=NULL, 
msg_iov(1)=[{"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"..., 40}], 
msg_controllen=0, msg_flags=0}, 0) = 40

Coz, podle mne a podle manulu znamena, ze se vybodne na smerovaci 
tabulky a posila pakety natvrdo ze zvoleneho rozhrani (eth0), i kdyz 
podle smerovacich tabulek by mely odchazet pres jine (eth1). Kdyz si k 
tomu pustite tcpdump -i eth0, tak uvidite, kde ty pakety konci.

Ostatne je to popsany v manualovy strance.

--Petr


Další informace o konferenci Linux