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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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)

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



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    У меня нет Debian'а, а есть Ubunu дома на медиасервере, там надо пакет для загрузки правил автоматом:

    Цитата:
    iptables-persistent - boot-time loader for iptables rules

    По идее оно и дебиане есть...
     
    Либо просто в rc.local написать команду  
    iptables-restore < /path/to/file с правилами
     
    Или в /etc/network/interfaces для внешней сетевой карты
     
    pre-up iptables-restore < /path/to/file с правилами
    post-down iptables-save > /path/to/file с правилами


    ----------
    Fools rush in where angels fear to tread.

    Всего записей: 5475 | Зарегистр. 10-09-2003 | Отправлено: 12:33 26-03-2012 | Исправлено: Ruza, 12:37 26-03-2012
    Alukardd



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

    Цитата:
    По идее оно и дебиане есть...  
    есть... На самом деле пакет из себя ни чего не представляет... Создаёт скрипт в init.d, который читает единственный файл /etc/iptables/rules (читает командой iptables-restore <). Сохраняешь в этот файл правила сам.
    shupike
    Цитата:
    чувствую, придется покурить мануалы
    ссылок из шапки данной темы, imho, более чем достаточно.

    ----------
    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.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 15:46 26-03-2012
    Ruza



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

    Цитата:
    Создаёт скрипт в init.d, который читает единственный файл /etc/iptables/rules

    Кстати да, я его ещё руками исправлял... Чем то он мне не понравился

    ----------
    Fools rush in where angels fear to tread.

    Всего записей: 5475 | Зарегистр. 10-09-2003 | Отправлено: 22:36 26-03-2012
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ruza
    Ну что на создавали, то и правили Этот пакет сам ни чего не умеет...

    ----------
    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.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 23:19 26-03-2012
    Ruza



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

    Цитата:
    Ну что на создавали, то и правили

    Не не не,   пришлось сам startup переписывать...

    ----------
    Fools rush in where angels fear to tread.

    Всего записей: 5475 | Зарегистр. 10-09-2003 | Отправлено: 09:19 27-03-2012
    AkeHayc

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    Какой шейпер посоветуете на основе iptables/tc
    СпасибО!

    Всего записей: 520 | Зарегистр. 24-02-2009 | Отправлено: 08:10 28-03-2012 | Исправлено: AkeHayc, 08:17 28-03-2012
    urodliv



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

    Цитата:
    Какой шейпер посоветуете на основе iptables/tc

    Проще всего и достаточно функционально НТВ. Документации в сети море, правда сплошная перепечатка LARTC или его перевода.
    И вот ещё что. Alukardd, прошу прощения, что отбираю ваш хлеб

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6714 | Зарегистр. 29-04-2009 | Отправлено: 11:02 28-03-2012 | Исправлено: urodliv, 11:13 28-03-2012
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AkeHayc
    Про дисциплины обработки очередей вот тут хорошо изложено. А так я считаю что htb самое оно.
    p.s. щас в шапку ссылку закину.
     
    urodliv
    Цитата:
    Alukardd, прошу прощения, что отбираю ваш хлеб
    Всё, ухожу с форума!

    ----------
    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.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 14:24 28-03-2012
    shupike

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Коллеги, выручайте Копался в цепочках, внезапно осознал, что не вижу правила, разрешающего 22 порт (SSH) из внешнего мира. Смотрю таблицу filter:
     
    iptables -t filter -L
    Chain INPUT (policy DROP)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere
    LOG        all  --  loopback/8           anywhere            LOG level warning
    DROP       all  --  loopback/8           anywhere
    ACCEPT     all  --  anywhere             255.255.255.255
    ACCEPT     all  --  192.168.1.0/24       anywhere
    ACCEPT    !tcp  --  anywhere             base-address.mcast.net/4
    LOG        all  --  192.168.1.0/24       anywhere            LOG level warning
    DROP       all  --  192.168.1.0/24       anywhere
    ACCEPT     all  --  anywhere             255.255.255.255
    ACCEPT     all  --  anywhere             mail.benbrook-voip.net
    ACCEPT     all  --  anywhere             195.58.***.255
    LOG        all  --  anywhere             anywhere            LOG level warning
    DROP       all  --  anywhere             anywhere
     
    Chain FORWARD (policy DROP)
    target     prot opt source               destination
    ACCEPT     all  --  192.168.1.0/24       anywhere
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
    LOG        all  --  anywhere             192.168.1.0/24      LOG level warning
    DROP       all  --  anywhere             192.168.1.0/24
    LOG        all  --  anywhere             anywhere            LOG level warning
    DROP       all  --  anywhere             anywhere
     
    Chain OUTPUT (policy DROP)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere
    ACCEPT     all  --  anywhere             255.255.255.255
    ACCEPT     all  --  anywhere             192.168.1.0/24
    ACCEPT    !tcp  --  anywhere             base-address.mcast.net/4
    LOG        all  --  anywhere             192.168.1.0/24      LOG level warning
    DROP       all  --  anywhere             192.168.1.0/24
    ACCEPT     all  --  anywhere             255.255.255.255
    ACCEPT     all  --  mail.benbrook-voip.net  anywhere
    ACCEPT     all  --  195.58.***.255      anywhere
    LOG        all  --  anywhere             anywhere            LOG level warning
    DROP       all  --  anywhere             anywhere
     
    Где тут порт 22? Он точно работает, потому как захожу из внешнего мира и если выполнить iptables -F - связь с сервером исчезает

    Всего записей: 116 | Зарегистр. 22-12-2009 | Отправлено: 16:24 28-03-2012 | Исправлено: shupike, 16:25 28-03-2012
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shupike
    Вы бы лучше вывод команды iptables -t filter -nvL выложили

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6714 | Зарегистр. 29-04-2009 | Отправлено: 18:55 28-03-2012
    shupike

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

    Цитата:
    Я так подозреваю что после DROP уже пофик что ты там разрешаешь. Попробуй переместить свои 2 строки с ACCEPT'ом выше чем правила DROP.  

    Не догоняю - а как поднять правило выше, чем DROP? В ipfw были номера под каждое правило... Ну или же как грохнуть все правила в FORWARD'e, а потом записать свои?
     
    Добавлено:

    Цитата:
    Вы бы лучше вывод команды iptables -t filter -nvL выложили

    iptables -t filter -nvL
    Chain INPUT (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination
        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
        0     0 LOG        all  --  !lo    *       127.0.0.0/8          0.0.0.0/0           LOG flags 0 level 4
        0     0 DROP       all  --  !lo    *       127.0.0.0/8          0.0.0.0/0
       54 17779 ACCEPT     all  --  eth0   *       0.0.0.0/0            255.255.255.255
     1956  186K ACCEPT     all  --  eth0   *       192.168.1.0/24       0.0.0.0/0
        0     0 ACCEPT    !tcp  --  eth0   *       0.0.0.0/0            224.0.0.0/4
        0     0 LOG        all  --  eth1   *       192.168.1.0/24       0.0.0.0/0           LOG flags 0 level 4
        0     0 DROP       all  --  eth1   *       192.168.1.0/24       0.0.0.0/0
        0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            255.255.255.255
       72  5343 ACCEPT     all  --  eth1   *       0.0.0.0/0            195.58.***.***
        0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            195.58.***.255
        0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4
        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
     
    Chain FORWARD (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination
    10647 3033K ACCEPT     all  --  eth0   eth1    192.168.1.0/24       0.0.0.0/0
    17339   22M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
        0     0 LOG        all  --  *      eth1    0.0.0.0/0            192.168.1.0/24      LOG flags 0 level 4
        0     0 DROP       all  --  *      eth1    0.0.0.0/0            192.168.1.0/24
        6   304 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4
        6   304 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
        0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.7        tcp dpt:3348
     
    Chain OUTPUT (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination
        0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
        0     0 ACCEPT     all  --  *      eth0    0.0.0.0/0            255.255.255.255
     1626  149K ACCEPT     all  --  *      eth0    0.0.0.0/0            192.168.1.0/24
        0     0 ACCEPT    !tcp  --  *      eth0    0.0.0.0/0            224.0.0.0/4
        0     0 LOG        all  --  *      eth1    0.0.0.0/0            192.168.1.0/24      LOG flags 0 level 4
        0     0 DROP       all  --  *      eth1    0.0.0.0/0            192.168.1.0/24
        0     0 ACCEPT     all  --  *      eth1    0.0.0.0/0            255.255.255.255
       70  6253 ACCEPT     all  --  *      eth1    195.58.***.***       0.0.0.0/0
        0     0 ACCEPT     all  --  *      eth1    195.58.***.255      0.0.0.0/0
        0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4
        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
     
    Напомню - eth1 - внешний интерфейс, eth0- смотрит в локалку.

    Всего записей: 116 | Зарегистр. 22-12-2009 | Отправлено: 19:44 28-03-2012
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Для цепочки OUTPUT:

    Цитата:
    72  5343 ACCEPT     all  --  eth1   *       0.0.0.0/0            195.58.***.***

    Читать так: разрешить входящий трафик через интерфейс eth1 со всех адресов, по всем протоколам на адрес 195.58.х.х
    Отсюда и доступность вашего сервака из инет по 22 порту.

    Цитата:
    0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            195.58.***.255

    Подозреваю, что это правило бессмысленно.

    Цитата:
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

    Это правило бессмысленно потому, что у вас и так запрещающая политика цепочки (policy DROP).

    Цитата:
    В ipfw были номера под каждое правило...

    Здесь примерно так же:
    iptables -D OUTPUT 2 - удаляем второе правило из цепочки OUTPUT (считать сверху)
    iptables -I OUTPUT 2 - вставляем правило на второе место в цепочке OUTPUT

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6714 | Зарегистр. 29-04-2009 | Отправлено: 20:17 28-03-2012
    shupike

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ура, получилось Пробросил успешно Спасибо всем!

    Всего записей: 116 | Зарегистр. 22-12-2009 | Отправлено: 19:25 29-03-2012
    zepterman

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, есть маршрутизатор на wan интерфейсе - 10.10.10.121/24, на lan - 192.168.1.1/24
     
    Задача, запретить доступ из 10.10.10.0/24 в 192.168.1.0/24 и из 192.168.1.0/24 в 10.10.10.0/24.
     
    Создаю правила:
    iptables -A INPUT -s 10.10.10.0/24 -d 192.168.1.0/24 -j REJECT
    iptables -A INPUT -s 192.168.1.0/24 -d 10.10.10.0/24 -j REJECT
     
    Но почему-то все равно доступ имеется.

    Всего записей: 190 | Зарегистр. 27-04-2006 | Отправлено: 16:27 25-04-2012
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zepterman
    1 - правила вам надо создавать в цепочке FORWARD если вы хотите ограничить доступ внутренних клиентов к каким-либо внешним ресурсам.
    2 - Эм... А в чём прикол поставить шлюз и полностью запретить маршрутизацию? Мб проще тогдпа вообще форвардинг пакетов не разрешать? (echo 0 > /proc/sys/net/ipv4/ip_forward)
     
    И еще, если вам не надо что бы они общались то просто не прописывайте правила SNAT и пакеты из wan сети просто не смогут вернуться... А внутрь так они и вообще не попадут самопроизвольно.

    ----------
    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.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 17:23 25-04-2012 | Исправлено: Alukardd, 17:26 25-04-2012
    zepterman

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd, спасибо, но 192.168.1.0/24 должны иметь доступ в интернет через 10.10.10.1/24, но не должны иметь доступ к 10.10.10.1/24
     
    http://imageshack.us/photo/my-images/821/netgb.png/

    Всего записей: 190 | Зарегистр. 27-04-2006 | Отправлено: 17:41 25-04-2012
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zepterman
    Всё понял.
    Ну описывайте нужные вам правила в цепочке FORWARD. В шапке есть ссылка на wikibooks там всё подробно с примерами об iptables.

    ----------
    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.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 17:56 25-04-2012
    yrkrus



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Доброго дня!
    Подскажите с такой проблемой решил мигрировать с ipfw на pf, для ipfw было собрано ядро с параметрами

    Код:
    options IPFIREWALL
    options IPFIREWALL_FORWARD
    options IPFIREWALL_VERBOSE
    options IPFIREWALL_VERBOSE_LIMIT=5
    options DUMMYNET
    options IPDIVERT

    в настройках rc.conf закомментировал строчки:

    Код:
    #firewall_enable="YES"
    #firewall_script="/etc/firewall.conf"
    #natd_enable="YES"
    #natd_interface="vr0"
    #natd_flags="-f /etc/natd.conf"

    прописал  

    Код:
    pf_enable="YES"
    pf_rules="/etc/pf.conf"
    pf_flags=""
    pflog_enable="YES"
    pflog_logfile="/var/log/pflog"
    pflog_flags=""

     
    на всякий случай в pf.conf написал pass in all и pass out all, что бы проверить работу но после рестарта системы у меня все заблокировано даже банально пинг ping: sendto: permission denied
     
    Что не так я сделал? Как заставить pf стартонуть?

    Всего записей: 379 | Зарегистр. 30-11-2010 | Отправлено: 09:56 28-04-2012 | Исправлено: yrkrus, 09:57 28-04-2012
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос
    RaX
    А собственно зачем? Как вы хотите его использовать?
    На сколько я понимаю такой функционал не предусмотрен. У каждого правила есть свой порядковый номер, возможность задать синоним не предусмотрен, думаю в силу того, что нету и функционала вроде GoTo(label). Для таких целей используются дополнительные цепочки.

    ----------
    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.

    Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 12:57 15-05-2012
    Lennonenko

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    помогите, пожалуйста, с пробросом портов в OpenBSD 5.1
    вот такой временный конфиг

    Код:
    ext_if=re0
    int_if=re1
    set skip on lo
    match in all scrub (no-df)
    pass out on $ext_if proto { tcp udp icmp } all modulate state
    pass in all
    match out on egress inet from !(egress:network) to any nat-to (egress)
    match in log on $ext_if proto tcp from any to any port 3389 rdr-to 192.168.0.200
     

    с ним в локалке есть инет, но не редиректятся толком пакеты на 3389
    tcpdump -i pflog0 при попытке соединения показывает одинокий входящий пакет на 192.168.0.200.3389, но pf, видимо, не пропускает ответ от него
     
    и teamviewer изнутри не коннектится, это мне совсем не понятно

    Всего записей: 41 | Зарегистр. 12-04-2006 | Отправлено: 16:04 16-05-2012 | Исправлено: Lennonenko, 16:07 16-05-2012
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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