Автор Тема: Iptables ttl=0 packet_ttl=64 range_port=1024 32768  (Прочетена 7790 пъти)

svilkata

  • Напреднали
  • *****
  • Публикации: 33
    • Профил
Здравейте, от скоро съм абонат на Мегалан и искам да споделя и-нет-а на 2 ПЦ-та, но нещо не се получава, увеличавам ТТЛ с 1, задавам ТТЛ на пакетите да е 64 и задавам порта де е от 1024 до 32768 (обикновено при нат е 32768-61ХХХ)и пак не мога да рутирам пакетите имам пинг до външния ми интерфейс, но не и до гетеуея на доставчика. имам инсталиран Slackware- curent с кернел 2.6.25.3, iptables-1.3.5. Ако някой може да ми каже, какво още може да се направи, ще съм му благодарен, иначе за сега използвам winproxy с което се поличава, но това не си е работа.
Активен

Knopper

  • Напреднали
  • *****
  • Публикации: 38
    • Профил
    • WWW
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #1 -: Mar 12, 2006, 16:02 »
Изглежда ми странен начинът, по който го правиш. Ето аз как успях да го напрaвя, две правила са нужни, третото е за да не изтече информация на доставчика за деянието '<img'>. Подразбирам, че eth0 е външната карта и вътрешните компютри ползват адреси за частно ползване 172.16.0.0/12 от RFC 1918 :

iptables -t nat -A POSTROUTING -s 172.16.0.0/12 -o eth0 -j MASQUERADE
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1
iptables -t mangle -A POSTROUTING -s 172.16.0.0/12 -o eth0 -j TTL --ttl-set 64


Разбира се, трябва да имаш компилиран модула ipt_TTL.ko. Fedora Core 4 с приложени актуализации го има включен този модул. И не забравяй в /etc/sysctl.conf: net.ipv4.ip_forward = 1, след което #sysctl -p.
Активен

По-добре да не кажеш нищо, отколкото да кажеш нищо...

GoodT

  • Напреднали
  • *****
  • Публикации: 361
    • Профил
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #2 -: Mar 12, 2006, 16:23 »
Прекомпилирай кернела с опция: options IPSTEALTH
Добави в /etc/sysctl.conf реда: net.inet.ip.stealth=1
Това трябва да ти свърши работа за ограничението на TTL-а.
Активен

svilkata

  • Напреднали
  • *****
  • Публикации: 33
    • Профил
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #3 -: Mar 12, 2006, 16:55 »
10х Knopper, за ттл-сет съм използвал:
# Set TTL on outgoing & forwarded packets:
  ##########################################
  if [ -n "$PACKET_TTL" ]; then
    if [ $PACKET_TTL -gt 9 ] && [ $PACKET_TTL -lt 256 ]; then
      echo "Setting TTL=$PACKET_TTL for the FORWARD & OUTPUT chains"
      for interface in $EXT_IF; do
        $IPTABLES -t mangle -A FORWARD -o $interface -j TTL --ttl-set $PACKET_TTL
        $IPTABLES -t mangle -A OUTPUT -o $interface -j TTL --ttl-set $PACKET_TTL
      done
    else
      printf "\033[40m\033[1;31m WARNING: Ingoring invalid value for PACKET_TTL ($PACKET_TTL), it should be between 10 and 255!\033[0m\n"
    fi
  fi

с твоя последния ред като дадох source моята мрежа и се оправи
Активен

fen386

  • Напреднали
  • *****
  • Публикации: 15
    • Профил
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #4 -: Apr 05, 2006, 16:12 »
Абре, Федорци, човекът е със Slackware,  за какъв /etc/sysctl му говорите? '<img'>
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #5 -: Apr 05, 2006, 16:38 »
GoodT, IPSTEALTH ако се не лъжа е за FreeBSD, тук се говори за Linux.

fen386, sysctl си присъства в Slackware, нищо че много хора не знаят - http://slackware.it/en/pb/search.php?v=current&t=2&q=sysctl .
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

Dean79

  • Напреднали
  • *****
  • Публикации: 151
    • Профил
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #7 -: Apr 05, 2006, 23:54 »
//offtopic

Много се смях като я четох. Личи си непрофесионализма с който е писана. Какво общо имат емблематичните марки автомобили и инстант мессинджърите със знанията на съответния индивид ?
Активен

smelkomar

  • Напреднали
  • *****
  • Публикации: 429
    • Профил
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #8 -: Apr 06, 2006, 10:51 »
по-лесно е така (FreeBSD):

http://www.pfsense.com/
http://m0n0.ch/wall/
Активен

Ползвам т'ва, к'вот ме кефи

  • Гост
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #9 -: Apr 07, 2006, 21:22 »
почти съм убеден че проблема е че увеличаваш с 1 ттл на входящите,
пакета идва от мегалан с ттл=1 влиза в мрежовия интерфейс и става 0, ти го инкрементираш с 1 препращаш го през втория интерфейс и той пак става 0.
  Пробвай да ги сетнеш статично на ттл=16 да речем и ще стане.

(Абсолютно същия проблем го имаше при мен - ethereala изясни ситуацията'<img'>)
Активен

svilkata

  • Напреднали
  • *****
  • Публикации: 33
    • Профил
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #10 -: Apr 08, 2006, 01:59 »
wolf прав си
за това сложих 2 еднакви реда:
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1
пробвах и с :
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-сет 2
и пак стана, според вас кое ще е по-добрепървото или второто, щото имам 46МБ РАМ и като поработи около цхас и ми пада скоростта от 900КБ/с на 650 и дали изобсто има значение?
Активен

  • Гост
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #11 -: Apr 10, 2006, 10:58 »
нещо не разбирам, при влизането на пакета в рутера ми ТТЛ-а е 0, при инкрементиране с 1, вече се увеличава с 1, но не отива до вътрешната ми мрежа, като го увелича с още 1 или го сетна на 2, пристига във вътрешната мрежа с ТТЛ=1, та се получава точно както съм го учил, когато пакета премине през 1 хоп (рутера ми) ТТЛ-а се намалява с 1 (ttl_ext_net - 1 = ttl_int_net или 2-1=1), то тогава защо при първия случай пакетите се режат и не пристигат с ТТЛ=0 във вътрешната мрежа. Това Обяснение на wolf ми се струва невярно, ТТЛ-а се намалява не през преминаването на интерфейс, а на устройство. Някой може ли да ми обади защо се поличава това?
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #12 -: Apr 11, 2006, 10:39 »
А защо не го послушаш (wolf) и не си сетнеш TTL-а на 16 ? А правиш ли нещо с изходящия трафик? (виж статията, където са намесени фолксвагените)  '<img'>

Редактирано: "А правиш ли нещо с изходящия трафик?" Разбрах, прочетох темата отначало.



Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

  • Гост
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #13 -: Apr 12, 2006, 17:16 »
svilkata, това очевидно е понеже от мегалан явно са гениални типове и сетват TTL=0, което е тъпчене на всякакви rfc-ta. Пакет с TTL<=1 не се forward-ва от ядрото, т.е и да го увеличиш с 1 и стане 0+1=1, ядрото пак няма да го forward-не.

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

В крайна сметка дали мегалан ще ти пращат пакети с ттл=1 или ттл=0 няма значение като краен резултат, с тази разлика, че второто не е много "по правилата".

Авторът на тази статия упорито спореше че като му дойдел пакет с ттл=1 щял да го forward-не с ттл=1-1=0, което са глупости на търкалета и трябваше да му пействам части от сорса на ядрото. Както и да е.

Не се намалява ТТЛ-а, минавайки през двата интерфейса, т.е това става САМО един път, в момента в който ядрото вземе решение да препрати пакета към друг интерфейс. Няма вариант да е по друг начин.

Та между другото тази конкретна ситуация е идеалното доказателство какви глупости са изписани в тая статия. Точно затова като се сложи два пъти това правило с --ttl-inc 1 и нещата магически "тръгват". 0+1+1=2, пакетите с ттл=2 се препращат, като при това ядрото намалява ттл-а им с единица.

Според rfc-тата, пакети с ттл=1 не се препращат. Такива с ттл=0 са невалидни. Явно админите на Мегалан, както и авторът са чели едни и същи глупости от едно и също място и ги прилагат, вместо да си се занимават с нещата от които разбират най-добре.
Активен

  • Гост
Iptables ttl=0 packet_ttl=64 range_port=1024 32768
« Отговор #14 -: Apr 13, 2006, 18:10 »
мда...прав си, оттеглям обяснението с интерфейсите'<img'> то дойде както си казва at a glance....
едно е истина Megalan  са гениални типове....!'<img'>
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Iptables
Настройка на програми
mozly 1 4088 Последна публикация Dec 10, 2002, 23:48
от Vency
iptables
Настройка на програми
sunhater 3 3957 Последна публикация Apr 23, 2003, 15:02
от sunhater
iptables
Настройка на програми
dumdum 4 4563 Последна публикация Apr 30, 2003, 10:40
от dumdum
open file 1024
Настройка на програми
lucX 0 1628 Последна публикация Mar 07, 2006, 01:52
от lucX
Homelan -> spectrumnet ports 1-1024
Живота, вселената и някакви други глупости
astronom 35 9121 Последна публикация Dec 16, 2007, 00:18
от zezo