The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"мост между двумя локальными TAP"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"мост между двумя локальными TAP"  +/
Сообщение от DESTRUCTOR email(ok) on 14-Окт-15, 14:27 
Доброго времени суток!

Передо мной стоит задача на локальном ПК организовать информационный обмен между двумя программами, например, iperf -s (сервер) и iperf -с (клиент) таким образом, чтобы трафик шёл не через петлю (loopback), а через виртуальные интерфейсы: tap0 и tap1.

Делается это для того, чтобы можно было эмулировать сетевые задержки и перепутывать пакеты (с помощью netem) и т.д.

Я пробовал создавать сетевой мост между tap0 и tap1 следующим образом:

# создаём виртуальные сетевые интерфейсы
tunctl -u <user> -t tap0
tunctl -u <user> -t tap1

ifconfig tap0 0.0.0.0 promisc up
ifconfig tap1 0.0.0.0 promisc up

# создаём мост
brctl addbr br0

# добавляем в него сетевые интерфейсы
brctl addif br0 tap
brctl addif br0 tap1

# смотрим информацию о мосте
brctl show

# поднимаем мост
ifconfig br0 up

# назначаем IP-адреса
ifconfig tap0 192.168.0.5
ifconfig tap1 192.168.1.5

Для проверки запускаю в одной консоли сервер:
iperf -s -B 192.168.0.5

в другой консоли:
iperf -c 192.168.1.5 -t 1

В результате пакеты из tap1 в tap0 не идут.
Проверял с помощью tcpdump:
tcpdump -i tap0
и
tcpdump -i tap1

Насколько я понимаю, нужно добавить маршрутизацию.
Как это правильно сделать с помощью "route add"?

Добрые люди, помогите пожалуйста разобраться.
Заранее благодарен за ответ!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "мост между двумя локальными TAP"  +1 +/
Сообщение от DESTRUCTOR email(ok) on 14-Окт-15, 16:39 
Похоже нашёл решение (Send-to-self on Linux ):
http://blog.asiantuntijakaveri.fi/2012/08/send-to-self-on-li...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "мост между двумя локальными TAP"  +/
Сообщение от Павел Самсонов email on 16-Окт-15, 22:18 
>[оверквотинг удален]
> # добавляем в него сетевые интерфейсы
> brctl addif br0 tap
> brctl addif br0 tap1
> # смотрим информацию о мосте
> brctl show
> # поднимаем мост
> ifconfig br0 up
> # назначаем IP-адреса
> ifconfig tap0 192.168.0.5
> ifconfig tap1 192.168.1.5  

Адреса должны быть из одной сетки
192.168.0.5
192.168.0.6


>[оверквотинг удален]
> iperf -c 192.168.1.5 -t 1
> В результате пакеты из tap1 в tap0 не идут.
> Проверял с помощью tcpdump:
> tcpdump -i tap0
> и
> tcpdump -i tap1
> Насколько я понимаю, нужно добавить маршрутизацию.
> Как это правильно сделать с помощью "route add"?
> Добрые люди, помогите пожалуйста разобраться.
> Заранее благодарен за ответ!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "мост между двумя локальными TAP"  +/
Сообщение от Andrey Mitrofanov on 17-Окт-15, 11:45 
> Передо мной стоит задача на локальном ПК организовать информационный обмен между двумя
> программами, например, iperf -s (сервер) и iperf -с (клиент) таким образом,
> чтобы трафик шёл не через петлю (loopback), а через

Наткнулся на упоминание о cwrap -- может, будет полезно.

http://lwn.net/Articles/594863/rss?format=printable

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру