Version: >=2.9.13
http://www.mikrotik.com
radius/etc/raddb/dictionary
$INCLUDE /usr/local/radius/share/freeradius/dictionary.mikrotik
/radius add address=192.168.101.17 secret=radsecret service=ppp /radius incoming set accept=yes port=1700
/ppp aaa set accounting=yes use-radius=yes interim-update=300 /ppp profile set default local-address=192.168.101.10
/interface pppoe-server server add interface=ether1 \ \... service-name=pppoe-in authentication=chap
/interface pptp-server server set enabled=yes authentication=chap
Удалённое выполнение команд на Mikrotik.
Создание сертификата
Сделайте сертификат пустым паролем.
# /usr/abills/misc/sslcerts.sh ssh admin_ssh
Загрузите сертификат на сервер.
% cd /usr/abills/Certs/ % ftp 10.20.1.1 Connected to 10.20.1.1. 220 mikrotik FTP server (MikroTik 2.9.16) ready Name (10.20.1.1:user): admin 331 Password required for admin Password: ftp> put id_dsa.admin_ssh.pub 226 ASCII transfer complete ftp> exit
Не используйте пользователя 'admin'. Для удалённого доступа создайте отдельного пользователя.
Создание пользователя
[admin@mikrotik]> user add name=admin_ssh group=write
Подключите SSH ключ пользователю
[admin@mikrotik]> user ssh-keys import file=id_dsa.admin_ssh.pub user: admin_ssh
Проверяем:
% ssh -l admin_ssh -i /usr/abills/Certs/id_dsa.admin_ssh 10.20.1.1 "/system identity print" name: "MikroTik"
поместить даный скрип в каталог /usr/abills/libexec/ext_acct mikrotik_mshaper.sh
#!/bin/sh
# Mikrotik multi traffic class shaper
DEBUG=1;
ACT_STATUS_TYPE=$1;
NAS_IP_ADDRESS=$2;
NAS_PORT=$3;
NAS_TYPE=$4;
USER_NAME=$5;
FRAMED_IP_ADDRESS=$6;
if [ w${ACT_STATUS_TYPE} = w1 ] ; then
if [ w${USER_NAME} = wrealz ] ; then
/usr/abills/libexec/linkupdown mikrotik up INTERFACE ${USER_NAME} ${FRAMED_IP_ADDRESS} NAS_HOST=${NAS_IP_ADDRESS} NAS_ADMIN=admin_ssh PROTO=pptp debug
echo "===> Started ${USER_NAME} session [NAS: ${NAS_IP_ADDRESS}]" >> /var/log/shaper
fi;
else if [ w${ACT_STATUS_TYPE} = w2 ] ; then
if [ w${USER_NAME} = wrealz ] ; then
/usr/abills/libexec/linkupdown mikrotik down INTERFACE ${USER_NAME} ${FRAMED_IP_ADDRESS} NAS_HOST=$2 NAS_ADMIN=admin_ssh PROTO=pptp debug
echo "===> Stopped ${USER_NAME} session" >> /var/log/shaper
fi;
else
echo "Not enough arguments";
fi;
fi;
/ System configuration/ NAS/
| Type | mikrotik |
|---|---|
| RADIUS Parameters (,) | Acct-Interim-Interval=300 |
| :Manage: | |
| IP:PORT: | IP-адрес и порт, на котором сервер слушает радиус команды. (По умолчанию 1700) |
| User: | Имя пользователя для запуска удалённых команд через SSH. После заведения пользователя заведите SSH сертификат в системе. |
| Password: | radsecret - Radius secret для NAS сервера |