Kontejnery

Síť v kontejneru

Pokud jde o síťovou konektivitu, tak ta v našem případě funguje následovně:

root@c1:/# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:73:04:49 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.0.3.9/24 brd 10.0.3.255 scope global dynamic eth0
       valid_lft 3583sec preferred_lft 3583sec
    inet6 fe80::216:3eff:fe73:449/64 scope link 
       valid_lft forever preferred_lft forever

root@c1:/# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=14.0 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=10.5 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 3ms
rtt min/avg/max/mdev = 10.479/12.254/14.030/1.778 ms

root@c1:/# ip route
default via 10.0.3.1 dev eth0 
10.0.3.0/24 dev eth0 proto kernel scope link src 10.0.3.9

Vidíme, že kontejner používá úplně jiný adresní rozsah, než máme na síťovém rozhraní VM. Vystoupíme tedy nyní z kontejneru do VM a prozkoumáme situaci tam. Ještě předtím si je dobré všimnout, že ve výpisu lxc-info c1 byl řádek

root@osboxes:/home/osboxes# lxc-info c1
...
Link:           vethwfg1Dt

Jméno interfacu vethwfg1Dt je náhodně zvolené jméno virtuálního ethernetového páru (https://man7.org/linux/man-pages/man4/veth.4.html), který je spojkou mezi systémem hostitele (VM), kde figuruje pod jménem vethwfg1Dt. Druhou stranou veth rozhraní je uvnitř kontejneru rozhraní eth0@if4 nebo zkráceně eth0.