LXC konténer static IP + dhcp?

Fórumok

Üdv!
Adott egy FC szerver és alatt egy teszt konténer (fedora), konfigja:

lxc.include = /usr/share/lxc/config/fedora.common.conf
lxc.arch = x86_64

# Container specific configuration
lxc.rootfs = /var/lib/lxc/fedora-lxc1/rootfs
lxc.rootfs.backend = dir
lxc.utsname = fedora-lxc1

# Network configuration
lxc.network.type = veth
lxc.network.link = br0
lxc.network.flags = up
lxc.network.hwaddr = xx:xx:xx:xx:xx:xx
# IP
lxc.network.ipv4 = 10.0.0.105/8
lxc.network.ipv4.gateway = 10.0.0.254

# autostart
lxc.start.auto = 1

Működik a fix IP (bridgelt), de megjelenik indulás után 1-2mp-el egy dinamikus IP is.
Nem jövök rá, hogy a konténer miért kér dhcp-n címet! Nem is látom ezt a beállítást! Csak fix IP van a konfigban. :o
A common.conf-ban se látok dhcp beállítást...
Van ötlete valakinek, hogy miért kér a konténer dhcp-s címet is?

(lxc: 2.0.9)

Hozzászólások

Ötlet van: systemd a konténerben?

Töröld le a DHCP kliens (talán dhcp-client ?) csomagot.

/etc/sysconfig/network-scripts alatt valami?
Vagy HZ ötlete a systemd-vel?
Mostanában szeretnek mindent ip -vel állítgatni, ennek a DHCP képességei?
Évek óta nem LXC-ztem, de vannak valahol valami scriptek amik egy konténer indításkor meghívódnak ha jól emlékszem. Azok közt valami?

Nekem debian-ban debian csinálta ezt a jelenséget.

A container /etc/network/interfaces-ben volt a beállítás, hogy kérjen dhcp-vel címet.
FC-ben máshol vannak az etc-ben ezek a beállítások.
Javaslom nézd meg a container interfaces beállításait!

nalam nincs lxc.network.ipv4* a conf fajlban, a ip bealltas meg a belso rendszer szerint megy (szabvanyos /etc/network/interfaces fajl), neked akkor az altalanos fedora beallitas kell.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Ö... ugyanazon az interface-en jelenik meg a két cím?
Vagy létrejön egy eth0 és egy eth1, az egyik a fix, a másik a dhcp-től kapott címmel?

Mert én mostanáig abban a hitben voltam, hogy az első verzió. Viszont most ki akartam próbálni és indítás után két eth device-om van, ha beállítok fix címet.

Ezt most találtam: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1251352 (régi, egy részét nem is értem, de kísértetiesen emlékeztet arra, amit én látok)

Nem. Van egy enp0sxxxxx és egy wlp1s0, de a konténer ezektől független. Ha nem állítok be fix címet a /var/lib/lxc/teszt/config-ban, akkor csak egy interface jön fel, dinamikus címmel, ha beállítom a fix címet, az kreál magának egy újat, de a dhcp-s interface ugyanúgy megmarad.
Feltételeztem volna, hogy a konténeren belül kellene konfigurálni, de a /etc/network könyvtár nem létezik, network-manager nincs rajta, szóval mondhatni feladtam :)

Egy interface van a hoszt gépben és a konténerben az eth0-hoz két IP csatolódik:

~# ip addr
...
14: eth0@if15: mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:2e:2c:d2:a2 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 10.0.0.105/8 brd 10.255.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.0.11/24 brd 192.168.0.255 scope global dynamic eth0
valid_lft 25972sec preferred_lft 25972sec
inet6 fe80::216:3eff:fe7c:d0a3/64 scope link
valid_lft forever preferred_lft forever

Létrehoztam egy másik bridgelt iface fedora konténert, és annak is a fix IP mellett lett egy dhcp-s IP-je.
Ez valami template bug/features lehet(?).

Hát ezt nem tudtam leutánozni. Nekem van egy eth0@ifxx és egy eth1@ifyy ha fix IP-t is beállítok. Az eth0... a dhcp-s, de nem tudok tőle megszabadulni.

szerk: ezt sikerült végül rendbetenni: a config-ban nem szabad, hogy más sor legyen az lxc.network sorok közt (pl. lxc.rootfs), akkor egyetlen interface lesz két címmel.

