The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
iptables and ports, !*! Alexander, 24-Мрт-05, 08:39  [смотреть все]
Hi, All!
У меня такая ситуация:
есть машина под линух, которая работает как гейтвей. Как настроить iptables, чтобы одна из машин лок. сети могла открывать/писать/читать из портов определенного диапазона гейтвейа(тоесть через позволить форвардинг через порты гейтвейа)?
  • iptables and ports, !*! jonatan, 09:35 , 24-Мрт-05 (1)
    # eth0 - внешний, eth1 - внутренний
    # Указать необходимые порты
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -i eth1 -s 192.168.1.1 -o eth0 -p tcp -m multiport --dport 21,25,53,80,110,443 -j ACCEPT
    iptables -A FORWARD -i eth1 -s 192.168.1.1 -o eth0 -p udp -m multiport --dport 53,123 -j ACCEPT

    # Если нужен SNAT. 1.2.3.4 - "реальный" ip
    iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 1.2.3.4

    • iptables and ports, !*! Lynx, 11:43 , 24-Мрт-05 (2)
      ># eth0 - внешний, eth1 - внутренний
      ># Указать необходимые порты
      >iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
      >iptables -A FORWARD -i eth1 -s 192.168.1.1 -o eth0 -p tcp -m
      >multiport --dport 21,25,53,80,110,443 -j ACCEPT
      >iptables -A FORWARD -i eth1 -s 192.168.1.1 -o eth0 -p udp -m
      >multiport --dport 53,123 -j ACCEPT
      >
      ># Если нужен SNAT. 1.2.3.4 - "реальный" ip
      >iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 1.2.3.4

      А как же -m state --state NEW ?
      Новые то пакеты будут дропаться.


      • iptables and ports, !*! jonatan, 12:25 , 24-Мрт-05 (3)
        >А как же -m state --state NEW ?
        >Новые то пакеты будут дропаться.

        Откуда такая уверенность?

        • iptables and ports, !*! Lynx, 12:42 , 24-Мрт-05 (4)
          >>А как же -m state --state NEW ?
          >>Новые то пакеты будут дропаться.
          >
          >Откуда такая уверенность?

          Из настраивания firewall-a и man-ов.

          • iptables and ports, !*! jonatan, 12:49 , 24-Мрт-05 (5)
            iptables -A FORWARD -i eth1 -s 192.168.1.1 -o eth0 -p tcp -m multiport --dport 21,25,53,80,110,443 -j ACCEPT

            Это правило разрешить исходящие tcp-пакеты с компа 192.168.1.1 в Инет на указанные порты.

            iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

            Это разрешит ответы на них (уже установленные соединения).
            В каком месте предлагаете NEW поставить?

            • iptables and ports, !*! Lynx, 13:01 , 24-Мрт-05 (6)
              >iptables -A FORWARD -i eth1 -s 192.168.1.1 -o eth0 -p tcp -m
              >multiport --dport 21,25,53,80,110,443 -j ACCEPT
              OK.
              Но я бы здесь добавил: -m state --state NEW,ESTABLISHED
              или
              -m state --state ESTABLISHED
              в случае всяких FTP и наверное ICQ
              >
              >Это правило разрешить исходящие tcp-пакеты с компа 192.168.1.1 в Инет на указанные
              >порты.
              >
              >iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
              >
              >Это разрешит ответы на них (уже установленные соединения).
              >В каком месте предлагаете NEW поставить?
              • iptables and ports, !*! jonatan, 14:14 , 24-Мрт-05 (7)
                >OK.
                >Но я бы здесь добавил: -m state --state NEW,ESTABLISHED
                >или
                >-m state --state ESTABLISHED
                >в случае всяких FTP и наверное ICQ
                >>
                Поясните все-таки зачем здесь NEW.
                Работа FTP обеспечивается указанием RELATED в правиле
                iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
                и модулями
                ip_conntrack_ftp
                ip_nat_ftp
                • iptables and ports, !*! Lynx, 14:59 , 24-Мрт-05 (8)
                  >>OK.
                  >>Но я бы здесь добавил: -m state --state NEW,ESTABLISHED
                  >>или
                  >>-m state --state ESTABLISHED
                  >>в случае всяких FTP и наверное ICQ
                  >>>
                  >Поясните все-таки зачем здесь NEW.
                  >Работа FTP обеспечивается указанием RELATED в правиле
                  >iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
                  >и модулями
                  >ip_conntrack_ftp
                  >ip_nat_ftp
                  Здесь - это где? Я имею ввиду вот это правило:
                  iptables -A FORWARD -i eth1 -s 192.168.1.1 -o eth0 -p tcp -m multiport --dport 21,25,53,80,110,443 -j ACCEPT
                  и это правило, я бы разделил по портам и на исходящие пакеты строил бы
                  правила с -m state --state NEW,ESTABLISHED
                  а на приходящие(возвращаемые) с -m state --state ESTABLISHED
                  это что касается нашего случая from local net - to inernet.
                  Если по умолчанию у нас разрешены все состояния, что ж у каждого свои
                  предпочтения.
                  Что касается FTP:
                  то наш случай
                  dpt:21 state NEW,ESTABLISHED
                  spt:21 state ESTABLISHED
                  dpt:20 state ESTABLISHED
                  spt:20 state RELATED,ESTABLISHED
                  spts:1024:65535 dpts:1024:65535 state RELATED,ESTABLISHED
                  spts:1024:65535 dpts:1024:65535 state ESTABLISHED
                  о портах 20 и >1024, а также пасивном и активном состояниях работы FTP
                  у вас вообще ни слова.
                  • iptables and ports, !*! jonatan, 15:20 , 24-Мрт-05 (9)
                    >Здесь - это где? Я имею ввиду вот это правило:
                    > iptables -A FORWARD -i eth1 -s 192.168.1.1 -o eth0 -p tcp
                    >-m multiport --dport 21,25,53,80,110,443 -j ACCEPT
                    >и это правило, я бы разделил по портам и на исходящие пакеты
                    >строил бы
                    >правила с -m state --state NEW,ESTABLISHED
                    >а на приходящие(возвращаемые) с -m state --state ESTABLISHED
                    >это что касается нашего случая from local net - to inernet.
                    >Если по умолчанию у нас разрешены все состояния, что ж у каждого
                    >свои
                    >предпочтения.
                    >Что касается FTP:
                    >то наш случай
                    >dpt:21 state NEW,ESTABLISHED
                    >spt:21 state ESTABLISHED
                    >dpt:20 state ESTABLISHED
                    >spt:20 state RELATED,ESTABLISHED
                    >spts:1024:65535 dpts:1024:65535 state RELATED,ESTABLISHED
                    >spts:1024:65535 dpts:1024:65535 state ESTABLISHED
                    >о портах 20 и >1024, а также пасивном и активном состояниях работы FTP
                    >у вас вообще ни слова.

                    Судя по этому, Вы еще недостаточно разобрались с iptables. Указанные мной правила и модули обеспечивают работу FTP как в пассивном, так и в активном режимах. Вот выдержка из Iptables Tutorial:

                    ...
                    Состояние RELATED одно из самых "хитрых". Соединение получает статус RELATED если оно связано с другим соединением, имеющим признак ESTABLISHED. Это означает, что соединение получает признак RELATED тогда, когда оно инициировано из уже установленного соединения, имеющего признак ESTABLISHED. Хорошим примером соединения, которое может рассматриваться как RELATED, является соединение FTP-data, которое является связанным с портом FTP control, а так же DCC соединение, запущенное из IRC. Обратите внимание на то, что большинство протоколов TCP и некоторые из протоколов UDP весьма сложны и передают информацию о соединении через область данных TCP или UDP пакетов и поэтому требуют наличия специальных вспомогательных модулей для корректной работы.
                    ...

                    • iptables and ports, !*! Lynx, 16:04 , 24-Мрт-05 (10)
                      >
                      >Судя по этому, Вы еще недостаточно разобрались с iptables. Указанные мной правила
                      OK. No problems.
                      Что именно из "Судя по этому" указывает на недостаточность.
                      >и модули обеспечивают работу FTP как в пассивном, так и в
                      >активном режимах. Вот выдержка из Iptables Tutorial:
                      Вы можете привести пример работы FTP для приведеного вами набора правил,
                      ну как это сделано в том же Iptables Tutorial: какие пакеты и с каким
                      состоянием в какие попадают цепочки правил.
                      >
                      >...
                      • iptables and ports, !*! jonatan, 16:20 , 24-Мрт-05 (11)
                        Сделаем проще. Настройте iptables как указано ниже:

                        iptables -F
                        iptables -Z
                        iptables -X

                        iptables -P INPUT DROP
                        iptables -P FORWARD DROP
                        iptables -P OUTPUT ACCEPT

                        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
                        iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport --dport 21,25,53,80,110,443 -j ACCEPT
                        iptables -A FORWARD -i eth1 -o eth0 -p udp -m multiport --dport 53,123 -j ACCEPT

                        iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 1.2.3.4

                        убедитесь, что загружены модули ip_conntrack_ftp и ip_nat_ftp.
                        Запустите любого ftp-клиента (например, консольный ftp) на компе из локальной сети и содинитесь с любым ftp-сервером в Инете сначала в активном, а потом в пассивном режимах и дайте команду ls. Результаты прошу сюда.
                        Для наглядности запустите одновременно сниффер на шлюзе.

                        • iptables and ports, !*! Lynx, 16:16 , 25-Мрт-05 (12)
                          >Сделаем проще. Настройте iptables как указано ниже:
                          >
                          >iptables -F
                          >iptables -Z
                          >iptables -X
                          >
                          >iptables -P INPUT DROP
                          >iptables -P FORWARD DROP
                          >iptables -P OUTPUT ACCEPT
                          >
                          >iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
                          >iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport --dport
                          >21,25,53,80,110,443 -j ACCEPT
                          >iptables -A FORWARD -i eth1 -o eth0 -p udp -m multiport --dport
                          >53,123 -j ACCEPT
                          >
                          Да, вы правы - это работает. Одно правило на все случаи...

                          >iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 1.2.3.4
                          >
                          >убедитесь, что загружены модули ip_conntrack_ftp и ip_nat_ftp.
                          >Запустите любого ftp-клиента (например, консольный ftp) на компе из локальной сети и
                          >содинитесь с любым ftp-сервером в Инете сначала в активном, а потом
                          >в пассивном режимах и дайте команду ls. Результаты прошу сюда.
                          >Для наглядности запустите одновременно сниффер на шлюзе.





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

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