Настройка совместной работы rfw5(UTM5.1.10-017) и MikroTik

Форум для размещения материалов по реализации различных схем использования ПО, решению частых проблем и предупреждению частых ошибок
Закрыто
dda2000
Сообщения: 38
Зарегистрирован: Ср сен 13, 2006 12:55

Настройка совместной работы rfw5(UTM5.1.10-017) и MikroTik

Сообщение dda2000 »

Собрал во едино все что писалось на этом форуме по взаимодействию UTM5 и MikroTik. Может кому будет полезно.

Настройка совместной работы rfw5 (UTM5.1.10-017) и MikroTik v2.9.27

1. Настройка MikroTik

1.1. Создание пользователя и группы

Создадим группу и пользователя для доступа UTM5 к Mikrotik по ssh

Код: Выделить всё

/user group add name=ssh policy ssh,write
/user add name=USER_MIKROTIK group=ssh address=IP_ADDR_UTM5
где USER_MIKROTIK – имя создаваемого пользователя
IP_ADDR_UTM5 – IP адрес сервера UTM5

1.2. Настройка Filter Rules

Для того, чтобы добавляемые правила работали, надо заблокировать пересылку пакетов:

Код: Выделить всё

/ip firewall filter add chain=forward action=accept dst-address-list=allow_ip 
/ip firewall filter add chain=forward action=accept src-address-list=allow_ip
/ip firewall filter add chain=forward action=drop


2. Настройка UTM5

2.1. Редактируем rfw5.cfg

Код: Выделить всё

firewall_type=local
firewall_path=/usr/local/bin/mikrotik_ssh.sh
rfw_name=127.0.0.1
core_host=127.0.0.1
core_port=11758
rfw_login=init
rfw_password=init
log_level=3
log_file_main=/netup/utm5/log/rfw_main.log
log_file_debug=/netup/utm5/log/rfw_debug.log
log_file_critical=/netup/utm5/log/rfw_critical.log
2.2. Создаем скрипт подключения по ssh к роутеру MikroTik

ee /usr/local/bin/mikrotik_ssh.sh

Код: Выделить всё

#!/bin/sh 
ssh USER_MIKROTIK@IP_ADDRESS "$*"


где USER_MIKROTIK – пользователь без пароля, заведенный на MikroTik и прявязанный к IP сервера UTM5
IP_ADDRESS – IP адрес роутера MikroTik

Для того, чтобы скрипт можно было выполнять, меняем права доступа:

Код: Выделить всё

chmod 711 /usr/local/bin/mikrotik_ssh.sh

2.3. Настройка брандмауэра

Заходим в интерфейс администратора UTM5. Далее Настройки  Список брандмауэров  Добавить.
Тип – Local
IP-адрес – 127.0.0.1
Логин – LOGIN_UTM5
Пароль – PASSWORD_UTM5
Комментарии – router MikroTik

где LOGIN_UTM5 – логин доступа на сервер UTM5
PASSWORD_UTM5 – пароль доступа на сервер UTM5
Запоминаем ID брандмауэра.

2.4. Настройка правил firewall-a

В интерфейсе администратора UTM5 выбираем Настроики  Правила firewall  Добавить.
Все пользователи – v
ID пользователя – 0
ID группы – 0
ID тарифа – 0
Включение - ip firewall address-list add address=UIP list=allow_ip comment=UID
Выключение - ip firewall address-list remove UID
ID брандмауэра – ID_FIREWALL,

где ID_FIREWALL – ID брандмауэра (см. 1.3.)

2.5. Первичное подключение по ssh

Для того, что бы всё корректно заработало надо с сервера UTM5 зайти на MikroTik по ssh, что бы публичный ssh-ключ скопировался на сервер, после этого команда через ssh будет отправляться на MikroTik самостоятельно.

Dmitry.

dolphinik
Сообщения: 24
Зарегистрирован: Вт окт 31, 2006 12:45

Сообщение dolphinik »

Есть другое предложение по поводу отключения пользователя

Код: Выделить всё

/interface pptp-server remove [find user=$USER]
Как-нибудь можно получить $USER от UTM и в какой переменной оно может храниться???

friedrich
Сообщения: 159
Зарегистрирован: Вс сен 25, 2005 10:45

Сообщение friedrich »

Еще момент. Если запуск всей биллинговой системы производится от имени определенного пользователя (как это сделано у меня, например), то на Микротик нужно зайти от имени этого пользователя. Если это сделать нельзя (я запретил использовать шелл пользователю netup), то можно просто скопировать строку из файла ~/.ssh/known_hosts в рабочий каталог пользователя netup (у меня это /netup).

