Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Закладки » Firewall *nix: iptables, ipfw, pf etc...

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Открыть новую тему     Написать ответ в эту тему

Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iptables
   
Linux

 
  • настройка iptables (крупные статьи переехали на wikibooks)
  • настройка iptables (opennet)
  • Easy Firewall Generator for IPTables Online
  • l7-filter - дополнения для netfilter, позволяющее создавать правила основываясь на данных прикладного уровня.
  • ipset - модуль для ядра Linux к фаерволу netfilter для создания и управления наборами адресов, портов, связок ip+mac.
     
  • схема прохождения пакета через netfilter (или более сложно и подробно)
     
    Так же может быть интересным
  • Перевод руководства по iproute2 и управлению трафиком в Linux (оригинал LARTC) -- внимательно читать оглавление - тема содержит уйму всего!!!
  • Введение в управление трафиком, дисциплины обработки очередей (теория) (opennet) - aka Повесть о Linux и управлении трафиком.
  • QoS в Linux - iproute2 и u32 селектор (хабр)
  • QoS в Linux - iproute2, издеваемся над трафиком (хабр)
     


    ipfw
       
    FreeBSD

  • русский MAN (opennet)
  • настройка ipfw (opennet)
  • настройка ipfw (lissyara)
     
    Достаточно частый вопрос
  • Балансировка и резервирование канала (samag.ru)
     


    pf
       
    OpenBSD

  • начальная настройка pf (lissyara)
  • настройка pf как шлюза (lissyara)

  • Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 23:50 19-08-2010 | Исправлено: Alukardd, 11:42 20-05-2022
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    i81
    Так для того что бы клиенты ходили в интернет через WG External я дал Вам правила выше.
    Теперь что бы что-то запретить надо ПЕРЕД описанными выше правилами добавить нужные запреты, вроде такого:
    iptables -I FORWARD ! -s 10.20.30.0/28 -d 192.168.0.0/16 -j DROP
     
    Добавлено:
    Извиняйте но не готов щас осмысливать прям весь конфиг. Если к ночеру ещё что-то останется под вопросом, то может прочту повнимательнее все что есть.

    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 16:04 23-03-2023
    i81

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Извиняйте но не готов щас осмысливать прям весь конфиг

    Да я просто для общей картины привёл.  
     
    Есть теоретические вопросы:
    1. Как работает команда -I FORWARD 1(понимаю, что один - это номер правила в списке). У меня есть куча правил в конфиге, в которых я у всех писал 1

    Код:
    PostUp = iptables -I FORWARD 1 -i %i -o %i -s 10.20.30.0/24 -d 10.20.30.0/24 -j DROP
    PostUp = iptables -I FORWARD 1 -i %i -o %i -s 10.20.30.0/24 -d 192.168.0.0/16 -j DROP
    PostUp = iptables -I FORWARD 1 -i %i -o %i -s 10.20.30.0/28 -d 10.20.30.0/28 -j ACCEPT

    Так же есть несколько -А ключей.
    Как понять в каком порядке эти строки пишутся в таблицу?  
     
    2. Что означает восклицательный знак вместо порядкового номера  

    Код:
    iptables -I FORWARD ! -s 10.20.30.0/28 -d 192.168.0.0/16 -j DROP

     
    Добавлено:
    И ещё, всё таки я не понимаю, как работает последовательность правил
     

    Код:
     

    -A FORWARD -s 10.20.30.0/24 -d 10.20.30.0/24 -i wg-internal -o wg-internal -j DROP
    -A FORWARD -s 10.20.30.0/24 -i wg-internal -o wg-internal -j ACCEPT
    -A FORWARD -d 10.20.30.0/24 -i wg-internal -o wg-internal -j ACCEPT

     

    Первое запрещает пересылку пакетов между 10.20.30.0/24
    Второе и третье разрешает пересылку.
     
    Я вообще думал, что iptables работает следующим образом: первое правило, которое подошло для пакета отрабатывает и дальше правила не применяются. А в этой последовательность вообще как-то всё непонятно

    Всего записей: 329 | Зарегистр. 08-04-2006 | Отправлено: 16:17 23-03-2023 | Исправлено: i81, 16:25 23-03-2023
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    i81
    -I — значит --insert т.е. вставляем на указанную позицию, номеров жёстких у правил в netfilter нет, соответственно это просто их порядковый номер, т.е. мы просто сдвигаем всё что с указанной позиции на один номер "вниз".
    -A — значит --append, т.е. добавление в конец списка, правила буду добавлять по очереди, чем позже вы сделали append тем "ниже" правило.
    Есть ещё -R (--replace).
    -D (--delete) так же может принимать номер, тогда не надо писать само правило, которое хотим удалить.
     
    Всё это описано в man iptables
    Номера текущих правил можно увидеть добавили ключ --line-numbers к листингу (-L).

    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 16:39 23-03-2023
    i81

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Всё это описано в man iptables

    Я читал. Вопрос в цифре, номере позиции. Та даже, наверное, не в самом номере а в способе добавления правил которые у меня описаны в конфиге сервера WG. Я думал, что они добавляются поочереди сверху вниз (учитывая что у всех -I и 1), а оно не так - непонятно.
     
    Ну и вопрос более приземлённый - как повторить (закрепить) и потом иметь возможность осмысленной вставки в нужное место последовательность правил

    Код:
     

    Chain FORWARD (policy DROP)
    num  target     prot opt source               destination
    1    ACCEPT     all  --  192.168.6.0/24       10.20.30.49
    2    ACCEPT     all  --  10.20.30.49          192.168.6.0/24
    3    ACCEPT     all  --  192.168.6.0/24       10.20.30.0/28
    4    ACCEPT     all  --  10.20.30.0/28        192.168.6.0/24
    5    ACCEPT     all  --  192.168.1.0/24       10.20.30.0/28
    6    ACCEPT     all  --  10.20.30.0/28        192.168.1.0/24
    7    ACCEPT     all  --  192.168.3.0/24       10.20.30.0/28
    8    ACCEPT     all  --  10.20.30.0/28        192.168.3.0/24
    9    ACCEPT     all  --  10.20.30.0/28        10.20.30.0/28
    10   DROP       all  --  10.20.30.0/24        192.168.0.0/16
    11   DROP       all  --  10.20.30.0/24        10.20.30.0/24
    12   ACCEPT     all  --  10.20.30.0/24        anywhere
    13   ACCEPT     all  --  anywhere             10.20.30.0/24
    14   ACCEPT     all  --  10.20.30.0/24        anywhere
    15   ACCEPT     all  --  anywhere             10.20.30.0/24

     

    учитывая тот факт, что при запуске WG Сервера его
    Код:
    PostUp = iptables -I FORWARD 1
    работает как Бог на душу положе, а не по той последовательности, в которой эти строки в конфиге?  

    Всего записей: 329 | Зарегистр. 08-04-2006 | Отправлено: 16:51 23-03-2023
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    i81
    Цитата:
    первое правило, которое подошло для пакета отрабатывает и дальше правила не применяются.
    так и есть))

    Цитата:
    Первое запрещает пересылку пакетов между 10.20.30.0/24
    Второе и третье разрешает пересылку.  
    если коротко, то да, но эти правила покрывают не одно и тоже множество пакетов. Нижнее два намного шире, по сути у них вместо пропущенного -d и -s соответственно используется сеть 0.0.0.0/0 (что Вы наблюдаете при выводе правил опцией -L).
     
    Добавлено:

    Цитата:
     а не по той последовательности, в которой эти строки в конфиге?  
    Давайте на пальцах ещё раз
    Код:
    -A FORWARD rule1
    -A FORWARD rule2
    Добавятся в конфиг, который будет выглядеть так:
    Код:
    ...existing rules...
    rule1
    rule2

     
    А правила
    Код:
    -I FORWARD rule1
    -I FORWARD rule2
    Добавятся в конфиг, который будет выглядеть так:
    Код:
    rule2
    rule1
    ...existing rules...


    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 16:52 23-03-2023 | Исправлено: Alukardd, 16:58 23-03-2023
    i81

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Давайте на пальцах ещё раз

    Чувствую себя дебилом но не понимаю всё равно.  
    1. Почему у Вас нет номера строки
     

    Код:
    -I FORWARD {вот тут} rule1
    -I FORWARD {вот тут} rule2

     
    2. Что всё таки означает восклицательный знак? Предлог "не"
    Почему он у Вас вместо номер строки
    Цитата:
    iptables -I FORWARD ! -s 10.20.30.0/28 -d 192.168.0.0/16 -j DROP


    Всего записей: 329 | Зарегистр. 08-04-2006 | Отправлено: 17:13 23-03-2023 | Исправлено: i81, 17:17 23-03-2023
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    i81
    Цитата:
    1. Почему у Вас нет номера строки
    потому что если не указать номер то считается что вставляем в самое начало списка правил, т.е. на позицию номер 1.

    Цитата:
    2. Что всё таки означает восклицательный знак? Предлог "не"  
    восклицательный знак обозначает именно "не", т.е. отрицание следующего непосредственно за ним условия.
     
    Добавлено:
    Читаю man'ы вслух и с выражением:
    Цитата:
          -I, --insert chain [rulenum] rule-specification
                  Insert one or more rules in the selected chain as the given rule number.  So, if the rule number is 1, the rule or rules are inserted at the head of the chain.  This is also the default if no rule number is specified.
     
    ...
     
    A "!" argument before the address specification inverts the sense of the address.


    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 21:21 23-03-2023
    i81

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Читаю man'ы вслух и с выражением

    Большое спасибо!
    Теперь вроде вопросов не осталось. Теперь понятно как работает

    Всего записей: 329 | Зарегистр. 08-04-2006 | Отправлено: 03:46 24-03-2023
    Koolyan



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день,
     
    Помогите настроить FORWARD трафика c tun0 на tun1, Поднят openvpn сервер eth0(wan) eth1(lan) tun0(vpn_client), на самом openvpn сервере создают подключение openconnect (tun1) к следующему серверу vpn...  
     
    Chain INPUT (policy ACCEPT)                                                                          
    target     prot opt source               destination                                                
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:1194                          
                                                                                                         
    Chain FORWARD (policy ACCEPT)                                                                        
    target     prot opt source               destination                                                
    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED              
    ACCEPT     all  --  10.8.0.0/24          anywhere
     
    Делал так:
     
    sudo iptables -t nat -A POSTROUTING --out-interface tun1 -j MASQUERADE  
    sudo iptables -A FORWARD --in-interface tun0 -j ACCEPT
     
    получаю такой вывод:
    Chain INPUT (policy ACCEPT)                                                                          
    target     prot opt source               destination                                                
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:1194                          
                                                                                                         
    Chain FORWARD (policy ACCEPT)                                                                        
    target     prot opt source               destination                                                
    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED              
    ACCEPT     all  --  10.8.0.0/24          anywhere
    ACCEPT     all  --  anywhere             anywhere (добавляется только эта строка)

    Всего записей: 264 | Зарегистр. 04-08-2006 | Отправлено: 17:30 07-11-2023
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Koolyan
    1. текущие правила лучше нам показывать в виде вывода команды iptables-save.
    2. включен ли вообще forwarding в системе? sysctl net.ipv4.ip_forward
    3. В данном случае правила -j ACCEPT в цепочке FORWARD бесполезно. потому что политика и так ACCEPT стоит, по хорошему, надо разрешать только нужное а всё остальное запрещать.
    4. ну и из приведённой конфигурации совсем не ясно что трафик пришедший в tun0 вообще захочет уходит в tun1. Это вопрос к настроенной маршрутизации, а не firewall'у.

    ----------
    Microsoft gives you windows, linuх gives you the whole house...
    I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

    Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 00:02 09-11-2023
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Закладки » Firewall *nix: iptables, ipfw, pf etc...


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru