ipfw tee

Обсуждаем OS FreeBSD и сервисы на ней.

ipfw tee

Сообщение Mechanic » 10 дек 2018, 22:49

FreeBSD 10.0-RELEASE
задача сделать зеркалирование трафика radius на внешний сервер
хочу использовать ipfw tee и далее отправить трафик natd на другой хост
делаю
Код: Выделить всё
ipfw -q add 5 tee 1234 udp from any to any 1812,1813 via lo0

правило отрабатывает
Код: Выделить всё
00005          164          54144 tee 1234 udp from any to any dst-port 1812,1813 via lo0

но если посмотреть tcpdump
Код: Выделить всё
 tcpdump -i lo0 -n port 1234

трафика на порту нет


вопрос почему ???!!!
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: ipfw tee

Сообщение root » 11 дек 2018, 08:51

tee port
Send a copy of packets matching this rule to the divert(4) socket
bound to port port. The search continues with the next rule.

Подобное можно реализовать используя netgraph.
Схема примерно следующая:
1. Добавляются в ipfw правила, отправляющие через ngtee копию пакетов в netgraph.
2. Из netgraph при помощи ng_ksocket пакеты отправляются на IP адрес удаленного сервера.
3. Удаленный сервер принимает пакеты в netgraph через ng_ksocket.
4. Из netgraph пакеты передаются на сетевой интерфейс ngX.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: ipfw tee

Сообщение Mechanic » 11 дек 2018, 14:00

те пакет пишется в divert(4) socket ?
а потом оттуда нужно его переправить далее ?!
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: ipfw tee

Сообщение lehisnoe » 11 дек 2018, 14:41

Mechanic, не понимаю, что мешает взять и проверить, что копии пакетов отправляются на порт...
1. Добавляем правило в ipfw:
Код: Выделить всё
ipfw add 1000 tee 1234 icmp from me to 1.1.1.1

2. Запускаем natd "слушать" нужный порт в режиме дебага:
Код: Выделить всё
natd -v -p 1234 -a 172.16.10.37

3. Генерим нужный трафик:
Код: Выделить всё
ping -c 1 1.1.1.1

4. Наблюдаем появление копий ожидаемых пакетов:
Код: Выделить всё
Out {default}[ICMP] [ICMP] 172.16.10.37 -> 1.1.1.1 8(0) aliased to
           [ICMP] 172.16.10.37 -> 1.1.1.1 8(0)

5. Делаем с пакетами то, что нужно.

P.S. С natd можешь прогуляться по граблям из-за того, что он предназначен, мягко говоря, для иных задач, нежели отписанная тобой. Для твоей задачи - лучшим будет решение от root
No users
No troubles
No money
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
lehisnoe
Site Admin
 
Сообщения: 539
Зарегистрирован: 11 июн 2008, 14:09
Откуда: Moscow

Re: ipfw tee

Сообщение Mechanic » 11 дек 2018, 15:09

ну все верно формируется, только пакеты бегающие внутри lo0 natd при реверсе копирует назад в lo0, а мне нужно на удл. хост отправить

natd -p 1234 -v -a 1.6.8.251 -s -redirect_port udp 1.6.8.254:1812 1812
Out {default}[UDP] [UDP] 127.0.0.1:40462 -> 127.0.0.1:1812 aliased to
[UDP] 1.6.8.251:40462 -> 127.0.0.1:1812
In {default}[UDP] [UDP] 127.0.0.1:40462 -> 127.0.0.1:1812 aliased to
[UDP] 127.0.0.1:40462 -> 127.0.0.1:1812
In {default}[UDP] [UDP] 1.6.8.251:40462 -> 127.0.0.1:1812 aliased to
[UDP] 1.6.8.251:40462 -> 127.0.0.1:1812
Out {default}[UDP] [UDP] 127.0.0.1:40466 -> 127.0.0.1:1812 aliased to
[UDP] 1.6.8.251:40466 -> 127.0.0.1:1812
In {default}[UDP] [UDP] 127.0.0.1:40466 -> 127.0.0.1:1812 aliased to
[UDP] 127.0.0.1:40466 -> 127.0.0.1:1812
In {default}[UDP] [UDP] 1.6.8.251:40466 -> 127.0.0.1:1812 aliased to
[UDP] 1.6.8.251:40466 -> 127.0.0.1:1812
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: ipfw tee

Сообщение lehisnoe » 11 дек 2018, 15:26

Ну а это ровно те грабли, о которых я говорил.
No users
No troubles
No money
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
lehisnoe
Site Admin
 
Сообщения: 539
Зарегистрирован: 11 июн 2008, 14:09
Откуда: Moscow

Re: ipfw tee

Сообщение Mechanic » 11 дек 2018, 15:47

те natd в этой части не поможет ?!
ок посмотрю в сторону ng
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38

Re: ipfw tee

Сообщение Mechanic » 11 дек 2018, 22:44

не понятно только почему 3 пакета вместо 2х
вначале по lo0
потом копия tee и выход natd

Out {default}[UDP] [UDP] 127.0.0.1:40462 -> 127.0.0.1:1812 aliased to
[UDP] 1.6.8.251:40462 -> 127.0.0.1:1812
In {default}[UDP] [UDP] 127.0.0.1:40462 -> 127.0.0.1:1812 aliased to
[UDP] 127.0.0.1:40462 -> 127.0.0.1:1812
In {default}[UDP] [UDP] 1.6.8.251:40462 -> 127.0.0.1:1812 aliased to
[UDP] 1.6.8.251:40462 -> 127.0.0.1:1812
Mechanic
посетитель
 
Сообщения: 101
Зарегистрирован: 17 фев 2009, 08:38


Вернуться в FreeBSD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11