The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Интерфейсы+iptables, !*! skydion, 08-Июн-07, 19:40  [смотреть все]
Есть два интерфейса eth0 и eth3.
Один смотрит в локалку, другой внешний.
Для iptables какой из них будет для цепочки INPUT, а какой для OUTPUT?
  • Интерфейсы+iptables, !*! VIDok, 14:16 , 10-Июн-07 (1)
    >Есть два интерфейса eth0 и eth3.
    >Один смотрит в локалку, другой внешний.
    >Для iptables какой из них будет для цепочки INPUT, а какой для
    >OUTPUT?

    Вот оооочень хороший материал по иптаблес https://www.opennet.ru/docs/RUS/iptables/ , когдато по нему настраивал.
    А по твоему вопросу, скажу, что цепочки относятся к таблицам, таблиц по умолчанию 3 nat mangle filter, в каждой таблице есть цепочки инпут и оутпут (и еще другие специфичные для каждой таблицы), так вот пакет придя на фаервол считается инпут, когда он обрабатывается он может стать форвард или оутпут или отброситься, если пакет создан локальным приложением то он пройдет через оутпут цепочки таблиц.
    И еще вопрос интересно поставлен, какой интерфейс будет input а какой output?, у тебя ведь из локалки тоже будут поступать пакеты, они будут инпут, потому как они пришли на брандмауэр, но и пакеты которые пришли из внешней сети тоже будут инпут потому что пришли.
    Сумбурно получилось у меня, читай доку.

    • Интерфейсы+iptables, !*! skydion, 15:52 , 10-Июн-07 (2)
      >Вот оооочень хороший материал по иптаблес https://www.opennet.ru/docs/RUS/iptables/ , когдато по нему настраивал.
      >
      >А по твоему вопросу, скажу, что цепочки относятся к таблицам, таблиц по
      >умолчанию 3 nat mangle filter, в каждой таблице есть цепочки инпут
      >и оутпут (и еще другие специфичные для каждой таблицы), так вот
      >пакет придя на фаервол считается инпут, когда он обрабатывается он может
      >стать форвард или оутпут или отброситься, если пакет создан локальным приложением
      >то он пройдет через оутпут цепочки таблиц.
      >И еще вопрос интересно поставлен, какой интерфейс будет input а какой output?,
      >у тебя ведь из локалки тоже будут поступать пакеты, они будут
      >инпут, потому как они пришли на брандмауэр, но и пакеты которые
      >пришли из внешней сети тоже будут инпут потому что пришли.
      >Сумбурно получилось у меня, читай доку.

      Окей кто может подкиньте самый простой фаервол
      Снаружи (eth3) должно быть закрыто все кроме кроме конекта на 25 и получения ответов на 53,123,1433

      Из локалки наружу ничего не ходит кроме как на 1433 из нескольких хостов
      Все юзеры должны иметь интернет только через сквид.

      Сам сервак может ходить куда угодно.
      Как это сделать? Маскарадинг нужно?

      iptables -P FORWARD DROP
      iptables -t nat -P PREROUTING ACCEPT
      iptables -t nat -P POSTROUTING ACCEPT
      iptables -t nat -P OUTPUT ACCEPT
      iptables -t nat -F PREROUTING
      iptables -t nat -F POSTROUTING
      iptables -t nat -F OUTPUT
      iptables -t nat -A POSTROUTING -s $LAN/24 -j MASQUERADE
      iptables -A FORWARD -d $LAN/24 -j ACCEPT
      iptables -A FORWARD -s $LAN/24 -j ACCEPT

      сейчас только вот это есть, а дальше что и как резать не очень понятно с двумя интерфейсами.

      • Интерфейсы+iptables, !*! skydion, 22:34 , 10-Июн-07 (3)
        >>Вот оооочень хороший материал по иптаблес https://www.opennet.ru/docs/RUS/iptables/ , когдато по нему настраивал.
        >>
        >>А по твоему вопросу, скажу, что цепочки относятся к таблицам, таблиц по
        >>умолчанию 3 nat mangle filter, в каждой таблице есть цепочки инпут
        >>и оутпут (и еще другие специфичные для каждой таблицы), так вот
        >>пакет придя на фаервол считается инпут, когда он обрабатывается он может
        >>стать форвард или оутпут или отброситься, если пакет создан локальным приложением
        >>то он пройдет через оутпут цепочки таблиц.
        >>И еще вопрос интересно поставлен, какой интерфейс будет input а какой output?,
        >>у тебя ведь из локалки тоже будут поступать пакеты, они будут
        >>инпут, потому как они пришли на брандмауэр, но и пакеты которые
        >>пришли из внешней сети тоже будут инпут потому что пришли.
        >>Сумбурно получилось у меня, читай доку.
        >
        >Окей кто может подкиньте самый простой фаервол
        >Снаружи (eth3) должно быть закрыто все кроме кроме конекта на 25 и
        >получения ответов на 53,123,1433
        >
        >Из локалки наружу ничего не ходит кроме как на 1433 из нескольких
        >хостов
        >Все юзеры должны иметь интернет только через сквид.
        >
        >Сам сервак может ходить куда угодно.
        >Как это сделать? Маскарадинг нужно?
        >
        >iptables -P FORWARD DROP
        >iptables -t nat -P PREROUTING ACCEPT
        >iptables -t nat -P POSTROUTING ACCEPT
        >iptables -t nat -P OUTPUT ACCEPT
        >iptables -t nat -F PREROUTING
        >iptables -t nat -F POSTROUTING
        >iptables -t nat -F OUTPUT
        >iptables -t nat -A POSTROUTING -s $LAN/24 -j MASQUERADE
        >iptables -A FORWARD -d $LAN/24 -j ACCEPT
        >iptables -A FORWARD -s $LAN/24 -j ACCEPT
        >
        >сейчас только вот это есть, а дальше что и как резать не
        >очень понятно с двумя интерфейсами.


        Ребята вопрос жизни и смерти! Нужен доступ с локалки на внешний сервер на порт 1433
        ХЕЕЕЕЛЛЛЛЛЛЛППП!!!!!!

        • Интерфейсы+iptables, !*! reader, 23:53 , 10-Июн-07 (4)
          для 1433 nat (MASQUERADE) нужен, и это тоже
          echo 1 > /proc/sys/net/ipv4/ip_forward

          для прокси nat не нужен

          • Интерфейсы+iptables, !*! skydion, 10:05 , 11-Июн-07 (5)
            >для 1433 nat (MASQUERADE) нужен, и это тоже
            >echo 1 > /proc/sys/net/ipv4/ip_forward
            >
            >для прокси nat не нужен


            Я это понимаю, но я незнаю правильно ли сейчас сделано, а то доступ имеют все и ко всему.
            А нужно исходящий трафик обрезать кроме 1433, и трафика на шлюз.
            Как это правильно сделать?

            Сейчас схема такая

            Реальная
            адреса 82.x.x.x |CISCO| 10.10.10.1 --- 10.10.10.2 (eth3) |Server| 192.168.x.x (eth0) ----- Локалка

            Вот и нужно все это настроить, кто поможет?
            И еще почта наружу ходит, а локально не доставляется, висит в очереди.

            • Интерфейсы+iptables, !*! VIDok, 09:45 , 13-Июн-07 (6)
              Вот рабочий конфиг, подставь свои адреса и интерфейсы
              ------------------------------
              #!/bin/sh
              # Настройка firewall на iptables
              #
              /sbin/depmod -a
              #
              # Загрузка модулей
              #
              /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 ip_conntrack_ftp
              /sbin/modprobe ip_conntrack_irc
              /sbin/modprobe ip_nat_ftp
              /sbin/modprobe ip_nat_irc

              # Сбрасываем все цепочки
              iptables -F
              iptables -t nat -F
              iptables -t mangle -F
              # Определяем политику по умолчанию
              iptables -P INPUT DROP
              iptables -P OUTPUT ACCEPT
              iptables -P FORWARD DROP
              # Сбрасываем цепочку POSTROUTING в таблице nat
              iptables -t nat -F POSTROUTING

              # Настройка интерфейсов и IP
              #
              # Интернет
              INET_IP="xxx.xxx.xxx.xxx" # ИП адрес реальный, на внешней сетевухе
              INET_IP2="xxx.xxx.xxx.xxx" # ИП адрес приватной сети провайдера, вида 192.168.х.х
                             # для доступа из локальной сети провайдера, сделан в виде алиаса для внешней сетевухи
              INET_IFACE="eth1" # инетрфейс смотрящий во внешнюю сеть

              # Локальная сеть
              LAN_IP="xxx.xxx.xxx.xxx" # ИП адрес локальной сетевухи
              LAN_IFACE="eth0" # интерфейс смотрящий в локальную сеть
              LAN_NET="xxx.xxx.xxx.0/255.255.255.0" # Локальная подсеть из частного диапазона (192.168.0.0/255.255.255.0 к примеру)

              # Настройка iptables
              IPTABLES="/usr/sbin/iptables" # команда запуска iptables, можно без пути, или подправить путь под себя

              # Включаем пересылку пакетов
              echo 1 > /proc/sys/net/ipv4/ip_forward

              # Безусловно разрешаем соединения по локальному интерфейсу (loopback, 127.0.0.1)
              $IPTABLES -A INPUT -i lo -j ACCEPT

              # Делаем доступ из внешней сети (MY)
              #$IPTABLES -A INPUT -s xxx.xxx.xxx.xxx -j ACCEPT # полный доступ из сети провайдера или интернета, для доверенных ИП, если нужен

              # Разрешаем пересылку (FORWARD) всех пакетов с локального интерфейса eth0, этого может и не нужно
              $IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
              $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

              # Принимаем все пакеты, относящиеся к установленным соединениям
              $IPTABLES -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT

              # Будут отброшены все пакеты tcp имеющие статус NEW, но не имеющие флагов SYN,ACK
              # предохраняет от атак, подробности в приложении В4 Iptables Tutorial
              $IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP

              # Редирект порта 80 для прозрачного проксирования
              $IPTABLES -t nat -A PREROUTING -i eth0 -s $LAN_NET -p tcp --dport 80 -j REDIRECT --to-port 3128

              # Настраиваем NAT
              $IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

              # ping, разрешаем пинг, пожно по неоходимости разрешить другие icmp пакеты, но этого вполне достаточно
              $IPTABLES -A INPUT -p ICMP --icmp-type 8 -j ACCEPT

              #######################################################
              ##
              ## Открытие и закрытие портов
              ##
              #######################################################
              # Здесь можно открыть некоторые порты, т.к. по умолчанию закрыты все
              #######################################################
              # TCP
              #######################################################
              # Порт 21(ftp) открыт только для ИП адресов диапазона 192.168.0.0/24, сеть провайдера
              $IPTABLES -A INPUT -p TCP -s 192.168.0.0/255.255.0.0 --dport 20:21 -j ACCEPT
              # Доступ к прокси серверу из локалки, порт 3128
              $IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 3128 -j ACCEPT
              # Это Веб сервер
              $IPTABLES -A INPUT -p TCP -s 0/0 --dport 80 -j ACCEPT
              # 113 порт для службы ident, нужен для ирк протокола и еще чего то
              $IPTABLES -A INPUT -p TCP -s 0/0 --dport 113 -j ACCEPT
              # Это для ИРК
              $IPTABLES -A INPUT -p TCP -s 0/0 --dport 6667 -j ACCEPT
              # Это для почты
              $IPTABLES -A INPUT -p TCP -s 0/0 --dport 110 -j ACCEPT # POP3
              $IPTABLES -A INPUT -p TCP -s 0/0 --dport 25 -j ACCEPT # SMTP

              ####
              $IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 1433 -j ACCEPT # MS-SQL
              # если ты цепляешься к серваку из внешней сети (что скорее всего, т.к. MS сервера нету
              #под линух :) то оставь $LAN_NET, если доступ по этому порту нужен к твоему серваку со
              #всех возможных ИП то поставь 0/0, и подправь в секции UDP

              ########################################################
              # UDP
              ########################################################
              # Порт 21(ftp) открыт только для ИП адресов диапазона 192.168.0.0/24
              $IPTABLES -A INPUT -p UDP -s 192.168.0.0/255.255.0.0 --dport 20:21 -j ACCEPT
              # DNS service, только локальная сеть, если у тебя нет своего
              # настроенного ДНС домена, то доступ из вне не нужен
              $IPTABLES -A INPUT -p UDP -s $LAN_NET --dport 53 -j ACCEPT
              # Точное время порт 123, ntp сервис
              $IPTABLES -A INPUT -p UDP -s $LAN_NET --dport 123 -j ACCEPT
              # Это для Аськи
              $IPTABLES -A INPUT -p UDP -s 0/0 --dport 5190 -j ACCEPT
              # Это для почты
              $IPTABLES -A INPUT -p UDP -s 0/0 --dport 110 -j ACCEPT # POP3
              $IPTABLES -A INPUT -p UDP -s 0/0 --dport 25 -j ACCEPT # SMTP
              ######
              $IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 1433 -j ACCEPT # MS-SQL




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

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