Отведение трафика на внешние платформы
Небольшая часть трафика может извлекаться из общего канала и передаваться для анализа и обработки на внешние платформы. Производится копирование трафика и передача на заданный интерфейс.
Настройка TAP интерфейсов
- TAP0 - используется для отведения трафика
- TAP1 - Порт на стороне сервера, который принимает трафик
- Между TAP0 и TAP1 создается Tunnel для передачи трафика на внешнюю платформу
- На интерфейсе TAP0 отключается mac learning
Из консоли выполнить следующие команды:
ip tuntap add tap0 mode tap ip tuntap add tap1 mode tap ip link set dev tap0 up ip link set dev tap1 up ip link add br0 type bridge ip link set tap0 master br0 bridge link set dev tap0 learning off ip link set tap1 master br0 ifconfig tap0 192.168.4.20 up ifconfig tap1 192.168.4.21 up ifconfig br0 up
ВНИМАНИЕ: TAP интерфейсы необходимо стартовать после перезагрузки сервера!
Настройка отведения трафика
Задать отведение трафика (вариант задания через именованный профиль):
fdpi_ctrl load profile --service 14 --profile.name radius_accounting --profile.json '{ "typedev" : "tap","dev" : "tap0","udp" : [ 1813 ] }' --outformat=json fdpi_ctrl load --service 14 --profile.name radius_accounting --ip 10.16.252.11
где "typedev" : "tap" - тип устройства для отведения трафика (TAP)
"dev" : "tap0" - имя сетевого интерфейса, в который отводится трафик "udp" : [ 1813 ] - протокол и номер порта отводимого трафика
Пример использования можно посмтореть в разделе Настройка Radius-монитора Пример #2
Настройка автозапуска
Для настройки интерфейсов отведения трафика при старте системы, необходимо:
- Добавить в файл /etc/rc.d/rc.local:
/sbin/ip tuntap add tap0 mode tap /sbin/ip tuntap add tap1 mode tap /sbin/ip link set dev tap0 up /sbin/ip link set dev tap1 up /sbin/ip link add br0 type bridge /sbin/ip link set tap0 master br0 /sbin/bridge link set dev tap0 learning off /sbin/ip link set tap1 master br0 /sbin/ifconfig tap0 192.168.4.20 up /sbin/ifconfig tap1 192.168.4.21 up /sbin/ifconfig br0 up
- Добавьте rc.local разрешения на выполнение:
chmod +x /etc/rc.d/rc.local
- Внести изменения в файл /usr/lib/systemd/system/rc-local.service:
[Unit] Description=/etc/rc.d/rc.local Compatibility Documentation=man:systemd-rc-local-generator(8) ConditionFileIsExecutable=/etc/rc.d/rc.local After=network.target network-online.target [Service] Type=forking ExecStart=/etc/rc.d/rc.local start TimeoutSec=0 RemainAfterExit=yes GuessMainPID=no [Install] WantedBy=multi-user.target
- Включите службу rc.local, чтобы она запускалась каждый раз после перезагрузки:
systemctl enable rc-local