Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: hack_man в Sep 26, 2008, 17:12



Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 26, 2008, 17:12
Използвам Gentoo машина за рутер и сървър, обаче се оказа че доставчика прави мизери с TTL-a !!!
Погледнах темата http://linux-bg.org/cgi-bin....9911239 и сформирах един кратък скрипт :
Примерен код
#!/bin/bash

iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -F -t raw

iptables -t mangle -A PREROUTING -i ppp0 -j TTL --ttl-inc 1
#iptables -t mangle -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j TTL --ttl-inc 1
iptables -t mangle -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j TTL --ttl-set 64
TTL --ttl-inc 1

iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE

/etc/init.d/iptables save


Когато направя ping от рутера към dir.bg ttl-a е 58.
Когато направя ping от машина във вътрешната мрежа към dir.bg ttl-a е 58.

Проблема е че има сайтове, в моя случай abv.bg и др. към които горния случай не е така.
от рутера ттл-а е 61
а от друга машина е 60
 :huh:  :huh:  :huh:  :huh:  :huh:

Оказва се че при всички сайтове при които имам разминаване на ттл-а немога да ги отворя и съм сигурен че е от защитата на доставчика.

Пробвах и с "--ttl-inc 1" и с "--ttl-set 64" няма разлика.

Някакви идей ?


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 29, 2008, 09:55
Никой ли няма идея ????


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: dvbb в Sep 29, 2008, 10:51
ttl-inc го направи 2


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 29, 2008, 14:07
няма промяна :(  ???





Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 29, 2008, 14:15
Странно но сега каквото и да пинг-вам ... от вътрешна е 1 по-малко винаги...
независимо колко е ttl-inc
да но това не разрешава проблема ....
abv.bg продължава да не ми се отваря.

когато не минавам през рутер ... всичко е ок
мина ли .. край ...
каква ли защита прилага доставчика?
как мога да я избегна ??





Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: VladSun в Sep 29, 2008, 14:38
iptables -t mangle -A PREROUTING -i ppp0 -j TTL --ttl-inc 2
iptables -t mangle -A POSTROUTING -o ppp0 -j TTL --ttl-set 64

Така със сигурност пакетите излизащи от рутера ти ще имат винаги ТТЛ=64 независимо от къде идват.

Освен това - пусни два tcpdump на входния и изходния интерфейс и вижа какво става, вместо да се чудиш ;)





Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 29, 2008, 14:54
с tcpdump не съм работил.... и незнам какво да гледам :(


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: VladSun в Sep 29, 2008, 15:13
tcpdump -nv -i eth0


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 29, 2008, 15:35
tcpdump host 192.168.1.10 and abv.bg -v
Примерен код
15:34:13.125880 IP (tos 0x0, ttl 64, id 33385, offset 0, flags [DF], proto TCP (6), length 52) my-MAC.51117 > abv.bg.http: F, cksum 0x5354 (correct), 3697129583:3697129583(0) ack 120363165 win 65535 <nop,nop,timestamp 408848432 2070476071>
15:34:13.148020 IP (tos 0x40, ttl 61, id 28099, offset 0, flags [DF], proto TCP (6), length 52) abv.bg.http > my-MAC.51117: ., cksum 0x0b4e (correct), ack 1 win 54 <nop,nop,timestamp 2070491559 408848432>
15:34:16.021851 IP (tos 0x0, ttl 64, id 12811, offset 0, flags [DF], proto TCP (6), length 64) my-MAC.51119 > abv.bg.http: S, cksum 0xf66b (correct), 3311074520:3311074520(0) win 65535 <mss 1460,nop,wscale 3,nop,nop,timestamp 408848461 0,sackOK,eol>
15:34:16.044099 IP (tos 0x40, ttl 61, id 0, offset 0, flags [DF], proto TCP (6), length 60) abv.bg.http > my-MAC.51119: S, cksum 0xb958 (correct), 133854983:133854983(0) ack 3311074521 win 5792 <mss 1460,sackOK,timestamp 2070494456 408848461,nop,wscale 7>
15:34:16.045150 IP (tos 0x0, ttl 64, id 64894, offset 0, flags [DF], proto TCP (6), length 52) my-MAC.51119 > abv.bg.http: ., cksum 0xfec4 (correct), ack 1 win 65535 <nop,nop,timestamp 408848461 2070494456>
15:34:16.045414 IP (tos 0x0, ttl 64, id 7722, offset 0, flags [DF], proto TCP (6), length 423) my-MAC.51119 > abv.bg.http: P 1:372(371) ack 1 win 65535 <nop,nop,timestamp 408848461 2070494456>
15:34:16.957870 IP (tos 0x0, ttl 64, id 62991, offset 0, flags [DF], proto TCP (6), length 423) my-MAC.51119 > abv.bg.http: P 1:372(371) ack 1 win 65535 <nop,nop,timestamp 408848470 2070494456>
15:34:18.960528 IP (tos 0x0, ttl 64, id 30510, offset 0, flags [DF], proto TCP (6), length 423) my-MAC.51119 > abv.bg.http: P 1:372(371) ack 1 win 65535 <nop,nop,timestamp 408848490 2070494456>
15:34:18.982379 IP (tos 0x40, ttl 61, id 16251, offset 0, flags [DF], proto TCP (6), length 52) abv.bg.http > my-MAC.51119: ., cksum 0xf183 (correct), ack 372 win 54 <nop,nop,timestamp 2070497395 408848490>
15:34:18.982853 IP (tos 0x40, ttl 61, id 16252, offset 0, flags [DF], proto TCP (6), length 481) abv.bg.http > my-MAC.51119: P 1:430(429) ack 372 win 54 <nop,nop,timestamp 2070497395 408848490>
15:34:18.984140 IP (tos 0x0, ttl 64, id 15708, offset 0, flags [DF], proto TCP (6), length 52) my-MAC.51119 > abv.bg.http: ., cksum 0xf00b (correct), ack 430 win 65535 <nop,nop,timestamp 408848491 2070497395>
15:34:18.993944 IP (tos 0x0, ttl 64, id 20227, offset 0, flags [DF], proto TCP (6), length 64) my-MAC.51120 > abv.bg.http: S, cksum 0xaa6f (correct), 1203684946:1203684946(0) win 65535 <mss 1460,nop,wscale 3,nop,nop,timestamp 408848491 0,sackOK,eol>
15:34:19.017056 IP (tos 0x40, ttl 61, id 0, offset 0, flags [DF], proto TCP (6), length 60) abv.bg.http > my-MAC.51120: S, cksum 0x0fbd (correct), 2757873657:2757873657(0) ack 1203684947 win 5792 <mss 1460,sackOK,timestamp 426379069 408848491,nop,wscale 7>
15:34:19.018056 IP (tos 0x0, ttl 64, id 40280, offset 0, flags [DF], proto TCP (6), length 52) my-MAC.51120 > abv.bg.http: ., cksum 0x5529 (correct), ack 1 win 65535 <nop,nop,timestamp 408848491 426379069>
15:34:19.018470 IP (tos 0x0, ttl 64, id 55901, offset 0, flags [DF], proto TCP (6), length 427) my-MAC.51120 > abv.bg.http: P 1:376(375) ack 1 win 65535 <nop,nop,timestamp 408848491 426379069>
15:34:19.042438 IP (tos 0x40, ttl 61, id 51372, offset 0, flags [DF], proto TCP (6), length 52) abv.bg.http > my-MAC.51120: ., cksum 0x5363 (correct), ack 376 win 54 <nop,nop,timestamp 426379094 408848491>
15:34:20.981778 IP (tos 0x40, ttl 61, id 16253, offset 0, flags [DF], proto TCP (6), length 52) abv.bg.http > my-MAC.51119: F, cksum 0xe805 (correct), 430:430(0) ack 372 win 54 <nop,nop,timestamp 2070499395 408848490>
15:34:20.983032 IP (tos 0x0, ttl 64, id 21041, offset 0, flags [DF], proto TCP (6), length 52) my-MAC.51119 > abv.bg.http: ., cksum 0xe826 (correct), ack 431 win 65535 <nop,nop,timestamp 408848511 2070499395>
15:34:21.043058 IP (tos 0x40, ttl 61, id 51379, offset 0, flags [DF], proto TCP (6), length 1218) abv.bg.http > my-MAC.51120: FP 4345:5511(1166) ack 376 win 54 <nop,nop,timestamp 426381095 408848491>
15:34:21.044404 IP (tos 0x0, ttl 64, id 48400, offset 0, flags [DF], proto TCP (6), length 64) my-MAC.51120 > abv.bg.http: ., cksum 0x0e37 (correct), ack 1 win 65535 <nop,nop,timestamp 408848511 426379094,nop,nop,sack 1 {4345:5511}>
15:34:23.576897 IP (tos 0x0, ttl 64, id 35411, offset 0, flags [DF], proto TCP (6), length 52) my-MAC.51119 > abv.bg.http: F, cksum 0xe80b (correct), 372:372(0) ack 431 win 65535 <nop,nop,timestamp 408848537 2070499395>
15:34:23.600271 IP (tos 0x40, ttl 61, id 16254, offset 0, flags [DF], proto TCP (6), length 52) abv.bg.http > my-MAC.51119: ., cksum 0xdd9b (correct), ack 373 win 54 <nop,nop,timestamp 2070502013 408848537>
15:34:28.072606 IP (tos 0x0, ttl 64, id 4933, offset 0, flags [DF], proto TCP (6), length 64) my-MAC.51058 > abv.bg.http: F, cksum 0xee47 (correct), 157552758:157552758(0) ack 3341492010 win 65535 <nop,nop,timestamp 408848581 2069456143,nop,nop,sack 1 {4345:5511}>


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: gat3way в Sep 29, 2008, 17:54
Прекрасен пример за установяване на TCP сесия и затварянето й като хората :)

