Управление трафиком на основе MAC-адресов с помощью iptables в Linux

Управление трафиком на основе MAC-адресов с помощью iptables в Linux

Рубрики:

Linux, Утилиты Linux

Метки:

iptables, linux

Утилита iptables — инструмент командной строки Linux, предназначенный для настройки правил фильтрации IP-пакетов. С ее помощью системные администраторы могут контролировать входящий и исходящий трафик в ОС.

В этой статье мы расскажем, как фильтровать сетевой трафик на основе MAC-адресов с помощью iptables в Linux.

Содержание:

  1. Разрешить / запретить весь входящий трафик от устройства с определенным MAC-адресом
  2. Разрешить / запретить доступ по SSH для пользователя с определенного MAC-адреса
  3. Ограничить подключение по SSH для всех MAC-адресов, кроме одного
  4. Выводы

Разрешить / запретить весь входящий трафик от устройства с определенным MAC-адресом

Допустим, Вам нужно полностью заблокировать сетевой трафик от устройства с определенным MAC-адресом. Чтобы решить эту задачу, примените следующую команду:

 

reject all

Где:

  • -I INPUT — опция, указывающая добавить в цепочку INPUT правило, которое применяется ко всем входящим пакетам;
  • -m mac — опция, которая указывает фильтровать пакеты по MAC-адресу;
  • --mac-source <MAC-address> — параметр, в качестве аргумента которого нужно написать MAC-адрес источника.
  • -j REJECT — опция с аргументом REJECT, определяющая, что все пакеты должны быть отклонены.

Для проверки работы нового правила отправьте эхо-запросы с заблокированного MAC-адреса на Ваш компьютер:

 

check reject all

Читайте также: 27 полезных советов по iptables для администратора Linux.

На скриншоте видно, что отправленные пакеты не могут достичь указанного хоста.

Чтобы разрешить входящий трафик от устройства с определенным MAC-адресом, замените в предыдущей команде REJECT на ACCEPT:

Разрешить / запретить доступ по SSH для пользователя с определенного MAC-адреса

Утилита iptables позволяет разрешать или блокировать доступ к операционной системе через сетевые порты. Например, можно запретить пользователю с определенным MAC-адресом подключаться по SSH (порт 22) к Вашему ПК.

Для начала убедитесь, что пользователь может подключиться к ПК по SSH:

 

ssh before reject

 

Затем в своей операционной системе Linux выполните следующую команду:

 

reject ssh

Где:

  • -p tcp — опция, которая указывает применять правило только к трафику, использующему протокол TCP;
  • --dport 22 — опция, которая указывает, что правило будет действовать для порта 22 (порт SSH по умолчанию).

Теперь попробуйте подключиться к Вашему ПК по SSH и отправить эхо-запросы:

 

ssh after reject

На скриншоте показано, что установить SSH-соединение не удалось, но эхо-запросы были отправлены без проблем. Причина в том, что по умолчанию для этих операций применяются разные сетевые порты.

Соответственно, чтобы разрешить подключение по SSH с устройства с определенным MAC-адресом, замените в предыдущей команде REJECT на ACCEPT:

 

Читайте также: Лучшие 25 команд брандмауэра UFW, которые должен знать каждый администратор Linux.

Ограничить подключение по SSH для всех MAC-адресов, кроме одного

Допустим, Вам необходимо настроить доступ к удаленному серверу так, чтобы подключаться по SSH могли только пользователи с устройства, имеющего определенный MAC-адрес. Утилита iptables позволяет решить такую задачу. Для этого используйте следующую команду:

 

Эта команда похожа на предыдущую, однако в ней дополнительно присутствует символ !, который указывает, что правило должно работать только для трафика с MAC-адресов, отличных от заданного (<MAC-address>).

Выводы

Мы показали Вам несколько примеров, как с помощью утилиты iptables ограничивать и разрешать входящий трафик от устройства с указанным MAC-адресом. Надеемся, что этот материал был полезным для Вас!

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

iptables, linux

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики