veth(4) | Руководство программиста Linux | veth(4) |
veth - виртуальное устройство Ethernet
Устройства veth — это виртуальные устройства Ethernet. Они могут служить туннелями между сетевыми пространствами имён для создания моста к физическому сетевому устройству в другом пространстве имён, а также использоваться как самостоятельные сетевые устройства.
Устройства veth всегда создаются парами. Пара может быть создана с помощью команды:
# ip link add <имя-p1> type veth peer name <имя-p2>
Здесь имя-p1 и имя-p2 это имена, назначенные двум соединённым конечным точкам.
Пакеты, переданные в одно устройство пары сразу же принимаются другим устройством. Если у какого-то устройства выключается связь (down), то то выключается пара целиком.
Пары устройств veth полезны для объединения сетевых свойств ядра разными интересными способами. В частности, можно поместить один конец пары veth в одно сетевое пространство имён, а другой конец в другое сетевое пространство имён; таким способом установится связь между сетевыми пространствами имён. Для этого сначала создайте устройство veth как описано выше, а затем поместите один конец пары в другое пространство имён:
# ip link set <имя-p2> netns <пространство-имён-p2>
Для нахождения конца сетевого интерфейса veth можно использовать ethtool(8) следующим образом:
# ip link add ve_A type veth peer name ve_B # создаём пару veth # ethtool -S ve_A # находим индекс интерфейса статистики NIC: peer_ifindex: 16 # ip link | grep '^16:' # ищем интерфейс 16: ve_B@ve_A: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc ...
clone(2), network_namespaces(7), ip(8), ip-link(8), ip-netns(8)
2018-02-02 | Linux |