네트워크 액세스가 필요한 여러 lxc 컨테이너가 있습니다. 현재 다음과 같이 관련 구성 파일에 IP 주소를 수동으로 할당하고 있습니다.
lxc.network.type = veth
lxc.network.flags = up
lxc.network.name = eth0
lxc.network.link = br0
lxc.network.ipv4 = 192.168.1.6/24
lxc.network.ipv4.gateway = 192.168.1.1
이는 작동하지만 확장되지 않으며 내 라우터 DHCP 할당과 충돌할 수 있습니다. lxc.network.ipv4 행(다른 곳에서 온라인으로 설명됨)을 생략하여 라우터 dhcp를 사용하려고 시도했는데 컨테이너가 시작되지만 dhcpcd에서는 통신업체가 없다고 보고합니다. lxc-ls --fancy는 또한 내 컨테이너에 IP 주소가 있음을 표시하지 않습니다. 신부가 작동하고 lxc.network.link가 구성 파일에 설정됩니다.
내 컨테이너에서 DHCP를 어떻게 사용할 수 있나요? 내 라우터 DHCP를 사용할 수 있습니까, 아니면 내 호스트에서 서버를 실행해야 합니까? 내 컨테이너 중 일부는 외부에서 액세스할 수 있어야 하지만 일부는 다른 컨테이너/호스트와만 통신하면 됩니다.
저는 아치 리눅스를 실행하고 있습니다. 온라인 도움말의 대부분은 우분투에만 국한된 것 같습니다.
답변1
netctl 및 dhcpcd가 컨테이너 내부에 설치되어 있는지 확인한 후(pacman -Q netctl dhcpcd) 컨테이너에서 다음을 실행합니다.
cat > /etc/netctl/eth0
Connection=ethernet
IP=dhcp
Interface=eth0
파일을 쓰려면 CTRL-D를 누르세요. 그런 다음 다음을 실행하여 프로필을 활성화합니다.
netctl enable eth0
마지막으로 컨테이너를 다시 시작하면 DHCP 할당 IP 주소가 있어야 합니다.
답변2
cat <<\EOF >> /etc/netctl/eth
Connection=ethernet
IP=dhcp
Interface=eth0
EOF
나는 이것이 파일을 만드는 더 좋은 방법이라고 생각했습니다.