Автор Тема: iptables TTL  (Прочетена 4838 пъти)

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
iptables TTL
« -: Sep 22, 2005, 17:57 »
Знам, че сега ще ме псувате, че има 10000 разисквани теми, че трябва да търся и т.н. (на всичкото отгоре вече съм и питал за това), но наистина не мога да се правя и от вчера търся из форума + чичко гугъл!! Пробвах какво ли не ($IPTABLES -t mangle -A PREROUTING -j TTL --ttl-inc 128 , както и всичко, което намерих из форуми и т.н.), но все ми дава No chain/target/match by that name !
Slackware 10.2 ; iptables 1.3.3 с default ядрото съм (не съм прекомпилирал и наистина нямам желание, защтото машината е много слаба и се компилира за 24 часа без преувеличение!'<img'>. Има си модулите и ги лоадвам дори..

Използвам следния скрипт (той си е наред - само ТТЛ ме мъчи!'<img'>:
#!/bin/sh
#
# rc.firewall - Initial SIMPLE IP Firewall script for Linux 2.4.x and iptables
#
# Copyright © 2001  Oskar Andreasson <bluefluxATkoffeinDOTnet>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program or from the site that you downloaded it
# from; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA  02111-1307   USA
#

###########################################################################
#
# 1. Configuration options.
#

#
# 1.1 Internet Configuration.
#

INET_IP=""
INET_IFACE="eth0"
INET_BROADCAST=""

#
# 1.1.1 DHCP
#

#
# 1.1.2 PPPoE
#

#
# 1.2 Local Area Network configuration.
#
# your LAN's IP range and localhost IP. /24 means to only use the first 24
# bits of the 32 bit IP address. the same as netmask 255.255.255.0
#

LAN_IP="192.168.0.1"
LAN_IP_RANGE="192.168.0.0/16"
LAN_IFACE="eth1"

#
# 1.3 DMZ Configuration.
#

#
# 1.4 Localhost Configuration.
#

LO_IFACE="lo"
LO_IP="127.0.0.1"

#
# 1.5 IPTables Configuration.
#

IPTABLES="/usr/sbin/iptables"

#
# 1.6 Other Configuration.
#

###########################################################################
#
# 2. Module loading.
#

#
# Needed to initially load modules
#

/sbin/depmod -a

#
# 2.1 Required modules
#

/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ipt_ttl

#
# 2.2 Non-Required modules
#

#/sbin/modprobe ipt_owner
#/sbin/modprobe ipt_REJECT
#/sbin/modprobe ipt_MASQUERADE
#/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ip_conntrack_irc
#/sbin/modprobe ip_nat_ftp
#/sbin/modprobe ip_nat_irc

###########################################################################
#
# 3. /proc set up.
#

#
# 3.1 Required proc configuration
#

echo "1" > /proc/sys/net/ipv4/ip_forward

#
# 3.2 Non-Required proc configuration
#

#echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
#echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr

###########################################################################
#
# 4. rules set up.
#

######
# 4.1 Filter table
#

#
# 4.1.1 Set policies
#

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

#
# 4.1.2 Create userspecified chains
#

#
# Create chain for bad tcp packets
#

$IPTABLES -N bad_tcp_packets

#
# Create separate chains for ICMP, TCP and UDP to traverse
#

$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets

#
# 4.1.3 Create content in userspecified chains
#

#
# bad_tcp_packets chain
#

$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
--log-prefix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

#
# allowed chain
#

$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP

#
# TCP rules
#

$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed

#
# UDP ports
#

#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 53 -j ACCEPT
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 123 -j ACCEPT
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 2074 -j ACCEPT
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 4000 -j ACCEPT

#
# In Microsoft Networks you will be swamped by broadcasts. These lines
# will prevent them from showing up in the logs.
#

#$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d $INET_BROADCAST \
#--destination-port 135:139 -j DROP

#
# If we get DHCP requests from the Outside of our network, our logs will
# be swamped as well. This rule will block them from getting logged.
#

#$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d 255.255.255.255 \
#--destination-port 67:68 -j DROP

#
# ICMP rules
#

$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

#
# 4.1.4 INPUT chain
#

#
# Bad TCP packets we don't want.
#

$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

#
# Rules for special networks not part of the Internet
#

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT

#
# Special rule for DHCP requests from LAN, which are not caught properly
# otherwise.
#

$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT

#
# Rules for incoming packets from the internet.
#

$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED \
-j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

#
# If you have a Microsoft Network on the outside of your firewall, you may
# also get flooded by Multicasts. We drop them so we do not get flooded by
# logs
#

#$IPTABLES -A INPUT -i $INET_IFACE -d 224.0.0.0/8 -j DROP

#
# Log weird packets that don't match the above.
#

$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT INPUT packet died: "

#
# 4.1.5 FORWARD chain
#

#
# Bad TCP packets we don't want
#

$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

#
# Accept the packets we actually want to forward
#

$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#
# Log weird packets that don't match the above.
#

$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT FORWARD packet died: "

#
# 4.1.6 OUTPUT chain
#

#
# Bad TCP packets we don't want.
#

$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

#
# Special OUTPUT rules to decide which IP's to allow.
#

$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

#
# Log weird packets that don't match the above.
#

$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT OUTPUT packet died: "

######
# 4.2 nat table
#

#
# 4.2.1 Set policies
#

#
# 4.2.2 Create user specified chains
#

#
# 4.2.3 Create content in user specified chains
#

#
# 4.2.4 PREROUTING chain
#

#
# 4.2.5 POSTROUTING chain
#

#
# Enable simple IP Forwarding and Network Address Translation
#

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

#
# 4.2.6 OUTPUT chain
#

######
# 4.3 mangle table
#

#
# 4.3.1 Set policies
#

#
# 4.3.2 Create user specified chains
#

#
# 4.3.3 Create content in user specified chains
#

#
# 4.3.4 PREROUTING chain
#

#
# 4.3.5 INPUT chain
#

#
# 4.3.6 FORWARD chain
#

#
# 4.3.7 OUTPUT chain
#

#
# 4.3.8 POSTROUTING chain
#

$IPTABLES -t mangle -I PREROUTING -i input_interface -j TTL --ttl-set 5
Активен

Животът не се мери с броя вдишвания, които правим, а с моментите, които спират дъха ни!!!!

Slackware 10.1, kernel 2.6.11.4, AMD Duron 1.6 Ghz, 256 DDR Ram; GeForce 440 MX 64 Mb 128 bit; 80 Gb Western Digital 7200; Sound: Via вграден.

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
iptables TTL
« Отговор #1 -: Sep 22, 2005, 18:02 »
според мене имаш само ttl-match, но не и target TTL (има разлика)

И прекомпилирането след POM е задължително ...
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

sunhater

  • Напреднали
  • *****
  • Публикации: 329
    • Профил
iptables TTL
« Отговор #2 -: Sep 22, 2005, 18:30 »
С дефолт ядрото определено няма да стане. Трябва да си го прекомпилираш, като преди това го patch-неш с patch-o-matic. Не знам как не си го разбрал щом си ровил по въпроса. Успех!
Активен

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
iptables TTL
« Отговор #3 -: Sep 22, 2005, 18:43 »
Между другото веднъж съм го правил това с ТТЛ-а и съм си пачвал ядрото, но беше отдавна и забравих, а и адски много се рових да сваля пач за ТТЛ, но си намирах само някакви глупости за Дебиан.. Моля те, кажи ми от къде да си сваля пач-а.
Активен

Животът не се мери с броя вдишвания, които правим, а с моментите, които спират дъха ни!!!!

Slackware 10.1, kernel 2.6.11.4, AMD Duron 1.6 Ghz, 256 DDR Ram; GeForce 440 MX 64 Mb 128 bit; 80 Gb Western Digital 7200; Sound: Via вграден.

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
iptables TTL
« Отговор #4 -: Sep 22, 2005, 18:47 »
Аа също да попитам: харда е малък и нямам място за сорс на ядрото. Как мога да си прекомпилирам сегашното??
VladSun: какво е РОМ?
Активен

Животът не се мери с броя вдишвания, които правим, а с моментите, които спират дъха ни!!!!

Slackware 10.1, kernel 2.6.11.4, AMD Duron 1.6 Ghz, 256 DDR Ram; GeForce 440 MX 64 Mb 128 bit; 80 Gb Western Digital 7200; Sound: Via вграден.

divak

  • Напреднали
  • *****
  • Публикации: 830
    • Профил
iptables TTL
« Отговор #5 -: Sep 22, 2005, 20:26 »
Здравей, най-вероятно поради многото време което е минало от прекомпилирването на ядрото  '<img'> а може би и някаквите глупости дето си намерил за дебиан са те объркали или просто никога не си обръщал каквото и да е внимание на http://www.netfilter.org .

P.s. Незнам дали си обърнал внимание ама тук рядко има тревопасни  '<img'>
Нищо лично. Успех
Активен

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
iptables TTL
« Отговор #6 -: Sep 22, 2005, 22:10 »
Вярвай ми търсих и се рових доста из сайта, но не успях да намеря от къде да сваля въпросния пач. Все стигам до: http://www.netfilter.org/patch-o-matic/pom-base.html#pom-base-TTL
Активен

Животът не се мери с броя вдишвания, които правим, а с моментите, които спират дъха ни!!!!

Slackware 10.1, kernel 2.6.11.4, AMD Duron 1.6 Ghz, 256 DDR Ram; GeForce 440 MX 64 Mb 128 bit; 80 Gb Western Digital 7200; Sound: Via вграден.

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
iptables TTL
« Отговор #7 -: Sep 23, 2005, 00:19 »
Има не една или две теми по тоя въпрос, потърси '<img'>

---

трябвати P-o-M ttl target support
Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

sunhater

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

  • Гост
iptables TTL
« Отговор #9 -: Sep 24, 2005, 00:41 »
Sorry za latinicata, no sym w klub. Moga li da prekompiliram qdroto ako nqmam sors-a? I kak ako moze..
Активен

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
iptables TTL
« Отговор #10 -: Sep 27, 2005, 19:32 »
ОК. Вижте сега какво става. Опитах се да сложа пач-а, който изтеглих (виж малко нагоре), но ми дава само грешки. Пускам runme , то си върши работата и идва момента, в който трябва да му дам у (да сложи пача), но ми дава грешки, че имало едиколко си проблема от еди колко си опита и накрая пачва все пак несто след като му дам няколко пъти w и след това  y, но явно не е достатъчно, защото iptables отново ми дават несъществуваща верига и прочие.. (прекомпилирал съм преди това много ясно!'<img'>. Сега единствено мога да кажа отново ПОМООООЩ '<img'>
Активен

Животът не се мери с броя вдишвания, които правим, а с моментите, които спират дъха ни!!!!

Slackware 10.1, kernel 2.6.11.4, AMD Duron 1.6 Ghz, 256 DDR Ram; GeForce 440 MX 64 Mb 128 bit; 80 Gb Western Digital 7200; Sound: Via вграден.

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
iptables TTL
« Отговор #11 -: Sep 28, 2005, 09:17 »
На никой ли не му се е случвало?!?? '<img'> Дава ми - Cannot apply patch - 6 rejects out of 12 hunks и така само се сменят цифричките, а съобщението си е същото.
Активен

Животът не се мери с броя вдишвания, които правим, а с моментите, които спират дъха ни!!!!

Slackware 10.1, kernel 2.6.11.4, AMD Duron 1.6 Ghz, 256 DDR Ram; GeForce 440 MX 64 Mb 128 bit; 80 Gb Western Digital 7200; Sound: Via вграден.

  • Гост
iptables TTL
« Отговор #12 -: Sep 28, 2005, 10:29 »
Ами може направо да му бръкнеш в дупенцето на Линукса без никакви пачове. Аз така направих и сам много доволен.
В файла на сорсовете на ядрото:
/usr/src/linux/net/ipv4/ip_forward.c
В функцията:
int ip_forward(struct sk_buff *skb)
коментираш следният ред:
ip_decrease_ttl(iph);
т.е. правиш го на:
 //ip_decrease_ttl(iph);
прекомрилираш и вече ядрото няма да ти намалява ттл-а.
Активен

  • Гост
iptables TTL
« Отговор #13 -: Sep 28, 2005, 10:47 »
А мога ли да компилирам само този модул (и как) и след това да си го подменя, защото компа е адски бавен и сте компилира 1 ден (Pentium 166)
Активен

  • Гост
iptables TTL
« Отговор #14 -: Sep 28, 2005, 10:53 »
Цитат (Guest @ Сеп. 28 2005,11:47)
А мога ли да компилирам само този модул (и как) и след това да си го подменя, защото компа е адски бавен и сте компилира 1 ден (Pentium 166)

За съжаление няма как да стане без кода на ядрото.
То дори не е модул, ами си е неделима част.
По добре инсталирай кода на ядрото на по-мощна машина, компилирай го и после го прехвърли на по-слабата с scp или там каквото имаш.
Да не забрависш само, и модулите да прехвърлиш.

П.П: Това работи на Router Pentium 60, 16MB, 70GB HDD, 2x3c503 LAN.
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Iptables
Настройка на програми
mozly 1 4110 Последна публикация Dec 10, 2002, 23:48
от Vency
iptables
Настройка на програми
sunhater 3 3980 Последна публикация Apr 23, 2003, 15:02
от sunhater
iptables
Настройка на програми
dumdum 4 4599 Последна публикация Apr 30, 2003, 10:40
от dumdum
IPTABLES
Настройка на програми
achird 2 4671 Последна публикация May 20, 2003, 14:14
от achird
iptables
Настройка на програми
dumdum 2 3670 Последна публикация May 03, 2003, 17:00
от