The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Что-то с PREROUTING-ом странное, !*! vkozlov, 11-Май-06, 18:22  [смотреть все]
Бьюсь второй день. Перечитал все маны и перерыл весь форум. Не работает хоть убейся.

Вот конфиг (eth0 - локальный интерфейс, eth1 - внешний):

# IPTables Configuration.
IPTABLES="/sbin/iptables"

# Needed to initially load modules
/sbin/depmod -a

# Required modules
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp ports=21,3021
/sbin/modprobe ip_nat_ftp
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_state


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

$IPTABLES -F
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -t filter -F
$IPTABLES -X
$IPTABLES -t mangle -X
$IPTABLES -t nat -X
$IPTABLES -t filter -X


# Set policies
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT

$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

IPTABLES -t nat -A PREROUTING -p tcp -d 195.133.3.44 --dport 3389 -j DNAT --to-destination 10.0.0.12:3389

IPTABLES -A FORWARD -p tcp -d 10.0.0.12 --dport 3389 -j ACCEPT
IPTABLES -A FORWARD -p tcp -s 10.0.0.12 --sport 3389 -j ACCEPT

$IPTABLES -A INPUT -j ACCEPT -p tcp --dport 5900 -s 10.0.0.110 -i eth0
$IPTABLES -A OUTPUT -j ACCEPT -p tcp --sport 5900 -d 10.0.0.110 -o eth0

$IPTABLES -A INPUT -j ACCEPT -p tcp --dport 3389 -i eth1
$IPTABLES -A OUTPUT -j ACCEPT -p tcp --sport 3389 -o eth1

$IPTABLES -A OUTPUT -j ACCEPT -p tcp --dport 3389 -o eth1
$IPTABLES -A INPUT -j ACCEPT -p tcp --sport 3389 -i eth1

$IPTABLES -A OUTPUT -j ACCEPT -p tcp --dport 3389 -o eth0
$IPTABLES -A INPUT -j ACCEPT -p tcp --sport 3389 -i eth0

