Титла: Ttl (time to live) Публикувано от: vanchi_kn в Jan 11, 2008, 14:43 Значи доставчика ми намали ttl-a на 0 и немога да си шерна нет на другия комп през линукс.Ако някой може да каже как става?Пробвах с iptables -t mangle -I PREROUTING -i eth0 -j TTL --ttl-inc 1
както ме посъветваха във форума но не стана.Някой да има други идеи? Титла: Ttl (time to live) Публикувано от: aaaaaa в Jan 11, 2008, 15:19 В твоя случай --ttl-inc 1 трябва да е равно на 2. Моя iptables изглежда по този начин:
Последният ред е защото има windows-ки машини в мрежата, ако ти нямаш не ти трябва. Повече информация можеш да намериш в тази статия или в различните теми по този въпрос във форума. Титла: Ttl (time to live) Публикувано от: pink в Jan 11, 2008, 15:22 Надявам се това да помогне. В кратце:
# iptables -t mangle -A PREROUTING -i ppp0 -j TTL --ttl-inc 1 # iptables -t mangle -A POSTROUTING -s 192.168.10.0/24 -o ppp0 -j TTL --ttl-inc 1 Замени ppp0 с външния ти интерфейс (ако е небоходимо) Титла: Ttl (time to live) Публикувано от: pink в Jan 11, 2008, 15:23 a{6} ме изпревари
Титла: Ttl (time to live) Публикувано от: vanchi_kn в Jan 11, 2008, 16:12 # iptables -t mangle -A PREROUTING -i ppp0 -j TTL --ttl-inc 1
Като напиша това и ми дава Unknown error 4294967295 Титла: Ttl (time to live) Публикувано от: zeridon в Jan 12, 2008, 10:20 ванчо ванчо ...
Имаш ли идея какво прави редчето което са ти написали? Явно не ... ако нета ти идва с PPPoE тогава се ползва ppp0 ако нета ти идва на eth0 се ползва eth0 aко нета ти идва на eth1 се ползва eth1 ... схвана ли идеята ... Ако пипаш TTL в PREROUTING трябва да го дигнеш с 2 Титла: Ttl (time to live) Публикувано от: vanchi_kn в Jan 12, 2008, 21:01 Извинявам се просто копнах тва дето ми бехте писали иначе пробвах с eth0 тя е с реалното ип.
Просто като прочетох насам натам и разбрах че кърнела не поддържа модула ipt_ttl.ko или нещо такова,и трябва да се прекомпилира. Титла: Ttl (time to live) Публикувано от: Hapkoc в Jan 12, 2008, 22:49 Секунда така.
1. Модулът, който ти трябва е ipt_TTL.ko, това не е най-важното в случая. 2. С каква дистрибуция си? Много малко съвременни дистрибуции не поддържат въпросния модул в stock ядрата си... Титла: Ttl (time to live) Публикувано от: vanchi_kn в Jan 12, 2008, 23:09 Slackware 11.0 по принцип има файл ipt_ttl.ko.gz във директорията с модулите на кърнела.
Титла: Ttl (time to live) Публикувано от: Hapkoc в Jan 13, 2008, 00:54 Ще трябва някой slack-аджия да се изкаже, но като гледам в ядрото, което се инсталира по подразбиране на Slackware 11 (2.4.33.3), го няма модула ipt_TTL.
Имай предвид, че ipt_ttl и ipt_TTL са два различни модула. Титла: Ttl (time to live) Публикувано от: VladSun в Jan 13, 2008, 01:04 И аз мисля, че го нямаше ... Пачвай с PoM-a
![]() @zeridon - мисля, че и ТТЛ=1 ще мине - имаше една дискусия за това и доколкото си спомням: рутер, който получава пакет с ТТЛ=1 и дестинация следващия хоп на рутера се пропуска. Титла: Ttl (time to live) Публикувано от: KPETEH в Jan 13, 2008, 11:01 Значи само да вметна нещо , на стрият ми рутер със Слак 10.2 и iptables - 1.3.5 мисля беше просто нямам спомени коя беше версията и ядро 2.4.33 това :
си работеше безпроблемно. Дори и да е със Слак 11 но пък с базовото ядро не би трябвало да му прави грижи. Титла: Ttl (time to live) Публикувано от: gat3way в Jan 13, 2008, 12:33
Тая дискусия, ахх ![]() Не се допуска, ама тоя път няма да пействам от ip_forward.c, за да се обоснова, защото има по-лесен начин ![]() hping3 --udp --ttl 1 <next_hop_sled_rutera> си връща icmp TTL expired in transit. Титла: Ttl (time to live) Публикувано от: VladSun в Jan 13, 2008, 14:00
Тая дискусия, ахх ![]() Не се допуска, ама тоя път няма да пействам от ip_forward.c, за да се обоснова, защото има по-лесен начин ![]() hping3 --udp --ttl 1 <next_hop_sled_rutera> си връща icmp TTL expired in transit.Мдам ... ![]() ![]() Извинявам се - моя грешка ![]() Става въпрос за тази дискусия. Кодът, за който говори gat3way е:
т.е. zeridon е прав - трябва -ttl-inc 2 поне. Титла: Ttl (time to live) Публикувано от: metal в Jan 16, 2008, 01:43 "т.е. zeridon е прав - трябва -ttl-inc 2 поне." - цък, и с 1 става. Доставчика ми дава нет с TTL=1
plamen@sempron ~ $ ping -c 3 www.data.bg PING web.data.bg (195.149.248.130) 56(84) bytes of data. 64 bytes from web.data.bg (195.149.248.130): icmp_seq=1 ttl=1 time=3.64 ms 64 bytes from web.data.bg (195.149.248.130): icmp_seq=2 ttl=1 time=4.00 ms 64 bytes from web.data.bg (195.149.248.130): icmp_seq=3 ttl=1 time=3.98 ms --- web.data.bg ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 3.643/3.876/4.005/0.165 ms а правилата са ми: iptables -t nat -A POSTROUTING -s ${INSIDE_NETWORK}/${INSIDE_NETMASK} -o ${OUTSIDE_DEVICE} -j MASQUERADE iptables -t mangle -A PREROUTING -i ${OUTSIDE_DEVICE} -j TTL --ttl-inc 1 iptables -t mangle -A INPUT -i ${OUTSIDE_DEVICE} -j TTL --ttl-dec 1 iptables -t mangle -A POSTROUTING -o ${OUTSIDE_DEVICE} -j TTL --ttl-inc 1 Титла: Ttl (time to live) Публикувано от: aaaaaa в Jan 16, 2008, 02:05
А на него му дава с 0. Титла: Ttl (time to live) Публикувано от: metal в Jan 16, 2008, 02:43 "А на него му дава с 0." - на неговите думи ли се позоваваш или си го видял на практика?!? Не се правя на голям спец (т.е. може и да греша), но нещо не мога да си го представя. До колкото знам (а и практиката го доказва) пакет с TTL=0 не съществува - иначе защо ще го инкрементирам, за да ми дойде интернета в локалната мрежа? А ако не го направя (при TTL=1 на рутера, т.е. 0 след него) - няма нет във вътрешната мрежа.
Титла: Ttl (time to live) Публикувано от: VladSun в Jan 16, 2008, 09:24 А, аз съм сигурен, че съществува
![]() Пробвай ![]() на рутера:
И не разчитай много на ping-a ![]()
![]() ![]() Титла: Ttl (time to live) Публикувано от: gat3way в Jan 16, 2008, 11:20 TTL 0 "няма" според спецификацията на IP протокола - обаче ние в България си имаме друга идея по въпроса. А дали съществува на практика - в Мегалан очевидно съществува
![]() http://forums.megalan.bg/index.p....t=13023 Не е ли забавно всичките ICMP echo replies да ти се връщат с ттл=0, както оня пич е пейстнал ![]() Забавното е че линукс-ките и уиндоус-ките мрежови стекове не издропват такива пакети, въпреки че са невалидни според протоколната спецификация. И поради това, очевидно не е проблем да ти ги намалят до 0. Сега следва по-интересната част - един познат е вързан на тях и ползва 802.11 рутер, чиито фърмуер е с някаква олигофренска ОС от сорта на VxWorks. Рутерът за щастие има някаква опция, която се сетва през уеб интерфейса - "do not change TTL in transit" или нещо от сорта. До известно време това работи, в един момент гореспоменатият провайдър решава мъдро вместо да смъква TTL-а не на 1, а на 0. И фърмуера, понеже коректно си спазва спецификациите, просто издропва тези пакети. Естествено, не можеш да се оплачеш, защото не е коректно, естествено и на първо време идеята не е да лъжеш, че не НАТ-ваш. От друга страна, тоя 802.11 рутер просто си хартисва. А от трета страна, човекът наистина си ползва интернет само на една машина, просто обича да се размотава с нея из апартамента. А, да, и най-забавното е че при това положение има 2 варианта: спират да му режат ТТЛ-а, но ограничението за максимален брой ТСР сесии пада над 2 пъти. Или алтернативно: спират да му режат ТТЛ-а, максималният брой конекции се запазва, но това излиза с някаква приятна сума отгоре на месец. Ей, забавно нещо са нашенските ISP-та наистина ![]() Титла: Ttl (time to live) Публикувано от: aaaaaa в Jan 16, 2008, 11:33
Човекът сам си каза, че ttl-а му е 0.
Освен това и в практиката съм се сблъсквал с такъв случай - аз съм на Мегалан в Студентски Град и ttl-а ми е 0. За това още в първия пост към темата съм отговорил:
Интересно ми е дали това е свършило някаква работа, защото при мен работи. PS Не съм много на вътре в тези неща, така че ако мислите, че греша, кажете. И на мен ще ми е от полза. |