Копирование трафика между приложениями одного сервера (RADIUS и СОРМ)

Если вдруг у вас на одном сервере оказались BRAS и RADIUS-сервер, а вам надо скопировать RADIUS-аккаунтинг, то первое что приходит в голову – разнести эти сервисы по серверам и традиционным SPAN-ом скопировать нужный трафик. Однако, существует более простое решение в виде iptables TEE, а именно:

vconfig add eth1 2
ifconfig eth1.2 192.0.2.1/24 up
arp -s 192.0.2.2 00:11:22:33:44:55
iptables -t mangle -A PREROUTING -i lo -p udp --dport 1813 -j TEE --gateway 192.0.2.2

Таким образом, трафик между BRAS-ом и RADIUS-сервером, расположенных на одном сервере будет копироваться в eth1.2
# tcpdump -i eth1.2 -n -nn -v -vv -s 0 -e
tcpdump: listening on eth1.2, link-type EN10MB (Ethernet), capture size 65535 bytes
22:06:49.367420 14:2e:d6:af:12:13 > 00:11:22:33:44:55, ethertype IPv4 (0x0800), length 244: (tos 0x0, ttl 63, id 26706, offset 0, flags [DF], proto UDP (17), length 230)
127.0.0.1.55483 > 127.0.0.1.1813: [udp sum ok] RADIUS, length: 202

Далее, такой трафик можно подхватить свитчом и скоммутировать куда надо (либо как unknown unicast, либо создав статическую запись в таблице коммутации для mac=00:11:22:33:44:55)
Этот же способ копирования трафика может быть интересен, когда транзитное оборудование этого сделать не может по каким-то причинам (закончились SPAN-сессии или что-то ещё)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s