Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Мини-HOWTO: Совместное использование мостов и Firewall в Linux
Пред.След.

FIREWALL

Программы и дополнительная литература

Вы должны прочитать HOWTO: Firewall.

Там сказано, что вам понадобится утилита ipfwadm, если у вас ее еще нет. Существуют, правда, и другие, но как я начал использовать ipfwadm, так на нем и остановился. Он достаточно удобен и прост! Вы всегда знаете, что конкретно он делает.

Предварительные проверки

Вы уже собрали IP-переадресацию и маскарадинг в ядро, поэтому проверьте, находится ли firewall в его стандартном (разрешающем) состоянии командой

ipfwadm -I -l ipfwadm -O -l ipfwadm -F -l 

Эти команды выдадут список правил соответственно для входного, выходного и переадресуемых потоков firewall. Опция "-l" означает "list" (список).

Возможно, вы собрали и систему учета IP-пакетов:

ipfwadm -A -l 

Вы увидите, что ни одно правило не определено, и что, по умолчанию, firewall пропускает все пакеты. Вы всегда можете вернуться к этому состоянию командами

ipfwadm -I -f
ipfwadm -O -f
ipfwadm -F -f 

Опция "-f" означает "flush" (сбросить, очистить). Эта опция вам может понадобиться.

Основное правило

Я хочу отрезать внешний мир от моей сети и не более того, поэтому мое последнее (воспринимаемое по умолчанию) правило будет следующим - firewall должен игнорировать любые пакеты, идущие из внутренней сети во внешний мир. Я поместил все правила в файл /etc/rc.d/rc.firewall и запускаю его из /etc/rc.d/rc.local в процессе загрузки.

ipfwadm -I -a reject -S 192.168.2.0/255.255.255.128 -D 0.0.0.0/0.0.0.0 

Опция "-S" задает адрес источника и маску. "-D" - адрес и маску получателя.

Это - достаточно подробный формат. Ipfwadm понимает сетевые имена и некоторые сокращения (все это описано в man).

Наверно, более удобно поместить некоторые или все эти правила в выходной поток firewall, используя "-O" вместо "-I", но я оставлю эти правила на входящем потоке.

Исключения для адресов

Все исключения этому общему отрицанию я должен поместить до установки основного правила.

Машина, работающая в качестве firewall во внутренней сети, будет иметь некоторые привилегии. Без особого разрешения будет запрещено входить в машину, использующую firewall, но с этим разрешением им можно общаться с внешним миром.

ipfwadm -I -i accept -S 192.168.2.100/255.255.255.255 \
 -D 0.0.0.0/0.0.0.0 

Я также разрешу клиентам внутренней сети общаться с firewall-машиной. Возможно, они попытаются таким образом постараться выбраться во внешний мир!

ipfwadm -I -i accept -S 192.168.2.0/255.255.255.128 \
 -D 192.168.2.100/255.255.255.255 

На этом моменте вы можете попытаться добраться до клиентов снаружи firewall, при помощи telnet, но у вас ничего не получится. Это означает, что вы смогли увидеть их машины, но они не могут послать вам ничего. Вы сможете установить контакт с внутренними машинами, если firewall у вас играет роль простого аудитора. Испытайте rlogin и ping , а также tcpdump на первой или второй карте. Вы должны понять, что вы увидите.

Исключения для протоколов

Я буду облегчать правила протокол за протоколом. Первое, что я хочу сделать - разрешить ping снаружи внутрь и получать ответ, поэтому я добавлю правило:

ipfwadm -I -i accept -P icmp -S 192.168.2.0/255.255.255.128 \
 -D 0.0.0.0/0.0.0.0 

Опция "-P icmp" как раз отвечает за протокол.

Пока я не настроил должным образом ftp-proxy, я также разрешу вызовы ftp, используя конкретные порты - 20, 21 и 115 на внешние машины.

ipfwadm -I -i accept -P tcp -S 192.168.2.0/255.255.255.128 \
 -D 0.0.0.0/0.0.0.0 20 21 115 

Я так и не смог заставить работать sendmail между внутренними машинами без DNS. Вместо настройки собственного DNS-сервера, я просто разрешил запросы с моей сети к внешнему серверу, поместив заодно его адрес в файлы /etc/resolv.conf на машинах моей сети ("nameserver 123.456.789.31" в отдельной строке).

ipfwadm -I -i accept -P tcp -S 192.168.2.0/255.255.255.128 \
 -D 123.456.789.31/255.255.255.255 54 

Номер порта и протокол определенного сервиса вы можете узнать при помощи tcpdump. Задействуйте этот сервис при помощи ftp или telnet или чего-нибудь подобного с внутренней машины или на нее, и затем проверяйте порты firewall при помощи tcpdump, например:

tcpdump -i eth1 -e host client04 

В файле /etc/services также есть много интересного. Чтобы разрешить telnet и ftp ВНУТРЬ сети ИЗВНЕ через firewall, вам придется разрешить локальным клиентам производить вызовы НАРУЖУ на определенных портах. С ftp все понятно - это сервер, организующий собственное соединение с получателем - но я не очень понимаю, зачем это необходимо для telnet.

ipfwadm -I -i accept -P tcp -S 192.168.2.0/255.255.255.128 ftp telnet \
 -D 0.0.0.0/0.0.0.0 

Иногда возникает проблема с некоторыми демонами, которые пытаются выяснить имя машины-firewall, чтобы узнать собственный сетевой адрес. У меня лично возникла проблема с Rpc.yppasswdd. Он настаивал на передаче информации наружу от firewall (через вторую карту). Это привело к тому, что клиенты изнутри его не видели.

Вместо запуска IP-алиасинга или правки кода демона, я просто переписал имя машины на адрес внутренней карты в клиентских файлах /etc/hosts.

Проверка

Вам, наверное, надо будет проверить работу telnet, rlogin и ping снаружи. Изнутри вы должны смочь произвести ping наружу. Вы также должны иметь возможность команды telnet на firewall-машину изнутри сети, а на самой этой машине должно быть возможно все.

Вот и все. Далее вам, наверно, стоит узнать подробнее про rpc/Yellow Pages и работу с файлом паролей. Сеть с firewall должна работать так, чтобы обычные пользователи не могли войти в firewall (если они смогут зайти в него, они смогут выбраться наружу). Хороших вам HOWTO!


Пред.НачалоСлед.
Мосты Авторские права
VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...