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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос
     
    Perfectus88
    Есть ли разница какая именно машина будет включена в локалке? Если зависит от какой-то конкретной машины, то могут ли другие подключаться изнутри к серверу?
     
    NetIN="192.168.1.0/24", префикс не забыли?
    А где правила на подобии allow tcp from any to me dst-port 22 in?

    ----------
    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 | Отправлено: 10:22 03-12-2012 | Исправлено: Alukardd, 10:44 03-12-2012
    Perfectus88

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сервер стоит дома. За ним находятся: 1 машина + роутер, который служит в качестве точки доступа для ноута и прочей ерунды. Изнутри наружу доступ есть всегда и постоянно.

    Цитата:
    allow tcp from any to me dst-port 22 in

    Данные правила не нужны т.к. разрешения дуются на уровне ната.

    Код:
    redirect_port tcp ${IpOUT}:22 22 redirect_port tcp ${IpOUT}:21 21 redirect_port tcp ${IpOUT}:50000-50500 50000-50500 redirect_port tcp ${IpOUT}:80 80

    Все остальное режется.
    Но я и так пробовал без разницы. Аналогичная ситуация.

    Всего записей: 62 | Зарегистр. 17-07-2010 | Отправлено: 11:20 03-12-2012
    Alukardd



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

    Цитата:
    Есть ли разница какая именно машина будет включена в локалке? Если зависит от какой-то конкретной машины, то могут ли другие подключаться изнутри к серверу?  

     
    Добавлено:

    Цитата:
     разрешения дуются на уровне ната
    я не очень силён в замысловатых правилах nat'а в ipfw, но интуитивно это выглядит как обычный redirect и не имеет ни какого отношения к фильтрам allow/deny. Видимо я ошибаюсь...

    ----------
    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 | Отправлено: 11:40 03-12-2012
    Perfectus88

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

    Цитата:
    Есть ли разница какая именно машина будет включена в локалке? Если зависит от какой-то конкретной машины, то могут ли другие подключаться изнутри к серверу?  

    Есть только две машины как я уже писал...
    Стационарник и ноут. Ноут стоит за роутером. Разницы нет.
    Доступ есть на обоих машинах.

    Всего записей: 62 | Зарегистр. 17-07-2010 | Отправлено: 12:36 03-12-2012
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Perfectus88
    Попытаюсь подытожить ситуацию: если внутри сети выключены все машины (видимо включая роутер), то на сервак снаружи не достучаться. Если хоть что-то внутри включено, то со всех сторон сервак прекрасно доступен.
    Так?

    ----------
    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 | Отправлено: 12:40 03-12-2012
    Perfectus88

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    Да. Именно. Но есть один момент. После выключения машины за сервером, он (сервер) еще какое то время принимает соединения, потом рубится все, включая пинги.
    Обсуждение или скорее монолог идет и на лисяре
     
    Добавлено:
    Пардон. Роутер включен постоянно!

    Всего записей: 62 | Зарегистр. 17-07-2010 | Отправлено: 12:48 03-12-2012 | Исправлено: Perfectus88, 12:52 03-12-2012
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Perfectus88
    Такс... Феномен с включением машин мне пока не ясен, но есть 2 косяка: 1 — правило с кучей redirect_port непонятно зачем вообще нужно т.к. ни номера портов ни адрес машины не меняется... 2 — это правило вообще не применяется, т.к. его затирает следующее, вы обоим дали номер nat 1.
     
    Над феноменом пока думаю.

    ----------
    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 | Отправлено: 15:20 03-12-2012
    Perfectus88

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    С правилами все в порядке. Гляньте на первый пример в этой статье http://www.lissyara.su/articles/freebsd/tuning/ipfw_nat/
    Сегодня поменяю местами сетевушки, вернее кабели и посмотрим что будет

    Всего записей: 62 | Зарегистр. 17-07-2010 | Отправлено: 16:13 03-12-2012
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Perfectus88
    Сорь, я add проглядел.
    А тогда можно глянуть на вывод ipfw nat show config.

    ----------
    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:27 03-12-2012
    Perfectus88

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    Сервер недоступен Приду домой через час полтора вышлю
     
    Добавлено:
    ipfw nat show config:

    Код:
     
    ipfw nat 1 config if alc0 log deny_in same_ports reset redirect_port tcp 80.80.80.80:80 80 redirect_port tcp 80.80.80.80:50000-50500 50000-50500 redirect_port tcp 80.80.80.80:21 21 redirect_port tcp 80.80.80.80:22 22
     


    Всего записей: 62 | Зарегистр. 17-07-2010 | Отправлено: 16:42 03-12-2012 | Исправлено: Perfectus88, 19:42 03-12-2012
    omega27



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем здравствуйте.
    Нарисовалась следующая проблема:
    Есть kvm со своей виртуальной сетью, в которой есть http и smtp сервера.
    iptables v1.4.12
    На eth0 внешний IP, проброска портов настроена, почти все работает...
     iptables -t nat -nvL
    Chain PREROUTING (policy ACCEPT 135K packets, 11M bytes)
     pkts bytes target     prot opt in     out     source               destination          
     140K 7523K DNAT       tcp  --  *      *       0.0.0.0/0          $EXT_IP       tcp dpt:80 to:$HTTP_IP:80
       27  1620 DNAT       tcp  --  *      *       0.0.0.0/0            $EXT_IP       tcp dpt:25 to:$SMTP_IP:25
     
    Chain INPUT (policy ACCEPT 8944 packets, 649K bytes)
     pkts bytes target     prot opt in     out     source               destination          
     
    Chain OUTPUT (policy ACCEPT 5700 packets, 347K bytes)
     pkts bytes target     prot opt in     out     source               destination          
     
    Chain POSTROUTING (policy ACCEPT 152K packets, 8156K bytes)
     pkts bytes target     prot opt in     out     source               destination          
        0     0 SNAT       all  --  *      *       192.168.122.0/24     $HTTP_IP      to:192.168.122.1
        4   240 SNAT       all  --  *      *       192.168.122.0/24    $SMTP_IP       to:192.168.122.1
      103 31702 MASQUERADE  tcp  --  *      *       192.168.122.0/24    !192.168.122.0/24    masq ports: 1024-65535
      141  9571 MASQUERADE  udp  --  *      *       192.168.122.0/24    !192.168.122.0/24   masq ports: 1024-65535
        0     0 MASQUERADE  all  --  *      *       192.168.122.0/24    !192.168.122.0/24    
    в filter то же все нормально, сервисы доступны на внешнем IP и снаружи и из локальной сети виртуалки (т.е. с локального адреса на внешний адрес сервиса можно спокойно зайти), за одним исключением, если попытаться подключиться к сервисам с самих локальных серверов($HTTP_IP $SMTP_IP) через внешний адрес получим облом.  
    TRACE показывает, что пакет доходит до nat PREROUTING и даже срабатывает правило DNAT а дальше тишина...
    Т.е. подключиться к самому себе через внешний адрес не получается.
    Вопрос не в зачем а как сделать, серверами рулю не я.

    Всего записей: 4 | Зарегистр. 25-10-2007 | Отправлено: 19:43 09-12-2012 | Исправлено: omega27, 19:58 09-12-2012
    vlary



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

    Цитата:
     за одним исключением, если попытаться подключиться к сервисам с самих локальных серверов
     Все правильно. Гугли NAT loopback.

    ----------
    Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

    Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 23:26 09-12-2012
    omega27



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо за наводку, vlary.
    С kvm до этого сталкиваться не приходилось, вот и упустил из виду мост.
    Вечером попробую добавить интерфейсы к мосту, сейчас там нет внешней карты, только виртуальные.

    Всего записей: 4 | Зарегистр. 25-10-2007 | Отправлено: 14:00 10-12-2012
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    omega27
    А причём тут "мост" и kvm?
    Единственный подвох, который связан с NAT Loopback — это то, что NAT'ить надо пакеты из локалки в локалку, НО на внешний интерфейс.

    ----------
    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 | Отправлено: 17:06 10-12-2012
    OOD

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста как добавить статический маршрут через iptablel или конкурирование CentOs 6.0:
    Под виндой это так:

    Код:
     
    route add -p 10.10.10.0 mask 255.255.255.0 192.168.1.1  

     
     
    Добавлено:
    насколько я понял можно отредактировать этот файл?
    /etc/sysconfig/network-scripts/route-eth1

    Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 16:01 26-02-2013 | Исправлено: OOD, 16:01 26-02-2013
    bga83



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В общем проблема такая:
    есть Ubuntu 10.04, на 127.0.0.1:2080 слушает приложение. Заставить это приложение прослушивать адреса кроме 127.х.х.х нет возможности, но доступ к этому приложению надо получить из вне. В связи с этим хочу сделать редирект всех пакетов, приходящих на  сетевой интерфейс, на 127.0.0.1:2080.
     
    В системе имеется ufw (насколько я понял прослойка до iptables якобы для удобства).
    В файле /etc/ufw/before.rules в самый конец прописал:
     

    Код:
    *nat
    : PREROUTING ACCEPT [0:0]
    -A PREROUTING -p tcp -i eth0 --dport 2080 -j REDIRECT --to-ports 2080
     
    COMMIT

     
    сам фаервол перевел в режим, когда все разрешено как входящие так и исходящие, плюс для гарантии явно добавил правило все разрешающее:
     

    Код:
     
    sudo ufw status verbose
    Статус: включен
    Журналирование: on (medium)
    По умолчанию: allow (входящие), allow (исходящие)
    Новые профили: skip
     
    До                         Действие    От
    --                         --------    --
    Anywhere/tcp               ALLOW IN    Anywhere/tcp

     
    однако не работает. Когда проверяю телнетом с другого хоста, то убунта разрывает соединение (флаг RST в TCP-пакете) и при этом увеличивается счетчик пакетом, попавших под неат-правило редиректа
     
     

    Код:
    sudo iptables -nL -t nat -v
    Chain PREROUTING (policy ACCEPT 34320 packets, 3006K bytes)
     pkts bytes target     prot opt in     out     source               destination
        9   456 REDIRECT   tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:2080 redir ports 2080
     
     
    Chain POSTROUTING (policy ACCEPT 357 packets, 21662 bytes)
     pkts bytes target     prot opt in     out     source               destination
     
    Chain OUTPUT (policy ACCEPT 357 packets, 21662 bytes)
     pkts bytes target     prot opt in     out     source               destination

     
     
     

    Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 17:21 06-03-2013 | Исправлено: bga83, 09:35 07-03-2013
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bga83
    Облом вашей ситуации в том, что вам надо менять исходящий адрес пакета на какой-нибудь из 127.х.х.х.
    При этом использование REDIRECT`а не делает такого преобразования, Потому и скидывается ваш коннект. А SNAT задействовать не получится, так как он работает только в цепочке POSTROUTING.
    Кругом облом.
    Даже не знаю, что вам ещё посоветовать. Разве что назначить петлевому интерфейсу ограниченный диапазон адресов 127.х.х.х, а остальной попробовать задействовать для локальной сети ().

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

    Всего записей: 6689 | Зарегистр. 29-04-2009 | Отправлено: 02:17 07-03-2013
    bga83



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

    Цитата:
    При этом использование REDIRECT`а не делает такого преобразования, Потому и скидывается ваш коннект. А SNAT задействовать не получится, так как он работает только в цепочке POSTROUTING.
    Кругом облом.

    как так? прозрачный прокси же работает и использованием iptables, а там все аналогично - весь веб-трафик принудительно заворачивается на прокси, который может слушать на 127.0.0.1.
     
    Еще один вопрос касаемо специфики linux: после смены в пакете адреса назначения на 127.0.0.1 должен ли он проходить интерфейс обратной петли? когда смотрел tcpdump-ом, то там ничего не появлялось, хотя счетчик в redirect правиле увеличивается
     
    PS после FreeBSD( с ipfw и pf)   iptables вызывает некоторое недоумение

    Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 09:53 07-03-2013
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я вашу фразу
    Цитата:
    Заставить это приложение прослушивать адреса кроме 127.х.х.х нет возможности
    понял так: программа обладает собственной системой фильтрации и, если в tcp-пакете исходный адрес отличен от 127.х.х.х, то он самой программой не воспринимается. А squid`у-то в прозрачном проксировании всё равно какое значение исходного адреса, если мы не задавали этого сами, поэтому он и обрабатывает все пакеты.

    Цитата:
    Еще один вопрос касаемо специфики linux: после смены в пакете адреса назначения на 127.0.0.1 должен ли он проходить интерфейс обратной петли? когда смотрел tcpdump-ом, то там ничего не появлялось, хотя счетчик в redirect правиле увеличивается  

    Нет. При redirect`е меняет направление движения пакета: он идёт по ветке "локальных приложений".

    Цитата:
    PS после FreeBSD( с ipfw и pf)   iptables вызывает некоторое недоумение

    Встречный вопрос. А на фряхе вашу задачу реализовать удалось? Конечно, если это возможно.

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

    Всего записей: 6689 | Зарегистр. 29-04-2009 | Отправлено: 10:14 07-03-2013 | Исправлено: urodliv, 10:15 07-03-2013
    bga83



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

    Цитата:
    понял так: программа обладает собственной системой фильтрации и, если в tcp-пакете исходный адрес отличен от 127.х.х.х, то он самой программой не воспринимается

    а это мысль
    вот об этом я и не подумал, не исключено, что в этом все дело, надо проверить
     
     
    Проверил, действительно это приложение срезает коннекты от адресов не 127.х.х.х.   Спасибо за озвученную мысль!

    Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 10:28 07-03-2013 | Исправлено: bga83, 12:32 07-03-2013
    Открыть новую тему     Написать ответ в эту тему

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