저는 systemd-nspawn
RaspberryPi에서 컨테이너를 가지고 놀고 있습니다. 지금까지 스타트업은 잘 작동하고 있습니다. --network-veth 및 --network-bridge=br0 옵션을 사용하고 있으며 브리지는 kvm 가상 머신에서 제대로 작동합니다.
이제 컨테이너 IP를 특정 주소로 구성하고 /etc/systemd/network/host.network
컨테이너가 DHCP를 통해 IP를 가져올 때 무시되는 것처럼 보이는 파일을 생성하려고 합니다.
이것이 파일입니다.
[Match]
Name=host0
[Network]
DHCP=no
Address=192.168.0.16/24
Gateway=192.168.0.1
DNS=8.8.8.8
systemd-networkd가 실행 중입니다:
root@bluehost-debian:~# systemctl status systemd-networkd.service
● systemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled)
Active: active (running) since Do 2016-09-01 21:10:54 UTC; 12min ago
Docs: man:systemd-networkd.service(8)
Main PID: 69 (systemd-network)
Status: "Processing requests..."
CGroup: /machine.slice/machine-bluecloud.scope/system.slice/systemd-networkd.service
└─69 /lib/systemd/systemd-networkd
Sep 01 21:10:54 bluehost-debian systemd-networkd[69]: host0 : link configured
Sep 01 21:10:54 bluehost-debian systemd[1]: Started Network Service.
Sep 01 21:10:55 bluehost-debian systemd-networkd[69]: host0 : gained carrier
Sep 01 21:10:58 bluehost-debian systemd-networkd[69]: host0 : DHCPv4 address 192.168.0.143/24 via 192.168.0.1
Sep 01 21:10:58 bluehost-debian systemd-networkd[69]: host0 : link configured
udev는 "name" 필드의 값이 괜찮을 것이라고 말했습니다. 왜 무시되고 있나요?
udevadm info /sys/class/net/host0
P: /devices/virtual/net/host0
E: DEVPATH=/devices/virtual/net/host0
E: IFINDEX=2
E: INTERFACE=host0
E: SUBSYSTEM=net
그렇지 않으면 네트워크가 제대로 작동합니다. 이것을 시도했지만 /etc/network/interfaces
부팅 시 작동하지 않습니다. ifup만 사용할 수 있습니다... (allow-hotplug host0 ...)
나는 약간 붙어있어서 도움을 주시면 감사하겠습니다.
답변1
이제 컨테이너 IP를 특정 주소로 구성하고 컨테이너가 DHCP를 통해 IP를 얻을 때 무시되는 것으로 보이는 /etc/systemd/network/host.network 파일을 생성하려고 합니다.
좋아... 컨테이너에서 systemd를 jessie-backports에서 최신 버전으로 업데이트하여 networkctl을 얻었습니다. 현재 네트워크 구성에 사용되는 파일이 표시됩니다. 이것은 내 것이 아닙니다. 내 파일 이름을 00-host.network로 바꾸었고 작동했습니다 ...
잘하셨어요.
분명히 말하면 질문은 host.network
마지막에 나왔습니다. 이름이 80-host0.network
기본값보다 먼저 정렬 /lib/systemd/network/
되거나 동일한 파일 이름을 갖는 파일을 제공해야 합니다 (또는 /dev/null을 가리키는 동일한 이름의 파일을 생성하여 마스크).
Debian의 경우 217...215, 백포트의 경우 230까지 컨테이너의 네트워크 오류에 대해 읽어보세요.
대안: /etc/network/interfaces
/etc/network/interfaces를 시도했지만 부팅 시 작동하지 않습니다.
/etc/network/interfaces는 나에게 잘 작동합니다(DHCP 사용). 하지만 컨테이너 내부에서는 Allow-hotplug가 작동하지 않을까봐 걱정되어 대신 사용했습니다 auto host0
. 이는 host0
매우 초기에 nspawn에 의해 생성되었으므로 안전해야 합니다 .