ネットワークアクセスが必要な複数の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を使用できますか?または、ホストコンピュータでサーバーを実行する必要がありますか?私のコンテナの一部は外部からアクセス可能でなければならず、一部は他のコンテナ/ホストと通信する必要があります。
私はアーチLinuxを実行しており、ほとんどのオンラインヘルプはUbuntuについてのようです。
答え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
ファイルを作成する方が良い方法だと思います。