Четверг
21.09.2017, 20:44
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории раздела
Разное [15]
Документация [18]
Авторские статьи [45]

Поиск

Свежие статьи
Динамическое деление скоро...
port knocking на mikrotik
Установка NGINX без прав R...
Как настроить время (NTP S...
Настраеваем CROND
Биллинг MikBill на UBUNTU
Даунгрейд PHP до версии 5....
Устанавливаем в Ubuntu 10....
Как настроить MySQL
Как настроить ZendOptimize...

Форма входа
Логин:
Пароль:

Главная » Статьи » Авторские статьи

Mikrotik - списки и группы адресов
Когда настраивается маршрутизатор, который отвечает за доступ к сети для нескольких человек, то достаточно прописать правила для конкретных адресов в firewall filter rules и на этом успокоится, но когда ip, которым нужно прописать доступ, не один десяток?

Для решения проблемы управления большим количеством ip адресов в MiktoTik Router OS есть механизм сознания списков адресов и объединения их в группы. Дальше составления правил для firewall-а идет на основании этих групп. Адреса можно добавлять как в ручную, так и динамически с помощью правил.

Рассмотрим ручное добавление адресов:

Перейдем в раздел address-list.
/ip firewall address-list

Для дальнейших примеров будем использовать описанную ранее конфигурацию сети.

  • Mikrotik - 192.168.0.1

  • PC 5 - 192.168.0.2, web, ftp, mail сервер

  • PC 4 - 192.168.0.10, Администратор, полный доступ

  • PC 1 - 192.168.0.20, Простой доступ: http, https, icq, jabber, ftp

  • PC 2 - 192.168.0.21, Простой доступ: http, https, icq, jabber, ftp

  • PC 3 - 192.168.0.22, Простой доступ: http, https, icq, jabber, ftp


Сразу видно, что адреса можно разделить на три группы доступа:

  • SERVER (192.168.0.2)

  • FULL (192.168.0.10)

  • USER (192.168.0.20, 192.168.0.21, 192.168.0.22)


Группа создается простым упоминанием о ней. Добавим адрес 192.168.0.2 в группу SERVER:

[mkt@MikroTik] /ip firewall address-list> add address="192.168.0.2/32"
list="SERVER" comment="web, ftp, mail server"

Адрес 192.168.0.10 в группу FULL:
[mkt@MikroTik] /ip firewall address-list> add address="192.168.0.10/32"
list="FULL" comment="Administrator"

Адресa 192.168.0.20, 192.168.0.21, 192.168.0.22 в группу USER:
[mkt@MikroTik] /ip firewall address-list> add address="192.168.0.20/32"
list="USER" comment="User #1"
[mkt@MikroTik] /ip firewall address-list> add address="192.168.0.21/32"
list="USER" comment="User #2"
[mkt@MikroTik] /ip firewall address-list> add address="192.168.0.22/32"
list="USER" comment="User #3"

Посмотрим, что у нас получилось:
[mkt@MikroTik] /ip firewall address-list> print
Flags: X - disabled, D - dynamic
# LIST ADDRESS
0 ;;; web, ftp, mail server
SERVER 192.168.0.2
1 ;;; Administrator
FULL 192.168.0.10
2 ;;; User #1
USER 192.168.0.20
3 ;;; User #2
USER 192.168.0.21
4 ;;; User #3
USER 192.168.0.22

Теперь можно пересмотреть наши правила, созданные раннее.
Правила для администратора, написанные ранее:
[mkt@MikroTik] > ip firewall filter add chain=forward dst-address=192.168.0.10/32
action=accept comment="Allow all for admin"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.10/32
action=accept comment="Allow all for admin"

Можно переписать так:
[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="FULL
action=accept comment="Allow all for group FULL"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="FULL
action=accept comment="Allow all for group FULL"

Изменим правила сервера, созданные ранне:
[mkt@MikroTik] > ip firewall filter add chain=forward dst-address=192.168.0.2/32
protocol=tcp src-port=80 action=accept comment="Allow http for server (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.2/32
protocol=tcp dst-port=80 action=accept comment="Allow http for server (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address=192.168.0.2/32
protocol=tcp src-port=25 action=accept comment="Allow smtp for server (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.2/32
protocol=tcp dst-port=25 action=accept comment="Allow smtp for server (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address=192.168.0.2/32
protocol=tcp src-port=110 action=accept comment="Allow pop for server (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.2/32
protocol=tcp dst-port=110 action=accept comment="Allow pop for server (out)"

На эти:
[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="SERVER"
protocol=tcp src-port=80 action=accept comment="Allow http for group SERVER (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="SERVER"
protocol=tcp dst-port=80 action=accept comment="Allow http for group SERVER (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="SERVER"
protocol=tcp src-port=25 action=accept comment="Allow smtp for group SERVER (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="SERVER"
protocol=tcp dst-port=25 action=accept comment="Allow smtp for group SERVER (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="SERVER"
protocol=tcp src-port=110 action=accept comment="Allow pop for group SERVER (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="SERVER"
protocol=tcp dst-port=110 action=accept comment="Allow pop for group SERVER (out)"

Пока что оптимизация не большая, но сейчас займемся правилами для доступа простых пользователей и вместо блока, повторяющегося 3-и раза для каждой машины:
[mkt@MikroTik] > ip firewall filter add chain=forward dst-address=192.168.0.20/32
protocol=tcp src-port=80 action=accept comment="Allow http for pc1 (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.20/32
protocol=tcp dst-port=80 action=accept comment="Allow http for pc1 (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address=192.168.0.20/32
protocol=tcp src-port=443 action=accept comment="Allow https for pc1 (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.20/32
protocol=tcp dst-port=443 action=accept comment="Allow https for pc1 (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address=192.168.0.20/32
protocol=tcp src-port=21 action=accept comment="Allow ftp for pc1 (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.20/32
protocol=tcp dst-port=21 action=accept comment="Allow ftp for pc1 (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address=192.168.0.20/32
protocol=tcp src-port=5190 action=accept comment="Allow icq for pc1 (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.20/32
protocol=tcp dst-port=5190 action=accept comment="Allow icq for pc1 (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address=192.168.0.20/32
protocol=tcp src-port=5222 action=accept comment="Allow jabber for pc1 (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.20/32
protocol=tcp dst-port=5222 action=accept comment="Allow jabber for pc1 (out)"

Создадим блок правил для группы USER:
[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="USER"
protocol=tcp src-port=80 action=accept comment="Allow http for group USER (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="USER"
protocol=tcp dst-port=80 action=accept comment="Allow http for group USER (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="USER"
protocol=tcp src-port=443 action=accept comment="Allow https for group USER (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="USER"
protocol=tcp dst-port=443 action=accept comment="Allow https for group USER (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="USER"
protocol=tcp src-port=21 action=accept comment="Allow ftp for group USER (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="USER"
protocol=tcp dst-port=21 action=accept comment="Allow ftp for group USER (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="USER"
protocol=tcp src-port=5190 action=accept comment="Allow icq for group USER (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="USER"
protocol=tcp dst-port=5190 action=accept comment="Allow icq for group USER (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="USER"
protocol=tcp src-port=5222 action=accept comment="Allow jabber for group USER (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="USER"
protocol=tcp dst-port=5222 action=accept comment="Allow jabber for group USER (out)"

Теперь, когда в сети появляется новая машина, которой нужно дать права для доступ в сеть, то достаточно добавить ее в соответствующую группу адресов.
На пример у нас появляется новая машина с адресом 192.168.0.23, которой нужен доступ как и остальных пользователей группы USER, но за исключением доступа к ICQ и JABBER, ну уж очень болтливый пользователь :)
Добавим его в группу USER, а так же в новую группу BLOCK_IM
[mkt@MikroTik] > ip firewall address-list add address="192.168.0.23/32"
list="USER" comment="User #4"
[mkt@MikroTik] > ip firewall address-list add address="192.168.0.23/32"
list="BLOCK_IM" comment="User #4"

Получим:
[mkt@MikroTik] > ip firewall address-list print
Flags: X - disabled, D - dynamic
# LIST ADDRESS
0 ;;; web, ftp, mail server
SERVER 192.168.0.2
1 ;;; Administrator
FULL 192.168.0.10
2 ;;; User #1
USER 192.168.0.20
3 ;;; User #2
USER 192.168.0.21
4 ;;; User #3
USER 192.168.0.22
5 ;;; User #4
USER 192.168.0.23
6 ;;; User #4
BLOCK_IM 192.168.0.23

Теперь машина с ip адресом 192.168.0.23 уже имеет доступ, оговоренный для группы USER, но не блокируется траффик ICQ и JABBER.
Создадим дополнительные правила для группы BLOCK_IM.
[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="BLOCK_IM"
protocol=tcp dst-port=5190 action=drop comment="Drop icq for group BLOCK_IM (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="BLOCK_IM"
protocol=tcp src-port=5190 action=drop comment="Drop icq for group BLOCK_IM (in)"

[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list="BLOCK_IM"
protocol=tcp dst-port=5222 action=drop comment="Drop jabber for group BLOCK_IM (out)"

[mkt@MikroTik] > ip firewall filter add chain=forward dst-address-list="BLOCK_IM"
protocol=tcp src-port=5222 action=drop comment="Drop jabber for group BLOCK_IM (in)"

Посмотрим, что получилось:
[mkt@MikroTik] > ip firewall filter print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; Drop invalid connection
chain=forward action=drop connection-state=invalid

1 ;;; Allow established connections
chain=forward action=accept connection-state=established

2 ;;; Allow related connections
chain=forward action=accept connection-state=related

3 ;;; Allow UDP
chain=forward action=accept protocol=udp

4 ;;; Allow ICM Ping
chain=forward action=accept protocol=icmp

5 ;;; Allow all for group FULL
chain=forward action=accept dst-address-list=FULL

6 ;;; Allow all for group FULL
chain=forward action=accept src-address-list=FULL

7 ;;; Allow http for group SERVER (in)
chain=forward action=accept protocol=tcp dst-address-list=SERVER src-port=80

8 ;;; Allow http for group SERVER (out)
chain=forward action=accept protocol=tcp src-address-list=SERVER dst-port=80

9 ;;; Allow smtp for group SERVER (in)
chain=forward action=accept protocol=tcp dst-address-list=SERVER src-port=25

10 ;;; Allow smtp for group SERVER (out)
chain=forward action=accept protocol=tcp src-address-list=SERVER dst-port=25

11 ;;; Allow pop for group SERVER (in)
chain=forward action=accept protocol=tcp dst-address-list=SERVER src-port=110

12 ;;; Allow pop for group SERVER (out)
chain=forward action=accept protocol=tcp src-address-list=SERVER dst-port=110

13 ;;; Allow http for group USER (in)
chain=forward action=accept protocol=tcp dst-address-list=USER src-port=80

14 ;;; Allow http for group USER (out)
chain=forward action=accept protocol=tcp src-address-list=USER dst-port=80

15 ;;; Allow https for group USER (in)
chain=forward action=accept protocol=tcp dst-address-list=USER src-port=443

16 ;;; Allow https for group USER (out)
chain=forward action=accept protocol=tcp src-address-list=USER dst-port=443

17 ;;; Allow ftp for group USER (in)
chain=forward action=accept protocol=tcp dst-address-list=USER src-port=21

18 ;;; Allow ftp for group USER (out)
chain=forward action=accept protocol=tcp src-address-list=USER dst-port=21

19 ;;; Allow icq for group USER (in)
chain=forward action=accept protocol=tcp dst-address-list=USER src-port=5190

20 ;;; Allow icq for group USER (out)
chain=forward action=accept protocol=tcp src-address-list=USER dst-port=5190

21 ;;; Allow jabber for group USER (in)
chain=forward action=accept protocol=tcp dst-address-list=USER src-port=5222

22 ;;; Allow jabber for group USER (out)
chain=forward action=accept protocol=tcp src-address-list=USER dst-port=5222

23 ;;; Drop all
chain=forward action=drop

24 ;;; Drop icq for group BLOCK_IM (out)
chain=forward action=drop protocol=tcp src-address-list=BLOCK_IM dst-port=5190

25 ;;; Drop icq for group BLOCK_IM (in)
chain=forward action=drop protocol=tcp dst-address-list=BLOCK_IM src-port=5190

26 ;;; Drop jabber for group BLOCK_IM (out)
chain=forward action=drop protocol=tcp src-address-list=BLOCK_IM dst-port=5222

27 ;;; Drop jabber for group BLOCK_IM (in)
chain=forward action=drop protocol=tcp dst-address-list=BLOCK_IM src-port=5222

В таком варианте блокирование траффика IM не будет т.к. правила разрешающие его 19, 20, 21, 22 стоят выше, чем блокирующие 24, 25, 26, 27. Поднимем их повыше.
[mkt@MikroTik] > ip firewall filter move 24 5
[mkt@MikroTik] > ip firewall filter move 25 5
[mkt@MikroTik] > ip firewall filter move 26 5
[mkt@MikroTik] > ip firewall filter move 27 5

Теперь все работает, что надо пропустить - пропускается, что надо заблокирова - блокируется.

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

Рассмотрим динамическое добавление адресов.

К примеру, нам необходимо заблокировать пользователей, подключающихся из вне к маршрутизатору по протоколу Telnet.
Создаем правило в таблице Mangle, которое добавляет ip адрес источника при попытке подключиться по протоколу tcp на 23 порт через интерфейс ether1, который подключен к провайдеру в группу BLOCK.
[mkt@MikroTik] > ip firewall mangle add chain=prerouting protocol=tcp dst-port=23
in-interface=ether1 action=add-src-to-address-list address-list="BLOCK"

Теперь создадим правило, которое будет блокировать ip адреса, внесенные в группу BLOCK, а заодно поднимем правило на самый верх таблицы.
[mkt@MikroTik] > ip firewall filter add chain=forward src-address-list=BLOCK
action=drop comment="Block incomming from group BLOCK"

[mkt@MikroTik] > ip firewall filter move 28 0

После того, как кто то попробует подключиться к маршрутизатору из вне, то, он автоматически будет включен в группу BLOCK, как это получилось с адресом 192.168.1.217.
[mkt@MikroTik] > ip firewall address-list print
Flags: X - disabled, D - dynamic
# LIST ADDRESS
0 ;;; web, ftp, mail server
SERVER 192.168.0.2
1 ;;; Administrator
FULL 192.168.0.10
2 ;;; User #1
USER 192.168.0.20
3 ;;; User #2
USER 192.168.0.21
4 ;;; User #3
USER 192.168.0.22
5 ;;; User #4
USER 192.168.0.23
6 ;;; User #4
BLOCK_IM 192.168.0.23
7 D BLOCK 192.168.1.217


Источник: http://naminutku.ucoz.ru/publ/19-1-0-57

Спонсоры данной статьи


Категория: Авторские статьи | Добавил: -=shurf=- (23.07.2010) | Автор: Sergey W
Просмотров: 6542 | Теги: списки и группы адресов, firewall, mikrotik | Рейтинг: 0.0/0

Настройка Mikrotik
Mikrotik - QoS, Bandwidth cont...
Защита mikrotik от внешних вто...
Списки адресов
MikroTik RouterOS – настройка ...
Adress Lists в Mikrotik: чем м...
Настройка Микротика. Базовая с...
Настройка тегированных веланов...
замануха
RouterOS на офисном шлюзе, час...
Серверные сценарии ч.2

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Профиль
Привет: Гость

Сообщения:

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или войдите!

Реклама

Наш опрос
Чего добавить на сайте?
Всего ответов: 84

Нашел ошибку?
Система Orphus

Статистика

Онлайн всего: 2
Гостей: 1
Пользователей: 1
Kamorkaskn



Бесплатный хостинг uCoz