LINUX.ORG.RU
решено ФорумAdmin

Static IP

 , ,


0

1

Запускаю контейнер через systemd-nspawn.

На хосте выполнены настройки:

> cat /etc/systemd/network/br-nspawn.netdev 
[NetDev]
Name=br-nspawn
Kind=bridge

> cat /etc/systemd/network/br-nspawn.network 
[Match]
Name=br-nspawn

[Network]
DHCP=no
Address=172.24.7.1/24
IPForward=ipv4
IPMasquerade=yes

Static IP для интерфейса br-nspawn назначается только после того как я выполню

sudo systemctl restart systemd-networkd

systemd-networkd включен, networking.service выключен.

> ifconfig br-nspawn 
br-nspawn: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC>  mtu 1500
        inet 172.24.7.1  netmask 255.255.255.0  broadcast 172.24.7.255
        inet6 fe80::8497:5aff:fe0d:c587  prefixlen 64  scopeid 0x20<link>
        ether 86:97:5a:0d:c5:87  txqueuelen 1000  (Ethernet)
        RX packets 332  bytes 39891 (38.9 KiB)
        RX errors 0  dropped 4  overruns 0  frame 0
        TX packets 32  bytes 2668 (2.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Но в контейнере другая проблема:

sudo systemctl restart systemd-networkd

Даёт такой результат:

> ifconfig host0 
host0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.96.59  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::3c86:46ff:fe04:56c3  prefixlen 64  scopeid 0x20<link>
        ether 3e:86:46:04:56:c3  txqueuelen 1000  (Ethernet)
        RX packets 13  bytes 1038 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 63  bytes 8628 (8.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Настройки контейнера:

> cat /etc/systemd/network/host0.network  
[Match]
Name=host0

[Network]
DHCP=no
DNS=8.8.8.8
Address=172.24.7.2/24
Gateway=172.24.7.1

systemd-networkd так же включен, networking.service выключен.

Если вручную настроить через ifconfig и route, то сеть работает.

В systemd не силён. Что я делаю неправильно?

И на хосте и в контейнере Debian Stretch.

★★

С хостом разобрался - там connman пытался настроить интерфейс br-nspawn.

Но в контейнере все равно вместо указанного мною IP 169.254.96.59.

SaBo ★★ ()

Проблема здесь:

> cat /lib/systemd/network/80-container-host0.network
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Match]
Virtualization=container
Name=host0

[Network]
DHCP=yes
LinkLocalAddressing=yes

[DHCP]
UseTimezone=yes

systemd-networkd пытается настроить host0 через dhcp игнорируя указанные мною настройки в /etc/systemd/network/host0.network.

Очень удобно.

SaBo ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.