Ubuntu использование iptables + ipset

Средний рейтинг
Еще нет оценок
Мой рейтинг:

Всем привет!

У заказчика есть старенький сервер с FreeBSD (FreeBSD 8.2-RELEASE-p3 FreeBSD 8.2-RELEASE-p3 #0: Tue Sep 27 18:45:57 UTC 2011) на котором у них свой почтовый сервер.

Т.к. я с FreeBSD очень поверхностно знаком, то решил сделать всё тоже самое, что у них там, но на свежей Ubuntu 18.04.

В FreeBSD используется pf (packet filter), которого нет в Ubuntu, но есть UFW и IPTABLES.

В существующем варианте PF дает доступ к SSH определенный IP-адресам из списка. Как сделать такое в IPTABLES я не нашел, но нашел решение с помощью IPSET.

Установка:

Вызов помощи:

IPSET HELP

[свернуть]

Мануал:

IPSET MANUAL

[свернуть]

Как видно из мануала IPSET много чего умеет.

Мне пока что нужно самое простое – список доступа.

Создадим список:

где:

create – создать,

ssh_allow – название списка,

hash:ip – тип, используемый для данного списка

Добавим необходимый IP-адрес:

где:

add – добавить,

ssh_allow – список, созданный ранее,

192.168.1.50 – адрес, который добавляем в список.

Теперь можем посмотреть содержимое созданного списка:

Собственно, вывод:

Теперь надо добавить правило фильтрации в IPTABLES:

где:

-m set – указывает на использование модуля расширения – ipset,

–set ssh_allow src – сопоставлять пакеты, исходный заголовок которых совпадает (то есть содержится внутри) с набором с именем myset. Флаг src означает совпадение с «источником».

Проверим правило:

Теперь, если попробовать с другой машины попасть по SSH на эту – ничего не получится:

Получаем вот такое сообщение:

ssh: connect to host 192.168.1.4 port 22: Connection timed out

Что бы резрешить подключение с нужного адреса – просто добавим нужный адрес в списко ssh_allow. Перезапускать iptables не надо. Пробуем:

Для удаления IP из списка используем команду:

где:

del – удалить,

ssh_allow – нужный нам список,

192.168.1.50 – наш адрес.

Это, конечно, не все возможности, что есть.

Ссылки:

IPSET INFO

Linux Journal | сохраненная копия

If you found an error, highlight it and press Shift + Enter or to inform us.

Фото аватара

Дмитрий

родился, учился, работаю-учусь

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии