Автор Тема: Iptables redirect  (Прочетена 6208 пъти)

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
Iptables redirect
« -: Jul 15, 2006, 22:40 »
По някаква причина рутера дропи пакетите и не иска да ги пренасочи. Това не се отразява по логовете, а скрипта ми изглежда добре. Дано някой да може да помогне  '<img'>.

(с "?.?.?.?" е отразено IP-то '<img'> )

Примерен код

#!/bin/sh

INET_IP="?.?.?.?"
INET_IFACE="eth0"
INET_BROADCAST="?.?.?.?"

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

LO_IFACE="lo"
LO_IP="127.0.0.1"

IPTABLES="/usr/sbin/iptables"

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

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

$IPTABLES -N bad_tcp_packets

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

$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

$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

$IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/24 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/24 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/24 --dport 80 -j allowed

$IPTABLES -A udp_packets -p UDP -s 192.168.0.0/24 --destination-port 53 -j ACCEPT

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

$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

$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

$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

$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

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

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

$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

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

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

$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

$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

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

$IPTABLES -t nat -A PREROUTING -i eth0 -s 0/0 -d ?.?.?.? -p tcp --dport ? -j DNAT --to-destination 192.168.0.2:3389

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

$IPTABLES -t mangle -N mark-out

$IPTABLES -t mangle -I PREROUTING -j TTL --ttl-set 64


Благодаря!
Активен

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

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 redirect
« Отговор #1 -: Jul 17, 2006, 15:54 »
Пакета първо влиза в PREROUTING, но все пак дали не е проблема в това, че няма $IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/24 --dport ?? -j allowed
Активен

  • Гост
Iptables redirect
« Отговор #2 -: Jul 17, 2006, 15:57 »
Пакета първо влиза в PREROUTING, но все пак дали не е проблема в това, че няма $IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/24 --dport ?? -j allowed
Активен

  • Гост
Iptables redirect
« Отговор #3 -: Jul 17, 2006, 19:47 »
Я пробвай това :

$F -t nat -A PREROUTING -p udp -i $INET_IP --destination-port 1024:65535 -j DNAT --to-destination 192.168.0.2:3389
$F -t nat -A PREROUTING -p tcp -i $INET_IP --destination-port 1024:65535 -j DNAT --to-destination 192.168.0.2:3389
Активен

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
Iptables redirect
« Отговор #4 -: Jul 18, 2006, 00:18 »
Пак не става. Вмъкнах и отварянето на порта ама и то не помогна (както и очаквах). Нямам никаква идея къде може да е проблема  ':huh:'  '<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 вграден.

  • Гост
Iptables redirect
« Отговор #5 -: Jul 18, 2006, 07:10 »
Вместо -A PREROUTING сложи -I PREROUTING.
Активен

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
Iptables redirect
« Отговор #6 -: Jul 18, 2006, 08:42 »
Пак не става '<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 вграден.

  • Гост
Iptables redirect
« Отговор #7 -: Jul 18, 2006, 12:01 »
Пробвай се да отвориш една фтп връзка донякъде от рутера и от машина зад него. В двата случая пусни tcpdump -vvv tcp port 21 и на рутера и на машината и пейстни резултата. Може би ще стане ясно какво става.
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Iptables redirect
« Отговор #8 -: Jul 18, 2006, 13:00 »
Направи малко debug:
 - махни всички правила;
 - остави само SNAT и DNAT правилата;
 - дай политика ACCEPT на всички вериги;
 - виж дали пренасочването работи;
 - ако, да - почваш да добавяш едно по едно правила, докато спре да работи '<img'> ;
 - ако, не - имаш проблеми, които не са в рутера;
Активен

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

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
Iptables redirect
« Отговор #9 -: Jul 18, 2006, 23:57 »
@vladsun: Сега нямам време за това, но благодаря, че ме подсети '<img'> . Утре вечер сигурно ще се пробвам така.

Само едно уточнително въпросче имам: iptables от къде взема часа и датата за лога'<img'> Защото непонятно за мен при рестарт  в BIOS-а се слагат датата и часа по подразбиране (1999 г) и сега въпреки, че съм променил това с hwclock все пак в логовете ми пише някакви странни дати като "Jan  5 22:45:23"?
Активен

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

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 redirect
« Отговор #10 -: Jul 25, 2006, 23:34 »
Най-накрая ми остана малко време да се позанимая с iptables отново, но за нещастие пак не се получава искания резултат '<img'> .
Махнах всички правила (освен за masquerade u TTL) и сложих policy-то на веригите на ACCEPT, но iptables изобщо не желае да redirect-не пакетите '<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 вграден.

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Iptables redirect
« Отговор #11 -: Jul 26, 2006, 00:32 »
Може да прозвучи глупаво, но имам спомени, че съществуват проблеми с DNAT:
Примерен код

-j DNAT --to
и
-j DNAT --to-destination

 - едното работеше, другото не. При мен и в момента по навик оставям първото.
И още нещо - външното ИП статично ли ти е? Ако да, ползвай SNAT.
Активен

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

  • Гост
Iptables redirect
« Отговор #12 -: Jul 26, 2006, 17:57 »
И с двете е еднакъв ефекта - т.е. никакъв '<img'> . Кое IP дали е статично? Това, от което се връзвам към рутера от интернет ли?
Активен

Gatta_Negra

  • Гост
Iptables redirect
« Отговор #13 -: Jul 27, 2006, 13:43 »
Статичен адрес е адрес който не се мени - т.е не ти се сменя IP адреса  при някакво условие  - да речем ако доставчика ти е пуснал DHCP  при всяко включване на системата адреса ти ще е различен освен ако той не те лови И по адрес на NIC. Че ти е статичен можеш да познаеш по това ако си въвеждаш ти настройките а не ги взимаш " автоматично".
Ти с публичен адрес ли си или си в частна мрежа ?
както и да е де ..
Ако адреса и е статичен т.е. не се променя ти пратих ЛС.
Активен

Hel1Fire

  • Напреднали
  • *****
  • Публикации: 153
    • Профил
Iptables redirect
« Отговор #14 -: Jul 27, 2006, 14:29 »
Въпроса ми беше друг '<img'>. Зная какво е статично IP, но все пак ти благодая за желанието ти да помогнеш '<img'> .
Всъщност SNAT май няма да ми помогне много, защото до колкото зная той се използва за нещо като MASQUERADE, а ми трябва точно DNAT.. Дори преди малко видях manual-а на iptables:
Цитат

Тhis target can be extremely useful, for example, when you have an host running your web server inside a LAN, but no real IP to give it that will work on the Internet.

iptables -t nat -A PREROUTING --dst $INET_IP -p tcp --dport 80 -j DNAT \
--to-destination $HTTP_IP

Вече хептен останах без идеи...
Активен

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

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 вграден.

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
redirect URL
Общ форум
nikiv 2 3204 Последна публикация Sep 24, 2002, 09:29
от
website redirect
Настройка на програми
flame 1 1610 Последна публикация Jun 16, 2004, 21:21
от kennedy
проблем с redirect на порт
Настройка на програми
demolution 3 2241 Последна публикация Apr 07, 2005, 11:25
от the_real_maniac
Iptables Port Redirect Problem!
Настройка на програми
daemon 2 2271 Последна публикация Jan 07, 2006, 04:23
от daemon
iptables  REDIRECT
Хардуерни и софтуерни проблеми
mimosh 3 2489 Последна публикация Jan 23, 2006, 00:09
от