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