victor_sudakov: (Default)
[personal profile] victor_sudakov
Традиционно FreeBSD IP-трафик, предназначенный для одного из собственных интерфейсов, обрабатывает через loopback-интерфейс (lo0) [...] Иногда всё же нужно сделать так, чтобы пакеты физически покидали машину и возвращались обратно - например, для тестирования какого-нибудь оборудования для организации канала связи. Удобно такое тестирование делать одной машиной с двумя интерфейсами.

https://dadv.livejournal.com/168858.html


в /boot/loader.conf добавляем: net.fibs=4

в ядро добавляем: options VIMAGE

не делая никаких buildworld/installword, создаём два "пустых" jail, без единого исполняющегося процесса в каждом, зато с собственным сетевым стеком, набором сетевых интерфейсов и таблицей маршрутизации на каждый jail:

jail -c name=test0 vnet persist exec.fib=1
jail -c name=test1 vnet persist exec.fib=2


перемещаем интерфейс igb0 в jail test0, а igb1 в jail test1, после чего они "исчезают" из хост-системы:

ifconfig igb0 vnet test0
ifconfig igb1 vnet test1
jexec test0 ifconfig igb0 inet 10.0.0.1/24
jexec test1 ifconfig igb1 inet 10.0.0.2/24


После этого можно, например, запустить jexec test0 ping 10.0.0.2 и пинг с адреса 10.0.0.1 на 10.0.0.2 уходит через интерфейс igb0 в физическую сеть, которая в моём случае замкнута обратно на igb1. tcpdump подтверждает, что пакеты уходят и приходят через igb0/igb1.

Так можно тестировать коммутаторы/медиаконвертеры/модули SFP/что угодно.

Profile

victor_sudakov: (Default)
Виктор Судаков

November 2025

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 16th, 2026 08:25 pm
Powered by Dreamwidth Studios