Nowe spostrzeżenia: W serwerze są dwie karty sieciowe eno1 i eno2. Ręczne wpisanie IP w ustawieniach HA powoduje przypisanie tych ustawień do eno2
michal@szrank:~$ sudo ha network info
docker:
address: 172.30.32.0/23
dns: 172.30.32.3
gateway: 172.30.32.1
interface: hassio
host_internet: false
interfaces:
- connected: true
enabled: true
interface: eno2
ipv4:
address:
- 192.168.0.200/24
gateway: 192.168.0.1
method: static
nameservers:
- 1.1.1.1
ready: true
ipv6:
address:
- fe80::4a74:110b:139a:b4a9/64
gateway: null
method: disabled
nameservers: []
ready: false
mac: D4:AE:52:C4:EF:6F
primary: true
type: ethernet
vlan: null
wifi: null
supervisor_internet: true
I wtedy “internet dla HA” działa, aktualizacje przechodzą. Ale kabel sieciowy fizycznie jest wpięty do… eno1, co HA zdaje się w ogóle nie przeszkadzać
W HA dostępna do zmiany ustawień jest jedna karta sieciowa z dwóch i to nie ta, która faktycznie działa. Ta która działa jest sterowana przez Open Media Vault (o którego istnieniu wcześniej nie wspomniałem, bo nie sądziłem, że może to być tu istotne - w końcu po to są kontenery). OMV nie dotyka karty eno2.
Dowiedziałem się z neta, że HA do zarządzania połączeniami sieciowymi używa pakietu network manager, a OMV netplan + systemd-networkd, więc te dwa softy będą sobie na wzajem robiły pod górkę.
Postanowiłem zabronić network managerowi mieszania w eno1, który zapewnia połączenie (i to z powodzeniem, bo wszystkie integracje chmurowe HA działają, apka w telefonie na sieci gsm też działa), ot tak na wszelki wypadek. To zrobiłem przez dodanie
;interface-name:eno1
w sekcji [keyfile] w pliku /etc/NetworkManager/NetworkManager.conf
[keyfile]
unmanaged-devices=type:bridge;type:tun;driver:veth;interface-name:eno1
I teraz planuję komendą
sudo nmcli connection up 061d3b6c-2e0c-4f3e-a166-50f200449fb1
uruchamiać połączenie przez Network Manager na karcie eno2.
Komenda ta powoduje zmianę w ustawieniach IPv4 w HA z wyłączone na takie jak przypisanie jak podczas tworzenia połączenia.
Niestety w tym momencie wystrzelałem się z aktualizacji home assistant i nie mam jak sprawdzić czy po restarcie serwera i ręcznym uruchomieniu połączenia wszystko będzie działać jak trzeba - jak coś się pojawi, to sprawdzę i podzielę się wnioskami
Wątek poboczny:
061d3b6c-2e0c-4f3e-a166-50f200449fb1 to UUID połączenia utworzonego wcześniej ręcznie w ustawieniach HA. By zrobyć UUID trzeba użyć komendy nmcli connection
Umnie wygląda to tak:
michal@szrank:~$ nmcli connection
NAME UUID TYPE DEVICE
Supervisor eno2 061d3b6c-2e0c-4f3e-a166-50f200449fb1 ethernet eno2
lo 78c52f60-4a8b-42bf-bb52-b3503b4c6c23 loopback lo
testtt 40a50f41-6296-4304-b8cc-f60f12b57a45 wifi --