Viszont nem tudok semmit telepíteni ebbe a nyomorult konténerbe. Minden dnf install elszáll valami ... NOKEY hiba miatt. :(

Megírhatnátok már, hogy mi van a conatainer /etc/sysconfig/network-scripts könyvtárában!
És annak a tartalmát.
Mik is kérdezte én is. Olyan érzésem van, mintha nem is akarnánk megjavítani a hibát.

Nincs ott az eth0 konfigja, ha erre gondoltatok:

[root@fedora-lxc1 network-scripts]# ls -l
total 196
-rw-r--r-- 1 root root 254 jan 2 15:17 ifcfg-lo
lrwxrwxrwx 1 root root 24 jan 2 15:36 ifdown -> ../../../usr/sbin/ifdown
-rwxr-xr-x 1 root root 646 jan 2 15:17 ifdown-bnep
-rwxr-xr-x 1 root root 6541 jan 2 15:17 ifdown-eth
-rwxr-xr-x 1 root root 769 jan 2 15:17 ifdown-ippp
-rwxr-xr-x 1 root root 4536 jan 2 15:17 ifdown-ipv6
lrwxrwxrwx 1 root root 11 jan 2 15:36 ifdown-isdn -> ifdown-ippp
-rwxr-xr-x 1 root root 2102 jan 2 15:17 ifdown-post
-rwxr-xr-x 1 root root 870 jan 2 15:17 ifdown-routes
-rwxr-xr-x 1 root root 1456 jan 2 15:17 ifdown-sit
-rwxr-xr-x 1 root root 1462 jan 2 15:17 ifdown-tunnel
lrwxrwxrwx 1 root root 22 jan 2 15:36 ifup -> ../../../usr/sbin/ifup
-rwxr-xr-x 1 root root 12415 jan 2 15:17 ifup-aliases
-rwxr-xr-x 1 root root 906 jan 2 15:17 ifup-bnep
-rwxr-xr-x 1 root root 13426 jan 2 15:17 ifup-eth
-rwxr-xr-x 1 root root 12075 jan 2 15:17 ifup-ippp
-rwxr-xr-x 1 root root 11889 jan 2 15:17 ifup-ipv6
lrwxrwxrwx 1 root root 9 jan 2 15:36 ifup-isdn -> ifup-ippp
-rwxr-xr-x 1 root root 650 jan 2 15:17 ifup-plip
-rwxr-xr-x 1 root root 1064 jan 2 15:17 ifup-plusb
-rwxr-xr-x 1 root root 5049 jan 2 15:17 ifup-post
-rwxr-xr-x 1 root root 2001 jan 2 15:17 ifup-routes
-rwxr-xr-x 1 root root 3303 jan 2 15:17 ifup-sit
-rwxr-xr-x 1 root root 2711 jan 2 15:17 ifup-tunnel
-rwxr-xr-x 1 root root 1836 jan 2 15:17 ifup-wireless
-rwxr-xr-x 1 root root 5419 jan 2 15:17 init.ipv6-global
-rw-r--r-- 1 root root 20101 jan 2 15:17 network-functions
-rw-r--r-- 1 root root 31025 jan 2 15:17 network-functions-ipv6

Addig jutottam, hogy centos7 konténer esetén az ifcfg-eth0 létezett, a BOOTPROTO-t át kellett állítani none-ra (dhcp-ről):

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HOSTNAME=fedora-moodle
NM_CONTROLLED=no
TYPE=Ethernet
MTU=
DHCP_HOSTNAME=`hostname`
ZONE=public

De fedora konténernél ez nem működött - nem létezett az ifcfg-eth0 fájl. Használtam a centos7 féle ifcfg-eth0 fájlt, de ugyanúgy két IP címe van (static + dhcp).

Tud valaki küldeni egy olyan ifcfg-eth0 fájlt (fedora), amiben működik a fix IP dhcp nélkül?

A konténerben törölve van a dhcp-client csomag (+ restart) és mégis van a fix IP mellett dhcp címe, de csak az ip parancsnál látni:

# ifconfig
eth0: flags=4163 mtu 1500
inet 10.30.100.204 netmask 255.0.0.0 broadcast 10.255.255.255
inet6 fe80::216:3eff:fe12:c745 prefixlen 64 scopeid 0x20

ether 00:16:3e:12:c7:45 txqueuelen 1000 (Ethernet)

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)

# ip addr
1: lo: 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
13: eth0@if14: mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:3e:12:c7:45 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 10.30.100.204/8 brd 10.255.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.40.254.91/8 brd 10.255.255.255 scope global secondary dynamic eth0
valid_lft 28639sec preferred_lft 28639sec
inet6 fe80::216:3eff:fe12:c745/64 scope link
valid_lft forever preferred_lft forever