$IPTABLES -A INPUT -j ACCEPT -p tcp --dport 3389 -i eth0
$IPTABLES -A OUTPUT -j ACCEPT -p tcp --sport 3389 -o eth0


  • Что-то с PREROUTING-ом странное, !*! Kliver, 19:56 , 11-Май-06 (1)
    >Бьюсь второй день. Перечитал все маны и перерыл весь форум. Не работает
    >хоть убейся.
    >
    >Вот конфиг (eth0 - локальный интерфейс, eth1 - внешний):
    >
    ># IPTables Configuration.
    >IPTABLES="/sbin/iptables"
    >
    ># Needed to initially load modules
    >/sbin/depmod -a
    >
    ># Required modules
    >/sbin/modprobe ip_tables
    >/sbin/modprobe ip_conntrack
    >/sbin/modprobe ip_conntrack_ftp ports=21,3021
    >/sbin/modprobe ip_nat_ftp
    >/sbin/modprobe iptable_filter
    >/sbin/modprobe iptable_mangle
    >/sbin/modprobe iptable_nat
    >/sbin/modprobe ipt_state
    >
    >
    >echo "1" > /proc/sys/net/ipv4/ip_forward
    >
    >$IPTABLES -F
    >$IPTABLES -t mangle -F
    >$IPTABLES -t nat -F
    >$IPTABLES -t filter -F
    >$IPTABLES -X
    >$IPTABLES -t mangle -X
    >$IPTABLES -t nat -X
    >$IPTABLES -t filter -X
    >
    >
    ># Set policies
    >$IPTABLES -P INPUT ACCEPT
    >$IPTABLES -P OUTPUT ACCEPT
    >$IPTABLES -P FORWARD ACCEPT
    >
    >$IPTABLES -A INPUT -i lo -j ACCEPT
    >$IPTABLES -A OUTPUT -o lo -j ACCEPT
    >
    >
    >IPTABLES -t nat -A PREROUTING -p tcp -d 195.133.3.44 --dport 3389 -j
    >DNAT --to-destination 10.0.0.12:3389

    Правильнее, наверное $IPTABLES
    И добавь

    $IPTABLES -t nat -A POSTROUTING  -s 10.0.0.12 -j SNAT --to-source 195.133.3.44

    Все что ниже в твоем случае лишнее, все равно все политики стоят в ACCEPT
    Это, конечно, если я правильно понял задачу, что тебе надо порт прокинуть внутрь сети
    >
    >IPTABLES -A FORWARD -p tcp -d 10.0.0.12 --dport 3389 -j ACCEPT
    >IPTABLES -A FORWARD -p tcp -s 10.0.0.12 --sport 3389 -j ACCEPT
    >

    >
    >
    >$IPTABLES -A INPUT -j ACCEPT -p tcp --dport 5900 -s 10.0.0.110 -i
    >eth0
    >$IPTABLES -A OUTPUT -j ACCEPT -p tcp --sport 5900 -d 10.0.0.110 -o
    >eth0
    >
    >$IPTABLES -A INPUT -j ACCEPT -p tcp --dport 3389 -i eth1
    >$IPTABLES -A OUTPUT -j ACCEPT -p tcp --sport 3389 -o eth1
    >
    >$IPTABLES -A OUTPUT -j ACCEPT -p tcp --dport 3389 -o eth1
    >$IPTABLES -A INPUT -j ACCEPT -p tcp --sport 3389 -i eth1
    >
    >$IPTABLES -A OUTPUT -j ACCEPT -p tcp --dport 3389 -o eth0
    >$IPTABLES -A INPUT -j ACCEPT -p tcp --sport 3389 -i eth0
    >
    >$IPTABLES -A INPUT -j ACCEPT -p tcp --dport 3389 -i eth0
    >$IPTABLES -A OUTPUT -j ACCEPT -p tcp --sport 3389 -o eth0
    >
    >
    >


    • Что-то с PREROUTING-ом странное, !*! vkozlov, 10:15 , 12-Май-06 (2)
      >Правильнее, наверное $IPTABLES

      Так и есть, это просто при копипастинге $ потерялся :)

      >И добавь
      >$IPTABLES -t nat -A POSTROUTING  -s 10.0.0.12 -j SNAT --to-source 195.133.3.44

      Не помогло :( причем в куче найденных мной в инете HOWTO не используют построутинг для прокидывания портов наружу, а только прероутинг+форвард.

      >Все что ниже в твоем случае лишнее, все равно все политики стоят
      >в ACCEPT

      Я их потом на DROP поменяю и допишу остальные правила. Для локалки и внешней сети все правила у меня в другом скрипте, но пока подгружаю только этот - выход локалки в мир у меня пошел беспроблемно, а вот с прокидыванием порта - кизяк...

      Правда я грешу на то что с этой системой я за 10 дней ее изучения творил всякую жуть - ставил что ни попадя а потом вместо деинсталяции пакетов прибивал скрипты запуска демонов :) сейчас форматну винт и попробую поставить всё с нуля, может заработает :)))

      • Что-то с PREROUTING-ом странное, !*! vkozlov, 12:05 , 12-Май-06 (3)
        Фигня какая-то...
        Поставил свежий Debian 2.6.8

        Не работает!!! Ну или я совсем тупой, но куда смотреть и где копать?
        Привожу конфиг:

        IPTABLES="/sbin/iptables"

        /sbin/depmod -a
        /sbin/modprobe ip_tables
        /sbin/modprobe ip_conntrack
        /sbin/modprobe ip_conntrack_ftp ports=21,3021
        /sbin/modprobe ip_nat_ftp
        /sbin/modprobe iptable_filter
        /sbin/modprobe iptable_mangle
        /sbin/modprobe iptable_nat
        /sbin/modprobe ipt_state

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

        $IPTABLES -F
        $IPTABLES -t mangle -F
        $IPTABLES -t nat -F
        $IPTABLES -t filter -F
        $IPTABLES -X
        $IPTABLES -t mangle -X
        $IPTABLES -t nat -X
        $IPTABLES -t filter -X


        $IPTABLES -P INPUT ACCEPT
        $IPTABLES -P OUTPUT ACCEPT
        $IPTABLES -P FORWARD ACCEPT

        $IPTABLES -A INPUT -i lo -j ACCEPT
        $IPTABLES -A OUTPUT -o lo -j ACCEPT

        # Forward TERMINAL SERVICES from WAN to LAN 10.0.0.12
        $IPTABLES -t nat -A PREROUTING -p tcp -d 195.138.98.98 --dport 3389 -j DNAT --to-destination 10.0.0.12:3389
        $IPTABLES -t nat -A POSTROUTING -s 10.0.0.12 -j SNAT --to-source 195.138.98.98

        # Enable VNC from LAN
        $IPTABLES -A INPUT -j ACCEPT -p tcp --dport 5900 -s 10.0.0.110 -i eth0
        $IPTABLES -A OUTPUT -j ACCEPT -p tcp --sport 5900 -d 10.0.0.110 -o eth0

        • Что-то с PREROUTING-ом странное, !*! vkozlov, 12:26 , 12-Май-06 (4)
          Добавил в конфиг

          $IPTABLES -A INPUT -j LOG
          $IPTABLES -A OUTPUT -j LOG
          $IPTABLES -A FORWARD -j LOG

          И вот что вижу в логах:

          May 12 11:22:18 dproxy kernel: IN=eth1 OUT=eth0 SRC=83.218.196.9 DST=10.0.0.12 LEN=48 TOS=0x00 PREC=0x00 TTL=122 ID=1343 PROTO=TCP SPT=49947 DPT=3389 WINDOW=65535 RES=0x00 SYN URGP=0
          May 12 11:22:21 dproxy kernel: IN=eth1 OUT=eth0 SRC=83.218.196.9 DST=10.0.0.12 LEN=48 TOS=0x00 PREC=0x00 TTL=122 ID=1370 PROTO=TCP SPT=49947 DPT=3389 WINDOW=65535 RES=0x00 SYN URGP=0
          May 12 11:22:27 dproxy kernel: IN=eth1 OUT=eth0 SRC=83.218.196.9 DST=10.0.0.12 LEN=48 TOS=0x00 PREC=0x00 TTL=122 ID=1422 PROTO=TCP SPT=49947 DPT=3389 WINDOW=65535 RES=0x00 SYN URGP=0

          • Что-то с PREROUTING-ом странное, !*! Kliver, 15:38 , 12-Май-06 (5)
            >Добавил в конфиг
            >
            >$IPTABLES -A INPUT -j LOG
            >$IPTABLES -A OUTPUT -j LOG
            >$IPTABLES -A FORWARD -j LOG
            >
            >И вот что вижу в логах:
            >
            >May 12 11:22:18 dproxy kernel: IN=eth1 OUT=eth0 SRC=83.218.196.9 DST=10.0.0.12 LEN=48 TOS=0x00 PREC=0x00
            >TTL=122 ID=1343 PROTO=TCP SPT=49947 DPT=3389 WINDOW=65535 RES=0x00 SYN URGP=0
            >May 12 11:22:21 dproxy kernel: IN=eth1 OUT=eth0 SRC=83.218.196.9 DST=10.0.0.12 LEN=48 TOS=0x00 PREC=0x00
            >TTL=122 ID=1370 PROTO=TCP SPT=49947 DPT=3389 WINDOW=65535 RES=0x00 SYN URGP=0
            >May 12 11:22:27 dproxy kernel: IN=eth1 OUT=eth0 SRC=83.218.196.9 DST=10.0.0.12 LEN=48 TOS=0x00 PREC=0x00
            >TTL=122 ID=1422 PROTO=TCP SPT=49947 DPT=3389 WINDOW=65535 RES=0x00 SYN URGP=0

            Почему-то в логах только пакеты из forward и нет пакетов из цепочки input.

            А (нескромный вопрос)терминал сервис на 10.0.0.12 запущен? И нет ли там фильтра кому он доступен?

            • Это не с прероутингом а с /dev/head траблы были, !*! vkozlov, 15:48 , 12-Май-06 (6)
              >А (нескромный вопрос)терминал сервис на 10.0.0.12 запущен? И нет ли там фильтра
              >кому он доступен?

              Буквально 10 минут назад нашел в чем дело. Ну чайник я, чайник!

              По своей чайниковости я думал, что раз на 10.0.0.12 на порт 3389 с линуксового хоста телнетом я сажусь, 10.0.0.12 с карточкой eth1 линуксового хоста в одной подсети, и в правилах есть DNAT, то можно на терминальном сервере дефолтгейтвей не прописывать...

              Оказывается таки надо. Как только прописал на терминальном сервере дефолтгейтвей в сторону линуксового ящика - всё заработало.





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру