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

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

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

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

    Цитата:
    здесь и у меня в ЛС разные!
    Да, разные.
    вот vi iptables:
    Подробнее...
     
    iptables -vnL :
    Подробнее...
    iptables -t nat -vnL:
    Подробнее...

    Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 09:22 11-04-2013 | Исправлено: OOD, 09:24 11-04-2013
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    OOD
    после vi iptables остальное уже можно не показывать было...
     
    Правила я смотрю Вы подправили... И что в текущем варианте не работает? Правила NAT'а настроены вроде правильно. Дальше если что не работает, то надо смотреть чего ещё не хватает µTorrent, что за галочка "Автоназначение порта" и т.п.

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

    Всего записей: 6564 | Зарегистр. 28-08-2008 | Отправлено: 10:43 11-04-2013
    freesmart

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здраствуйте, подскажите пожалуйста что я делаю не так. с Freebsd общаюсь недавно, была поставлена задача поднять почтовый сервер на Mdaemon. поднял, с локальной сети проверил, работает web морда доступна по http://localaddres:3000 почтовый клиент почту отправляет и получает. инет работает через шлюз на freebsd там в файле pf.conf прописываю правила для проброса портов 25, 110, 3000 следующим образом:  
    rdr on $ext_if proto tcp from any to VneshiyIP port 8080 -> localaddres port 3000 для веб морды
    rdr on $ext_if proto tcp from any to VneshiyIP port 25 -> localaddres port 25
    rdr on $ext_if proto tcp from any to VneshiyIP port 110 -> localaddres port 110 для почтового клиента
     
    потом делаю рестарт /etc/rc.d/pf restart
    вижу в консоли:
    Disabling pfpf disabled
    .
    Enabling pf
    при этом сессия до шлюза рвется выкидывая такое сообщение:
    Network error: Software caused connection abort
     
    по моему после прописывания портов и рестарта фаервола правила должны примениться и должен быть доступен адрес VneshiyIP:8080 для веб морды и порты 25 и 110 для почтового клиента. но этого не происходит
     
    в браузере на запрос http://VneshniyIP:8080 вижу ->
    Во время доставки URL: http://VneshniyIP:8080/  
     
     Произошла следующая ошибка:  
     Доступ запрещён.  
     
     Настройка контроля доступа не даёт возможности выполнить Ваш запрос в настоящее время. Пожалуйста, свяжитесь с Вашим поставщиком услуг Интернет, если Вы считаете это неправильным.
     
     
    то есть получается что порт закрыт и правило не работает. почтовый клиент тоже отказывается работать.  
     
    вот собственно вроде бы несложная ситуация но.... не выходит никак. пните пожалуйста если кому не сложно в нужном направлении. заранее благодарен

    Всего записей: 99 | Зарегистр. 27-09-2010 | Отправлено: 11:00 11-04-2013
    OOD

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    с µTorrent все ок! Сиды видны, пиры видны, а в состояние закачки не переходит такое ощущение, что это чем то запрещено, может быть помимо открытого порта нужно еще какое то правило?

    Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 11:09 11-04-2013
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    OOD
    Для того что бы качать вообще не надо ни чего пробрасывать, это надо только для того что бы с Вас могли качать.
    BitTorrent протокол обычно использует следующие порты.
     
    Вообще я торентами пользуюсь крайне редко поэтому не особо знаком с принципом их работы. А в те редкие случаи когда качая что-либо по средством .torrent файла, то ни каких настроек на шлюзе ни когда под это дело не выполнял. На скачку всё и так работает, да и раздача вроде тоже шла хз уж каким образом.

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

    Всего записей: 6564 | Зарегистр. 28-08-2008 | Отправлено: 11:24 11-04-2013 | Исправлено: Alukardd, 11:26 11-04-2013
    OOD

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    Создаю такое правило т.е. оно действует на всю локалку
    :
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6881:6889 -j ACCEPT
    все равно не качает!  
    из пиров виден только я

    Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 11:33 11-04-2013 | Исправлено: OOD, 11:34 11-04-2013
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    OOD
    ? цепочка INPUT это для входящих соединений именно на сам сервер, где работает iptables/netfilter.
    Ознакомьтесь ещё раз со схемой.
     
    А я ещё раз обращу внимание что для скачки файла при наличии .rorrent файла не требуются каких-то сверх настроек.

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

    Всего записей: 6564 | Зарегистр. 28-08-2008 | Отправлено: 12:50 11-04-2013
    OOD

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    заработало с политикой:
    -I FORWARD -s 10.184.40.253 -p tcp --dport 5000:65535 -j ACCEPT  

    Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 12:58 12-04-2013
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    OOD
    Oops, мой фейл, а точнее Ваш прежде всего.
    Я не оценил что правила для FORWARD Вы отправляете в цепочку для проверки входящих соединений (RH-Firewall-1-INPUT). Это не одно и тоже! Зачем Вы вообще так сделали?

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

    Всего записей: 6564 | Зарегистр. 28-08-2008 | Отправлено: 14:33 12-04-2013
    bga83



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

    Цитата:
    я всетаки думаю что дело в pf. хотя если сделать pfctl -s nat
     то видно  
    rdr on vr1 inet proto tcp from any to внешнийип port = 3000 -> 192.168.0.101 port 3000
    rdr on vr1 inet proto tcp from any to внешнийип = smtp -> 192.168.0.101 port 25
    rdr on vr1 inet proto tcp from any to внешнийип port = pop3 -> 192.169.0.101 port 110
    (это я уже решил пробрасывать не 80 порт внешнего адреса на 3000 порт сервера а напрямую, 3000 на 3000) мне вот интересно достаточно ли прописать в pf.conf  такую строку чтобы проброс заработал?  
    rdr on $ext_if proto tcp from any to внешнийип port 3000 -> 192.168.0.101 port 3000
    правило писал по образу тех что были написаны до меня  

     
    Кроме правил непосредственно ната, проверь наличие фаервольных правил, разрешающих хождение соответсвующих пакетов из-за периметра сети внутрь.
    И еще, как уже говорил, посмотри сниффером(tcpdump), что творится на внешнем и внутреннем интерфейсе.

    Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 09:32 16-04-2013
    OOD

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

    Цитата:
    Зачем Вы вообще так сделали?

    конфиг нашел в гугле и кое как в нем разобрался но не на все 100%
    в никсе не шарю

    Всего записей: 3379 | Зарегистр. 20-05-2006 | Отправлено: 10:12 16-04-2013
    freesmart

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нашел у себя в pf.conf строку block log all
    закоменитровал и заработало все. одно непонятно эта строка стояла после всех правил проброса портов а не работали только те правила которые я создавал. те которые были созданы - работали. подскажите что вобще блокирует это правило?

    Всего записей: 99 | Зарегистр. 27-09-2010 | Отправлено: 13:22 16-04-2013
    bga83



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    freesmart
    Я же уже сказал, что кроме правил проброса, которые просто меняют адрес назначения, должны быть еще и фаервольные правила, разрешающие хождение таких пакетов.  
    Если созданные до тебя пробросы работали, значит в конфиге для них кроме rdr-правил были еще и pass-правила.
     
    Правила должны выглядеть примерно так:
     
    pass proto tcp from any to 192.168.0.101 port {25,110,3000} keep state
     
    единственное проверь синтаксис - я не помню как точно указывается перечень портов в pf, нужны фигурные скобки или нет.
     

    Всего записей: 2008 | Зарегистр. 30-11-2007 | Отправлено: 16:00 16-04-2013
    freesmart

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

    Всего записей: 99 | Зарегистр. 27-09-2010 | Отправлено: 06:54 17-04-2013
    korn3r



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    привет, глупый вопрос:
     
    есть роутер с iptables, есть сетка (192.168.1.0/24), есть еще 1 сетка на роутере (172.16.0.0/12)
    нужно запретить ходить с адресов 192.168.1.40-192.168.1.255 на 172.16.0.0/12
    что-то ничего не выходит (iptables я не знаю вообще)
    пробовал следующее:

    Код:
     
    iptables -A FORWARD -o tun21 -m iprange --src-range 192.168.1.40-192.168.1.255 -j DROP
    iptables -A OUTPUT -o tun21 -m iprange --src-range 192.168.1.40-192.168.1.255 -j DROP
    iptables -A FORWARD -m iprange --src-range 192.168.1.40-192.168.1.255 -d 172.16.0.0/12 -j DROP

    Всего записей: 496 | Зарегистр. 19-10-2005 | Отправлено: 19:49 25-08-2013 | Исправлено: korn3r, 19:50 25-08-2013
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую!
     
    Помогите написать правила для ipfw, что бы соединения идущие на определённый ip:port текущей машины, уходили на другой ip.
     
    Я попробовал одну хрень, после чего лешился доступа к машине, так что экспериментировать возможности нету.
     
    попробовал:
    kldload ipfw_nat
    sysctl net.inet.ip.forwarding=1
    ipfw nat 1 config log if igb0 reset same_ports deny_in redirect_port tcp ${remote_ip}:443 443
    ipfw add 10130 nat 1 ip from any to any via igb0
     
    сейчас по сути ни чего нету:
    00100 allow ip from any to any via lo0
    00200 deny ip from any to 127.0.0.0/8
    00300 deny ip from 127.0.0.0/8 to any
    65535 allow ip from any to any

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

    Всего записей: 6564 | Зарегистр. 28-08-2008 | Отправлено: 15:48 18-10-2013
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это ответ на вопрос от Vania.
    В обоих наборах правил вы разрешаете только входящий трафик. А исходящий - нет. Во втором примере (с проверкой состояния соединения) указывать у входящих правил только состояние NEW нелогично.
    P.S. Для работы l2tp поверх ipsec`а помимо портов 500, 1701 (4500 только если будет задействован nat-t) надо разрешать прохождение протокола esp, и, возможно, ah. У вас этого нет. И таки да, порты 500, 1701 и 4500 надо открывать только для udp.


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

    Всего записей: 6695 | Зарегистр. 29-04-2009 | Отправлено: 23:45 21-11-2013 | Исправлено: urodliv, 23:48 21-11-2013
    Vania

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я по этому руководству пытаюсь установить IPSEC/L2TP VPN on CentOS 6 / Red Hat Enterprise Linux 6 / Scientific Linux 6 там написано что 1701 порт TCP нужно открывать. Я открываю и TCP и UDP для всех указанных в руководстве портов 1701, 4500, 500. Если смотреть netstat -npl сервер xl2tpd действительно по порту 1701 UDP слушает.
     
    Я Linux знаю на начальном уровне, поэтому нужные мне правила  я не напишу. Поэтому если кто-то поможет написать правила для моего случая был бы благодарен.
     
    Чем можно проверить открыты ли порты UDP?

    Всего записей: 1941 | Зарегистр. 30-12-2005 | Отправлено: 00:35 22-11-2013 | Исправлено: Vania, 00:37 22-11-2013
    urodliv



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

    Цитата:
    Я открываю и TCP и UDP для всех указанных в руководстве портов

    Не видим. Объяснение смотри выше.

    Цитата:
    Я Linux знаю на начальном уровне, поэтому нужные мне правила  я не напишу.  

    За вас их мы писать тоже не будем. Печалька.

    Цитата:
    Поэтому если кто-то поможет написать правила для моего случая был бы благодарен.  

    В шапке этой темы уважаемый Alukardd разместил ссылку на онлайн генератор.
     
    P.S. А у хостера для вас открыты все порты? Может вы не там "рыбу ловите"?

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

    Всего записей: 6695 | Зарегистр. 29-04-2009 | Отправлено: 22:58 22-11-2013
    Vania

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

    Цитата:
    P.S. А у хостера для вас открыты все порты? Может вы не там "рыбу ловите"?

    Как это проверить, открыты они у хостера или нет?  

    Всего записей: 1941 | Зарегистр. 30-12-2005 | Отправлено: 00:20 23-11-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