Portál AbcLinuxu, 10. května 2025 23:04

Dotaz: Traceroute v rámci siete timeoutuje

9.10.2018 09:43 drunkezz | skóre: 34 | blog: kadeco
Traceroute v rámci siete timeoutuje
Přečteno: 306×
Odpovědět | Admin

Cau

mam dva linux hosty v tej istej sieti 192.168.5.0/24

spravim cisty (bez optionov) traceroute z hostu A na host B

prvy traceroute prejde cisto

 

11:44:57.987727 IP hostA.40462 > hostB.33434: UDP, length 32
11:44:57.987808 IP hostB > hostA: ICMP hostB udp port 33434 unreachable, length 68
11:44:57.987819 IP hostA.50416 > hostB.33435: UDP, length 32
11:44:57.987824 IP hostB > hostA: ICMP hostB udp port 33435 unreachable, length 68
11:44:57.987830 IP hostA.45088 > hostB.33436: UDP, length 32
11:44:57.987834 IP hostB > hostA: ICMP hostB udp port 33436 unreachable, length 68
11:44:57.987840 IP hostA.34888 > hostB.33437: UDP, length 32
11:44:57.987844 IP hostB > hostA: ICMP hostB udp port 33437 unreachable, length 68
11:44:57.987850 IP hostA.41011 > hostB.33438: UDP, length 32
11:44:57.987854 IP hostB > hostA: ICMP hostB udp port 33438 unreachable, length 68
11:44:57.987860 IP hostA.53528 > hostB.33439: UDP, length 32
11:44:57.987864 IP hostB > hostA: ICMP hostB udp port 33439 unreachable, length 68
11:44:57.987870 IP hostA.45269 > hostB.33440: UDP, length 32
11:44:57.987878 IP hostA.55936 > hostB.33441: UDP, length 32
11:44:57.987881 IP hostA.47068 > hostB.33442: UDP, length 32
11:44:57.987885 IP hostA.55858 > hostB.33443: UDP, length 32
11:44:57.987889 IP hostA.40855 > hostB.33444: UDP, length 32
11:44:57.987897 IP hostA.33172 > hostB.33445: UDP, length 32
11:44:57.987900 IP hostA.50861 > hostB.33446: UDP, length 32
11:44:57.987907 IP hostA.43520 > hostB.33447: UDP, length 32
11:44:57.991538 IP hostA.55029 > hostB.33448: UDP, length 32
11:44:57.991561 IP hostA.32783 > hostB.33449: UDP, length 32

Ked hned pustim dalsi traceroute skonci takto

traceroute to hostB (192.168.5.25), 30 hops max, 60 byte packets
 1  hostB (192.168.5.25)  2.624 ms * *

a tcpdump

11:47:07.604111 IP hostA.40268 > hostB.33434: UDP, length 32
11:47:07.604215 IP hostB > hostA: ICMP hostB udp port 33434 unreachable, length 68
11:47:07.604242 IP hostA.52465 > hostB.33435: UDP, length 32
11:47:07.604262 IP hostA.51130 > hostB.33436: UDP, length 32
11:47:07.604275 IP hostA.48542 > hostB.33437: UDP, length 32
11:47:07.604294 IP hostA.55901 > hostB.33438: UDP, length 32
11:47:07.604307 IP hostA.49795 > hostB.33439: UDP, length 32
11:47:07.604320 IP hostA.40561 > hostB.33440: UDP, length 32
11:47:07.604328 IP hostA.45032 > hostB.33441: UDP, length 32
11:47:07.604335 IP hostA.41313 > hostB.33442: UDP, length 32
11:47:07.604342 IP hostA.56709 > hostB.33443: UDP, length 32
11:47:07.604349 IP hostA.45292 > hostB.33444: UDP, length 32
11:47:07.604356 IP hostA.44391 > hostB.33445: UDP, length 32
11:47:07.604363 IP hostA.43217 > hostB.33446: UDP, length 32
11:47:07.604370 IP hostA.46203 > hostB.33447: UDP, length 32
11:47:07.604377 IP hostA.50124 > hostB.33449: UDP, length 32
11:47:07.604390 IP hostA.35499 > hostB.33448: UDP, length 32

Ked pockam 5 sekund tak ten dalsi traceroute je v poriadku AKoby existoval nejaky limit ktory toto sposobuje.. Nemate nahodou ideu aky limit resp. co to moze sposobovat?

Dik


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.10.2018 10:09 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Traceroute v rámci siete timeoutuje
Odpovědět | | Sbalit | Link | Blokovat | Admin

Např.

  iptables -A OUTPUT -p icmp -m limit --limit 1/s --limit-burst 5 -j ACCEPT
  iptables -A OUTPUT -p icmp -j DROP

na hostB nebo

  iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 5 -j ACCEPT
  iptables -A INPUT -p icmp -j DROP

na hostA. Podle toho, že je nevidí tcpdump (i když nepíšete kde), tipoval bych spíš první možnost.

9.10.2018 10:22 drunkezz | skóre: 34 | blog: kadeco
Rozbalit Rozbalit vše Re: Traceroute v rámci siete timeoutuje

Dik

firewall je na oboch hostoch vypnuty a je to v ramci jednej siete

traceroute je udp

testoval som to na troch styroch dvojiciach serverov v roznych sietach datacentrach atd,..

D.

9.10.2018 10:52 V.
Rozbalit Rozbalit vše Re: Traceroute v rámci siete timeoutuje
A vidíte pořád stejnou MAC adresu serveru za stejnym a jedinym portem?
9.10.2018 11:56 drunkezz | skóre: 34 | blog: kadeco
Rozbalit Rozbalit vše Re: Traceroute v rámci siete timeoutuje

Ano

je to na jednom switchi

kludne to skuste sami na dvoch linuxoch na rovnakej sieti ako sa to chova

D.

Řešení 1× (drunkezz (tazatel))
9.10.2018 12:04 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Traceroute v rámci siete timeoutuje

Tak co třeba

  /proc/sys/net/ipv4/icmp_ratelimit
  /proc/sys/net/ipv4/icmp_ratemask
9.10.2018 12:56 drunkezz | skóre: 34 | blog: kadeco
Rozbalit Rozbalit vše Re: Traceroute v rámci siete timeoutuje

Tvl je to ratelimit

2x som to testil (asi sysctl teraz som to echoval rovno do fajlu) a bolo to zle.

teraz to frci

Dik

vyriesene

D.

Řešení 1× (drunkezz (tazatel))
9.10.2018 12:30 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Traceroute v rámci siete timeoutuje
Odpovědět | | Sbalit | Link | Blokovat | Admin
To je pochopitelné. Pokud máš lokální síť tak už první paket s TTL 1 dorazí do cíle. A u UDP nemáš vůbec specifikováno co se stane s paketem UDP, který přijde na zavřený port. (ani co se stane, když přijde na otevřený port a aplikace mu nerozumí.) V ICMP je pouze specifikováno
      If, in the destination host, the IP module cannot deliver the
      datagram  because the indicated protocol module or process port is
      not active, the destination host may send a destination
      unreachable message to the source host.
U protokolu UDP si zkus přes nmap oskenovat UDP porty. je to strašně nespolehlivé, protože ty implementace neodpovídají nemaj závazné odpovědi. Pokud pošleš ICMP ECHO tak odpověď dostaneš. a většinou také dostaneš odpovědi z routerů po ceste (ICMP zpráva Time Exceeded Message/time to live exceeded in transit i když tam je také specifikováno.
      If the gateway processing a datagram finds the time to live field
      is zero it must discard the datagram.  The gateway may also notify
      the source host via the time exceeded message.
Takže ti to také nemusí poslat, ale často pošlou.
9.10.2018 12:53 drunkezz | skóre: 34 | blog: kadeco
Rozbalit Rozbalit vše Re: Traceroute v rámci siete timeoutuje

AHoj

Dik

ALe:

11:44:57.987808 IP hostB > hostA: ICMP hostB udp port 33434 unreachable, length 68

o tom ze icmp udp port unreachable (pre traceroute validna, kedze ICMP dorucuje odpovede ) pre vsetky tri proby je OK. dalsie 2 su zas OK ale potom timeout

A je tam viac menej presny cas kedy zasa ten traceroute doruci odpoved spravne

MOj problem je to ze sa to opakuje prilis deterministicky resp je tam proste pattern akoby to bolo nieco co sa da nastavit (alebo je to vlastnost IPstacku obecne?)


Dakujem
9.10.2018 14:02 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Traceroute v rámci siete timeoutuje
Ještě jednou. ICMP je řídící protokol, který většinou se posílá, když někdo pošle zpět info, že něco s nějakým paketem je chybně. Současně do toho paketu dá IP hlavičku a 64 bitu z hlavičky vloženého protokolu. traceroute tyhle ICMP pakety přijímá (mimochodem práve proto, že traceroute zasahuje do IP stacku a jednak mění TTL a jednak bere ICMP zprávy, tak musí jet pod rootem a proto má nastaven SUID) a propáruje z odesílaným paketem, změří čas a napíše ti ho (připadně ještě se ptá PTR záznamu v DNS na jméno). Na tom cílovém místě ti ale někdo musí tím ICMP odpovědět.

zkus si porovnat, když posíláš UDP pakety
traceroute www.nic.cz
a když posíláš ICMP Echo pakety
traceroute -I www.nic.cz
(musíš být root pro změnu na ICMP.) V prvním případě dostaneš jen routery. v druhém případě ti odpoví i cílový systém a traceroute skončí. (A někdy ti ten IP stack odpoví i port unreachable pro UDP packet, ale fakt málo kdy. A mám dojem, že v současnosti je to spíše náhodné i z toho důvodu možných útoků) A to, že po cestě traceroute jsou někde hvězdičky je z toho, že nějaký router (jak jsem psal v předchozím příspěvku) MAY posoudí jako "nemusím poslat" a nemáš info.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.