Кое не можело да се отваря?


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 29, 2008, 18:27
немога да отворя нищо през браузър-а
пробвах с firefox, safari, links нищо не отваря :(

кофтито е че не отваря само 2-3 саита :(


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: KPETEH в Sep 29, 2008, 19:04
Възможно ли е да ти филтрират abv-to примерно ?
Въпреки че ми се струва безумно ... но знам ли


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 29, 2008, 19:47
не го фолтрират понеже ако не минавам през рутер се отваря,
ако мина .... не се отваря... :(

знам че има ограничение по ттл но явно не някакво друго .... и по начина който аз "оправям" ттл-а не мога да прескоча защитата :(


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 29, 2008, 19:51
пускам нова тема по въпроса със защитата по ттл.

тази може да се заключи.


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: e_stealth в Sep 30, 2008, 21:00
пробвай следдното :

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t mangle -A PREROUTING -i ppp0 -j TTL --ttl-inc 1
iptables -t mangle -A POSTROUTING -o ppp0 -j TTL --ttl-set 64


Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: hack_man в Sep 30, 2008, 21:15
След много търсене открих темата:
http://www.usenet-forums.com/archive/index.php/t-63035.html

Решението на проблема ми е следното:

Примерен код
# Routing
$IPTABLES -t nat -I POSTROUTING -o $EXTIF -j MASQUERADE

# TTL
$IPTABLES -t mangle -A PREROUTING -i $EXTIF -j TTL --ttl-inc 1
$IPTABLES -t mangle -A POSTROUTING -o $EXTIF -j TTL --ttl-set 64

# MTU
$IPTABLES -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Other
$IPTABLES -t nat -A POSTROUTING -o $VPNIF -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

# Save
/etc/init.d/iptables save


Мерси на всички :)





Титла: (РЕШЕН) Проблем със iptables & ttl
Публикувано от: VladSun в Sep 30, 2008, 21:34
:)
Честито и БРАВО :)