yaten
Сообщения: 2
Зарегистрирован: Сб апр 04, 2009 23:04

Сообщение yaten »

еще одно важное дополнение, правило на отключение нифига не
/ip firewall address-list remove UID

а

/ip firewall address-list remove [find comment=UID]

Убил целый день пока доперло.
/ip firewall address-list remove UID -работает только с консоли микротика, а из cmd линуха нифига.

dda2000
Сообщения: 38
Зарегистрирован: Ср сен 13, 2006 12:55

Сообщение dda2000 »

yaten писал(а):еще одно важное дополнение, правило на отключение нифига не
/ip firewall address-list remove UID

а

/ip firewall address-list remove [find comment=UID]

Убил целый день пока доперло.
/ip firewall address-list remove UID -работает только с консоли микротика, а из cmd линуха нифига.
На момент написания этой документации, версия была 2.9.27 и на ней все отлично работало. При переходе с версии 2.9 на 3.0 действительно пришлось менять на /ip firewall address-list remove [find comment=UID]

vostrov
Сообщения: 2
Зарегистрирован: Пн апр 20, 2009 16:02

Сообщение vostrov »

Здравствуй, Коллективный Разум.
У меня проблема, похоже что ядро не передает команды в скрипт /usr/local/bin/mikrotik_ssh.sh
То есть если я забиваю в скрипт вместо S* какую то команду и запускаю скрипт, она выполняется на микротике. Но если включаю/выключаю пользователя в админке, в адрес-листе ничего не появляется. Сам файрвол на микротике работает нормально, всё включает/выключает.
Linux 2.4.33.3 + MikrotikOS 3.24 + UTM 5.2.1-004

rfw.cfg

Код: Выделить всё

## firewall_type
##  Description: Firewall type
##  Allowable values: local, cisco
##  Default value: local
firewall_type=local

## sudo_path
##  Description: sudo path.
##  Allowable values: path to the executable.
##  Default value&#58; <empty>
#sudo_path=/usr/bin/sudo

## firewall_path
##  Description&#58; Firewall path.
##  Allowable values&#58; path to the executable.
##  Required parameter.
firewall_path=/usr/local/bin/mikrotik_rfw.sh

## firewall_flush_cmd
##  Description&#58; Specifies the program to execute when receiving the "flush" signal.
##   Reserved for future use.
##  Default value&#58; <empty>
#firewall_flush_cmd=/usr/sbin/iptables -F

## dont_fork
##  Description&#58; If set to 'true', firewall rules will be applied one-by-one. Recommended when using iptables
##  Allowable values&#58; yes, enable, true
##  Default value&#58; <empty>
#dont_fork=yes

## cisco_ip
##  Description&#58; Cisco firewall IP-address
##  Allowable values&#58; IP address
##  Default value&#58; <empty>
#cisco_ip=10.0.0.1

## rfw_name
##  Description&#58; Firewall name specified with UTM_Admin
##  Required parameter.
rfw_name=mikrotik

## core_host
##  Description&#58; UTM server IP.
##  Allowable values&#58; IP address
##  Required parameter.
core_host=127.0.0.1

##
##  Description&#58; UTM server port.
##  Default value&#58;12758
core_port=12758

## rfw_login
##  Description&#58; UTM server username.
##  Required parameter.
rfw_login=mikrotik

## rfw_password
##  Description&#58; UTM server password.
##  Required parameter.
rfw_password=mikrotik

## rfw_ssl_type
##  Description&#58; Encryption type
##  Allowable values&#58; tls1, ssl3, none
##  Default value&#58; ssl3
#rfw_ssl_type=none
Брандмауэр

Код: Выделить всё

ID - 6
Тип – Local
IP-адрес – 127.0.0.1
Логин – mikrotik
Пароль – mikrotik
Комментарии – router MikroTik 
Правила файрвола

Код: Выделить всё

Все пользователи – v
ID пользователя – 0
ID группы – 0
ID тарифа – 0
Включение - ip firewall address-list add address=UIP list=allow_ip comment=UID
Выключение - ip firewall address-list remove &#91;find comment=UID&#93;
ID брандмауэра – 6.

Заведен пользователь в админке с правами Weel mikrotik:mikrotik.
Раньше файрвол стоял на РС-роутере, от него остался неудаляемый брандмауэр, т.е. у меня 2 бранда с разными именами.
Что забыл, спрашивайте.
Может это из за того что РС-роутер раньше стоял и теперь нельзя перенастроить УТМ под микротик? Или это просто моё недознание работы rfw? Помогите пожалуйста.

Закрыто