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

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

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



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

    Цитата:
    Но ядро с таблицами пересобирать не буду...
    это про -j ROUTE -то, да не надо... он тут вроде как и не в тему...

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

    Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 21:07 16-01-2011
    HEKTOPaul

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

    Цитата:
    Мысль не глупая. Если сделать именно так, то мы получим банальный маршрутизатор.

    Какие сетевые параметры в данном случае указывать на интерфейсе "внутреннего" сервера и на обоих интерфейсах Debian-роутера?

    Всего записей: 23 | Зарегистр. 08-01-2006 | Отправлено: 11:56 17-01-2011 | Исправлено: HEKTOPaul, 12:09 17-01-2011
    urodliv



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

    Цитата:
    можно ли будет прописать на сервер1 следующие настройки:
    ip: 123.123.123.51
    mask: /29
    gw 123.123.123.49 или 192.168.0.2
     
    тут получается либо надо маршрут до шлюза писать, либо шлюз формально оказывается не в той подсети что и сервер(будет ругаться и хз будет ли работать). Возможно во 2-м случае придется давать статическую arp запись...
     
    Правильно ли вообще я мыслю?

    Может быть я не знаю каких-то хитрый технологий, или что-то не учёл, но я считаю, что реализовать вашу схему таким образом нельзя. Ибо сервер и внутренний интерфейс в разный подсетях.
    Поэтому решение вижу стандартное:
    1. Серверам назначаем "серые" адреса. Можно из подсети "локалки", а можно другую придумать. Но тогда либо вторую сетевуху вешаем, либо алиас назначаем.
    2. На "внешнем" интерфейсе прописываем алиасы из пула адресов провайдера.
    3. Сопоставляем внутренние адреса серверов необходимым "внешним".
    4. Ну и по необходимости назначаем "ты туда не ходи, кирпич в голова попадет, совсем мертвый будешь"
     

    Цитата:
    Какие сетевые параметры в данном случае указывать на интерфейсе "внутреннего" сервера и на обоих интерфейсах Debian-роутера?

    Да любые подходящие. Вы только помните, что с "серыми" внутренними адресами с этой схемой можно баловаться только в пределах своего сегмента. Как только такие пакеты попадут к провайдеру, он их "чик-чик".
    А вот если вам провайдер выдал два диапазона (как описывал vlary выше) "белых" адресов, то на "внешний" интерфейс навешиваем адрес из первого диапазона, на внутренний - из второго. Серверам тоже присваиваем адреса из второго диапазона. NAT для такой схемы не нужен, а forward=1 обязателен.


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

    Всего записей: 6684 | Зарегистр. 29-04-2009 | Отправлено: 12:32 17-01-2011
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    urodliv
    Цитата:
    А вот если вам провайдер выдал два диапазона (как описывал vlary выше) "белых" адресов, то на "внешний" интерфейс навешиваем адрес из первого диапазона, на внутренний - из второго. Серверам тоже присваиваем адреса из второго диапазона. NAT для такой схемы не нужен, а forward=1 обязателен.  
    только вот у этих подсетей должен быть шлюз 1, иначе тоже пакеты далеко не уйдут... Ну или тут придется прибегать к силе iptables -j ROUTE для махинации со шлюзом.

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

    Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 14:07 17-01-2011
    urodliv



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

    Цитата:
    только вот у этих подсетей должен быть шлюз 1, иначе тоже пакеты далеко не уйдут...

    Верно. Для определённости скажем так: если мы одновременно подключены к нескольким провайдерам, то пакеты из обеих этих подсетей должны от нас попадать только к "своему провайдеру". В противном случае их порубашит маршрутизатор другого провайдера.

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

    Всего записей: 6684 | Зарегистр. 29-04-2009 | Отправлено: 14:43 17-01-2011
    vlary



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    urodliv
    Цитата:
    пакеты из обеих этих подсетей должны от нас попадать только к "своему" провайдеру
    Все правильно. Вот этим у меня и занимается PBR.
     


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

    Всего записей: 17274 | Зарегистр. 13-06-2007 | Отправлено: 15:10 17-01-2011 | Исправлено: vlary, 15:10 17-01-2011
    HEKTOPaul

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

    Цитата:
    На данный момент у меня в голове следующие мысли скопились, по поводу общей картины.

    Я не силен в PPP, но может он сможет уменьшить кол-во "теряемых" адресов?
     
    В данном случае на уч-ке пров-debian будет сеть 123.123.123.48/30 (49 - шлюз провайдера, 50 - debian, 51 - бродкаст). Предлагаю каждый "внутренний" сервер подключать к твоему роутеру по PPP (PPPoE, PPtP) или OpenVPN и выдавать ему адрес из диапазона 123.123.123.52-62, а на другом конце туннеля (на Debian'е) исп-ть адрес из любой неиспользуемой "серой" сети, например, 192.168.255.1.

    Всего записей: 23 | Зарегистр. 08-01-2006 | Отправлено: 15:22 17-01-2011 | Исправлено: HEKTOPaul, 16:17 17-01-2011
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Тут прочел о такой штуке как iptables string matches. Кто-нить использовал? Какой потенциал? Кто как применял? На opennet один способ видел... iptables -A FORWARD -p udp -m udp -m string --hex-string "|0000000000380000|" --algo kmp --from 36 --to 43  -limit 1/s

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

    Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 23:46 24-01-2011
    seosib

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужна помощь. Сам только пол недели знаком с Линуксом, поэтому решить проблему вообще никак не могу. Ситуация такая: Если два компа, ПК и ноут. На моем ПК поставлена Убунта и имеется две сетевых карты. Eth1 - через нее выхожу в интернет, Eth0 - вторая сетевуха через которую хочу передать интернет на ноутбук. На ноуте установлена Win7. Eth0 соед. с ноутом кабелем.  
    Пока у меня была тоже 7ка, то было все просто. Создал на своем компе домашнюю сеть и с ноута вступил в нее. Все, интернет есть. А тут нифига не выходит.
    Вчера после таких действий
     
    Попробуйте так
    Через NetworkManager установите на второй сетевой карте следующую конфигурацию:
    ip 192.168.0.1
    netmask: 255.255.255.0
     
    Далее идем в  
    Программы - Стандартные - Терминал
    Копируем отсюда и нажимаем Enter после каждой строки.
    sudo -i
    echo 1 > /proc/sys/net/ipv4/ip_forward
     
    iptables -t nat -A POSTROUTING -o [устройство, связанное со вторым ПК eth1, например] -j SNAT --to [мой внешний ip, выданный провайдером]
     
     
    На ПК с Windows 7 указать:
    ip 192.168.0.2
    netmask 255.255.255.0
    gateway: 192.168.0.1
     
    dns1: 195.189.239.5
    dns2: 195.189.238.68
     
     
    Интернет появился на 10 секунд на ноуте и опять пропал.. Пробовал так http://silverghost.org.ua/2009/08/31/domashnij-shlyuz-na-ubuntu/ и так http://www.cn.ru/forum/showthread.php?t=158424&highlight=%CF%EE%E4%EA%EB%FE%F7%E5%ED%E8%E5+%EA%EE%EC%EF%FC%FE%F2%E5%F0%EE%E2+%EB%E8%ED%E8%E8 и эдак http://cru0gen.livejournal.com/10247.html , но все без результатно, интернета нет на втором компе. Более того, после перезагрузки, все соединения и на моем компе пропадают.
     
    Добавлено:
    Вот ещё нашел http://forum.ubuntu.ru/index.php?topic=107492.0 Нужно будет вечерком попробовать.

    Всего записей: 7 | Зарегистр. 05-03-2011 | Отправлено: 09:57 06-03-2011 | Исправлено: seosib, 10:00 06-03-2011
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    seosib
    нет, все не так...
     
    во первых давайте всё это запишем в скрипт и положим в автозапуск, что бы после ребута машины настройки не пропадали.
    1 - создаем скрипт (где угодно, хоть в домашнем каталоге)
    2 - заполняем его примерно так:
    Код:
    #!/bin/bash
     
    #
    # настройка маршрутизации
    #
     
    # объявим переменные
    local_if="eth0"
    localnet="192.168.0.0/24"
    ext_if="eth1"
     
    # разрешаем транзитный траффик
    echo 1 > /proc/sys/net/ipv4/ip_forward
     
    # на всякий случай чистим iptables от всех правил и лишних цепочек
    iptables -F
    iptables -X
     
    # разрешаем фовардинг
    iptables -P FORWARD DROP
    iptables -A FORWARD -i $local_if -o $ext_if -j ACCEPT
    iptables -A FORWARD -i $ext_if -o $local_if -j ACCEPT
     
    # организуем SNAT
    iptables -t nat -A POSTROUTING -s $localnet -o $ext_if -j MASQUERADE
    Это простейший конфиг который позволит всему работать.
    Настройку сети на самом компе оставлю вам.
    Скрипту надо дать бит исполняемости: $ chmod +x /path/to/script
    Ну и неплохо бы было его воткнуть после запуска сети: # cp /path/to/script /etc/network/if-up.d/ - это если у вас debian или потомки (в остальных системах хз)
     
    Вроде ни чего не забыл. Разумеется это практически минимум того, что можно сделать.

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

    Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 16:39 06-03-2011 | Исправлено: Alukardd, 16:41 06-03-2011
    seosib

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    а я как-то подругому все сделал..
     
    На второй сетевухе прописал
     
    ip 192.168.0.1
    netmask: 255.255.255.0
     
    На втором компе
     
    ip 192.168.0.2
    netmask 255.255.255.0
    gateway: 192.168.0.1
     
    dns1: 195.189.239.5
    dns2: 195.189.238.68
     
    Дальше установил Firestarter, настроил его и интернет появился на втором компе.
     
    Не знаю насколько все правильно сделал, но интернет есть
     

    Всего записей: 7 | Зарегистр. 05-03-2011 | Отправлено: 19:48 06-03-2011
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    seosib
    не видел в глаза Firestarter, да и не сдался он мне... Зачем использовать GUI, если можно ручками без особых проблем.
    Настроили и хорошо.
     
    p.s. можете глянуть iptables -vnL и iptables -t nat -vnL и увидите во что их превратил Firestarter.

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

    Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 21:17 06-03-2011
    ASE_DAG



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    > можете глянуть iptables -vnL и iptables -t nat -vnL и увидите во что их превратил Firestarter.
     
    Афайк, Файрстартер — не фронтенд к ай-пи-тэйблз. Это демон, который работает с нетфильтром напрямую.

    Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 21:46 06-03-2011 | Исправлено: ASE_DAG, 21:47 06-03-2011
    Alukardd



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ASE_DAG
    оО... косяк...
    он просто на глазах поднимается... И что они получили хоть какой-то бонусный функционал по сравнению с 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.

    Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 22:30 06-03-2011 | Исправлено: Alukardd, 22:31 06-03-2011
    ASE_DAG



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alukardd
    Не знаю, я его тоже никогда не пробовал, поскольку узнал, что он не дружит (не дружил?) с мультикастом.
     
    Но это, насколько я знаю, конкурент не только ай-пи-тэйблзу, это такое комплексное решение: там и монитор сетевой активности, и интерфейс к DHCP-серверу, и еще чего-то.  
     
    Добавлено:
    > он просто на глазах поднимается
    Кто?

    Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 23:49 06-03-2011
    seosib

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

    Цитата:
    не видел в глаза Firestarter, да и не сдался он мне... Зачем использовать GUI, если можно ручками без особых проблем.  
    Настроили и хорошо.  
     
    p.s. можете глянуть iptables -vnL и iptables -t nat -vnL и увидите во что их превратил Firestarter.

    Да я ж пока не бум бум в линуксе. Вот освоюсь, почитаю мануалы, начну сильней вникать, тогда уж и буду делать все как надо. А пока мне срочно нужно было передать интернет второму компу. Пусть пока будет так..
     
     

    Всего записей: 7 | Зарегистр. 05-03-2011 | Отправлено: 11:05 07-03-2011
    darksidedemon88

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Требуется обеспечит доступ из одной подсети в другую (из 192.168.0.0 в 10.107.1.0 и обратно).  
    Имеется:  
    Сервер с Ubuntu server 10.10  
    eth0 - 10.107.1.10  
    eth1 - 192.168.0.222  
     
    Пробовал делать такие правила  
    iptables -A POSTROUTING -t nat -s 192.168.0.222 -j SNAT --to 10.107.1.10  
    iptables -A PREROUTING -t nat -d 10.107.1.10 -j DNAT --to 192.168.0.222  
     
    пинг с сервера до клиента в подсети 192.168.0.0 есть и пинг до клинта из 10.107.1.0 тоже есть, а с 10.107.1.0 до 192.168.0.0 пинг не доходит.  
     
    попробовал другой вариант  
    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/255.255.255.0 -j MASQUERADE
    пинги пошли, по сети общий доступ есть, но программы Гарант и Консультант не запускаются, вернее запускаются если у клиента 192.168.0.0 прописать DNS сервер из сети 10.107.1.0 (DNS 10.107.1.100)

    Всего записей: 4 | Зарегистр. 13-03-2011 | Отправлено: 10:25 13-03-2011
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если обе эти сети управляются вами, то вам должно хватить этого:

    Код:
    echo 1 > /proc/sys/net/ipv4/ip_forward  

    А работа с натом в вашем случае не нужна. Так что это можно выкинуть:

    Цитата:
    iptables -A POSTROUTING -t nat -s 192.168.0.222 -j SNAT --to 10.107.1.10  
    iptables -A PREROUTING -t nat -d 10.107.1.10 -j DNAT --to 192.168.0.222



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

    Всего записей: 6684 | Зарегистр. 29-04-2009 | Отправлено: 10:37 13-03-2011
    darksidedemon88

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    urodliv
    сеть 192.168.0.0 не моя, я в нее раздаю только программы Гарант и Консультант.
     

    Цитата:
    iptables -A POSTROUTING -t nat -s 192.168.0.222 -j SNAT --to 10.107.1.10    
    iptables -A PREROUTING -t nat -d 10.107.1.10 -j DNAT --to 192.168.0.222

    это убрал
     

    Цитата:
    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/255.255.255.0 -j MASQUERADE  

    это оставил вроде работает

    Всего записей: 4 | Зарегистр. 13-03-2011 | Отправлено: 12:42 13-03-2011
    darksidedemon88

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    теперь из сети 192.168.0.0 доступ в 10.107.1.0 есть, но нужно чтобы доступ был только к одному IP 10.107.1.102 и на конкретные порты  
     
     
            сервер гарант                                 шлюз Ubuntu                          клиент          
    10.107.1.102[:3600-3609] <-eth0(10.107.1.10)---eth1(192.168.0.222)-> 192.168.0.0[:5051]

    Всего записей: 4 | Зарегистр. 13-03-2011 | Отправлено: 11:49 14-03-2011
    Открыть новую тему     Написать ответ в эту тему

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