I wonder where the other side of, say,
vethHRMPOM@if10
is?
Embora eu não saiba como mapear diretamente os dispositivos veth do host para o dispositivo LXC veth, sei como fazer o inverso:
root@server:~# lxc-ls
bugzilla4
root@server:~# lxc-info -n bugzilla4 -p
PID: 7072
root@server:~# mkdir -p /var/run/netns/
root@server:~# ln -sf /proc/7072/ns/net /var/run/netns/bugzilla4
root@server:~# ip netns list
bugzilla4
root@server:~# ip netns exec bugzilla4 ethtool -S eth0
NIC statistics:
peer_ifindex: 41
root@server:~# ip link show | grep '^41:'
41: vXsomething: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UP mode DEFAULT group default qlen 1000
Se ethtool
não estiver disponível no convidado, acho que você pode simplesmente obter o convidado ifindex
e incrementar com um para obter o host ifindex
(40 - > 41):
root@server:~# ip netns exec bugzilla4 ip link show eth0
40: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
Para responder à sua pergunta original: você pode escrever um script que irá sobre cada LXC, obterá o dispositivo host veth e parará se for o seu interesse ( vethHRMPOM@if10
).
Uma solução melhor, na minha opinião, seria nomear seus dispositivos vet corretamente. Exemplo:
lxc.network.veth.pair = vXbugzilla4
O dispositivo veth é chamado vXbugzilla4
no host:
root@server:~# ip link show vXbugzilla4
41: vXbugzilla4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UP mode DEFAULT group default qlen 1000
link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff