Утилита iptables — инструмент командной строки Linux, предназначенный для настройки правил фильтрации IP-пакетов. С ее помощью системные администраторы могут контролировать входящий и исходящий трафик в ОС.
В этой статье мы расскажем, как фильтровать сетевой трафик на основе MAC-адресов с помощью iptables в Linux.
Содержание:
- Разрешить / запретить весь входящий трафик от устройства с определенным MAC-адресом
- Разрешить / запретить доступ по SSH для пользователя с определенного MAC-адреса
- Ограничить подключение по SSH для всех MAC-адресов, кроме одного
- Выводы
Разрешить / запретить весь входящий трафик от устройства с определенным MAC-адресом
Допустим, Вам нужно полностью заблокировать сетевой трафик от устройства с определенным MAC-адресом. Чтобы решить эту задачу, примените следующую команду:
Где:
-I INPUT— опция, указывающая добавить в цепочкуINPUTправило, которое применяется ко всем входящим пакетам;-m mac— опция, которая указывает фильтровать пакеты по MAC-адресу;--mac-source <MAC-address>— параметр, в качестве аргумента которого нужно написать MAC-адрес источника.-j REJECT— опция с аргументомREJECT, определяющая, что все пакеты должны быть отклонены.
Для проверки работы нового правила отправьте эхо-запросы с заблокированного MAC-адреса на Ваш компьютер:
Читайте также: 27 полезных советов по iptables для администратора Linux.
На скриншоте видно, что отправленные пакеты не могут достичь указанного хоста.
Чтобы разрешить входящий трафик от устройства с определенным MAC-адресом, замените в предыдущей команде REJECT на ACCEPT:
Разрешить / запретить доступ по SSH для пользователя с определенного MAC-адреса
Утилита iptables позволяет разрешать или блокировать доступ к операционной системе через сетевые порты. Например, можно запретить пользователю с определенным MAC-адресом подключаться по SSH (порт 22) к Вашему ПК.
Для начала убедитесь, что пользователь может подключиться к ПК по SSH:
Затем в своей операционной системе Linux выполните следующую команду:
Где:
-p tcp— опция, которая указывает применять правило только к трафику, использующему протокол TCP;--dport 22— опция, которая указывает, что правило будет действовать для порта 22 (порт SSH по умолчанию).
Теперь попробуйте подключиться к Вашему ПК по SSH и отправить эхо-запросы:
На скриншоте показано, что установить 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 с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.




























