Титла: При Ping: "Time to live exceeded" Публикувано от: Astor в Aug 24, 2005, 15:20 Здравейте, искам да ви питам защо когато се опитам да пинг-на компютър от локалната мрежа на доставчика ми (с ip адрес: 213.Х.Х.90)дава това:
Доставчика ни раздава реални IP адреси, аз съм с IP адрес: 213.Х.Х.45 и моят geutway е: 213.Х.Х.41. Т.е. НЕ ми връща отговор компютъра който се опитвам да ping-на, а самият gateway. Да не би доставчика ми да е решил да не може да се пингва от другата страна на рутера, и защо рутера връща такъв отговор, какво означава той (реже TLL-a)? Но освен този копютър имам пинг към всички интернет хостове. И още нещо, компютъра който се опитвам да пингна има gateway 213.Х.Х.89, защо не връща отказа от него, ами от моя? Титла: При Ping: "Time to live exceeded" Публикувано от: vic_semionov в Aug 24, 2005, 15:40 пробвай с ping -m 256
EDIT: иглежда прожлема е просто че между тебе и другата машина дето пингваш има прекалено много рутери, с опцията m се увеличава на 256 максималния им брой. Титла: При Ping: "Time to live exceeded" Публикувано от: Astor в Aug 24, 2005, 16:03 Здравей, благодаря за отговора, нотова: "ping -m 256" го няма като опция и мах TLL е 255, да не би да си имал в предвид ping -t 255? Ето какво дава:
Не мисля че има прекалено много рутери до този комп (комшия ми е човека все пак) според мен са мах 2. Според мен нещо реже tll-a по пътя към този компютър, но не виждам логика защо точно моя getaway го прави? По принцип доставчика не реже по Tll но точно този пиребител да не е решил да го резне? Титла: При Ping: "Time to live exceeded" Публикувано от: vic_semionov в Aug 24, 2005, 16:09 Да, това имах предвид. Сори, просто съм с друга ОС и опцията е с друга буква при мене, мислех че трябва и в линукс да е същата.
Не мога да кажа със сигурност, но ми се струва че нещо рутера на доставчика ти не е настроен добре щом те ти връщат TTL exceeded. Нещо сигурно са омазали рутирането. Май е най-добре да ги питаш тях. Титла: При Ping: "Time to live exceeded" Публикувано от: George Andonov в Aug 24, 2005, 16:17 Разбира се, че проблема не е в "твърде много маршрутизатори" по пътя! От теб до другия край на света (където и да е това
![]() Проблема е в неправилно конфигуриран Default Router или събнет маска на някои от гейтуеите. При сбъркана subnet, ефектът е следния: 1. Първият пинг минава. Някои от рутерите по пътя си update-ва рутинг таблицата и избира по-добър маршрут. 2. Вторият пинг минава по по-добрия маршрут! Като резултат двата съседни рутера си подхвърлят пакета докато той умре от старост (TTL). При сбъркан Default Router, ефектът е следния: 1. Нито един пинг не минава Защото двата съседни рутера си подхвърлят пакета докато той умре от старост (TTL). Пусни traceroute IP_address и ще видиш
![]() Титла: При Ping: "Time to live exceeded" Публикувано от: vic_semionov в Aug 24, 2005, 16:23 ![]() ![]() Титла: При Ping: "Time to live exceeded" Публикувано от: zeridon в Aug 24, 2005, 16:30 В интерес на истината е или зле конфигуриран рутер или умишлено изпълнение
за да се информираш traceroute ще видиш как се развъртат пакетите. Най-често подобна ситуация се получава когато доставчика си променя мрежовата топологи и съседните системи все още не са се осъзнали. Титла: При Ping: "Time to live exceeded" Публикувано от: George Andonov в Aug 24, 2005, 16:31 //offtopic Такъв ефект се получава и ако имаш Static NAT на машина от локалната ти мрежа.
Ако, от локално PC, направиш:
Първият пинг минава и всички следващи - не. Като си провериш рутинг таблицата на твоето PC виждаш: EXTERNAL_IP_address -> internal_IP_address(на изнесената машина) //ontopic Според мен тук е подобна ситуацията. Титла: При Ping: "Time to live exceeded" Публикувано от: George Andonov в Aug 24, 2005, 16:42
Аз мисля, че надали твоят доставчик е пуснал протоколи за динамично маршрутизиране между теб и съседите ти. ![]() ![]() По-вероятно е неподходяща конфигурация и като резултат ти и съседа ти нямате ping, fileshareing, торенти, няма игри в мрежа и т.н. Няма и вируси! Към Astor: Абе ти какво гледаш на съседа в канчето? ![]() Титла: При Ping: "Time to live exceeded" Публикувано от: Astor в Aug 24, 2005, 17:03 Здравейте пак. Ето какво дава traceroute 213.X.X.90:
Понеже съм зад домашния рутер за това се получава първия хоп, но нататък....? Та тази команда traceroute (tracert в win) не показва ли от къде минава пакета докато стигне до дадената цел? @gandonov: май не се получава точно както ти казваш, въобще не се появява рутер2. И под това StatikNAT какво разбираш?
Едит: За въпроса за канчето на съседа, просто ми е странно защо се получава така (по-точно не мога да си го обясня) и така все пак и аз се обучавам малко нали. Титла: При Ping: "Time to live exceeded" Публикувано от: George Andonov в Aug 24, 2005, 17:26 Относно "Static NAT" - Това беше само с образователна цел. Няма нищо общо с твоя случай. Игнорирай го и не се разсейвай с него.
Относно резултатите от твоя trace: Пинга от твоето PC(10.0.0.1) отива при Default Router-а ти (213.Х.Х.41) и тъпия рутер не го предава натам. Troubleshooting: 1. Направи trace до други IP адреси и виж какъв е ефекта: - Ако с всеки IP адрес е същото - проблема е че не му е конфигуриран Default Router (Но в този случай ти няма да имаш интернет) - Ако нямаш трасе до адресите от мрежата на доставчика - проблема е в неподходящ маршрут на рутера. (Това разбира се може да е нарочно, но ти си длъжен да изтормозиш доставчика си.) С две думи: дай резултатите и ще помагаме с въпросите към ISP-то. Малко инфо за traceroute(за Astor): traceroute изпраща ICMP пакети с променен TTL. Първият е с TTL - 1 . Вторият с 2. Третият - 3 и т.н. Маршрутизаторите по пътя връщат "Time to live exceeded" и traceroute ти трасира пътя. Титла: При Ping: "Time to live exceeded" Публикувано от: George Andonov в Aug 24, 2005, 17:38
Отговор на въпроса: Защо се получава така? Най-добре да ти дам пример. Може да го пробваш в къщи. Трябват ти две машини, с IP адреси A и B. На A Default Router е B На B Default Router е A На която и да е машина пишеш:
C е произволен IP адрес, но не от мрежата на A и B. Анализът на резултата ти остава за домашно. ![]() Титла: При Ping: "Time to live exceeded" Публикувано от: Astor в Aug 24, 2005, 17:41 Здравейте, Благодаря за отговора ти gandonov. Ето например traceroute към още един компютър от локалната мрежа (не го познавам човека и не знам даже дали е комшия) 213.Х.Х.93:
Ta този другия компютър ме съмнямва (по IP адреса съдя) че и той е със същия GW и пак е зад същия рутер където е и предния компютър (213.Х.Х90). А ето към някакъв сайт например:
От тези два цитата съдя че май има НАРОЧНА намеса на доставчика, но защо, и защо точно от рутера 213.X.X.41 (а дали е точно от този или от някой друг). Какво може да предодвратява с тази своя намеса ISP-то ми? Не сме правили чак такъв трансфер с комшията ми, че да му тварим мрежата и защо точно ще ни резне по TLL? Не схващам логика тук. Едит:
![]() Титла: При Ping: "Time to live exceeded" Публикувано от: Uvigii в Aug 24, 2005, 21:27 //off
И как точно го решава след първия пинг ? ?!?
Това може ли малко по-подробно да го обясните, че ме заинтригува ! Дали на х.х.х.90 няма стартирани услуги които не се харесват на доставчика ? А защо не опиташ с tcptraceroute Титла: При Ping: "Time to live exceeded" Публикувано от: Astor в Aug 24, 2005, 22:39 Здравейте, Uvigii поне аз не знам за такива услуги да са стартирани. А ето какво става при:
Титла: При Ping: "Time to live exceeded" Публикувано от: George Andonov в Aug 25, 2005, 12:47 Тъй като трейса ти дава това:
Защо - Не знам, но най-вероятно го е направил така: На твоя рутер (213.X.X.41) е добавил рутинг за 213.X.X.90 към себе си (213.X.X.41). Затова в трейса виждаш че пакета отива в 213.X.X.41, който го предава на 213.X.X.41 и пак на 213.X.X.41 и т.н. Решението е, да се обадиш на ISP-то и небрежно да поискаш да оправи достъпа ти до съседа. Може да му изпратиш и резултатите от твоя трейс. //offtopic: --- Към Uvigii: --- Особености при Static NAT:
При следната постановка: В локалната мрежа(net_A) имаш две (с адреси A1 и A2) машини, едната от които е Статично транслирана навън (Static NAT 1:1 A1 - C). Default Router и на двете е A3 Когато от A2 направиш: ping C Първият пинг минава A2 -> A3 -> A1 -> A2 (Обърни внимание, че се връща директно, а не през А3). Тогава A2 си добавя следния запис в рутинг таблицата: - за C през A1 Втория пинг не се изпраща през A3, а към A1. И тъй като A1 нищо не знае за C, пък и не е рутира (няма IP_forwarding) въобще не отговаря на разни "провокации" ![]() И всички следващи пингове - НЕ минават. Титла: При Ping: "Time to live exceeded" Публикувано от: Uvigii в Aug 25, 2005, 21:31 //off
Това как става при положение, че няма стартиран рутинг протокол и според мен тя е статична?! Титла: При Ping: "Time to live exceeded" Публикувано от: George Andonov в Aug 26, 2005, 09:55
Рутинг таблицата НЕ е статична! Тя се променя ръчно (с route add/del) или автоматично. Автоматична промяна на маршрутизиращата таблица се извършва при: - стартиран протокол за динамично маршрутизиране (RIP, OSPF, и т.н.); - при получаване на ICMP redirect; Точно този е случаят тук (добавя се рутинг за C през A1 в следствие получен ICMP redirect). И тъй като определянето на "по-добрия маршрут" става по метода "longest match" - се използва добавеният маршрут, а не Default Router-а. |