LXCコンテナへのping

LXCコンテナへのping

VMB から ping 10.0.3.8 (LXC コンテナの IP) を実行しようとしましたが、機能しませんでした。何かアイデアはありますか?

私がやりたいことの説明は次のとおりです: (赤い矢印)

青い矢印は、ping が正しく機能していることを意味します。赤い矢印は、問題があることを意味します。VMB (192.168.1.7) から 10.0.3.8 に ping を試みると、次のメッセージがブロックされます: ping 10.0.3.8 PING 10.0.3.8 (10.0.3.8) 56(84) バイトのデータ。--- 10.0.3.8 の ping 統計 --- 68 パケットが送信され、0 パケットが受信され、100% のパケット損失、時間 67214 ミリ秒 –

ここに画像の説明を入力してください どうもありがとう。

よろしくお願いします。

答え1

Linux コンテナを作成すると、コンテナは独自のネットワーク スペース内に存在します。そのため、IP アドレスは異なって見えます。仮想マシンには 192.168.1.x が割り当てられますが、Linux コンテナには 10.0.3.x が割り当てられます。

この問題を解決する 1 つの方法は、Linux コンテナー上に専用の仮想ネットワーク カードを作成し、192.168.1.x ネットワークからアドレスを取得することです。

以下は基本的な手順ですが、詳細な手順と背景は、このBonsai Frameworkの記事から得られます。

ホスト上に永続的なmacvlanを作成する

/etc/network/interfacesホストのファイルの末尾に追加します。

# Creates a macvlan interface called macvlan0 without an IP address  
iface mvlan0 inet manual  
   pre-up ip link add mvlan0 link eth0 address 8a:38:2a:cc:d7:aa type macvlan mode bridge  
   post-down ip link del macvlan0  
auto mvlan0  

変更を有効にするには、システムを再起動します。mvlan0でネットワーク デバイスを表示すると、が表示されますifconfig -a

にある構成ファイルを変更して、コンテナをmacvlanホストに接続します/var/lib/lxc/[container]/config

新しいネットワークカードに追加するエントリは、

# macvlan for external IP  
lxc.network.type = macvlan   
lxc.network.macvlan.mode = bridge  
lxc.network.flags = up  
lxc.network.link = mvlan0  
lxc.network.hwaddr = 00:16:3e:8d:4f:51  
lxc.network.name = eth0  

hwaddrについては、次のような無料ウェブサイトから、ローカルで管理される一意のユニキャストMACアドレスを生成します。ヘリオン

最後に、コンテナ内のインターフェース ファイルを調整して、静的にバインドするか、必要に応じて動的にバインドします。

私の場合は、192.168.0.1 から 192.168.0.20 が動的に割り当てられないように自宅のルーターを調整し、LXC で静的に使用します。

そこでコンテナのインターフェースファイルを次のように変更します。

auto eth0  
iface eth0 inet static  
address 192.168.0.12  
gateway 192.168.0.1  
netmask 255.255.255.0  

auto eth1  
iface eth1 inet dhcp  

Linux コンテナを再起動します。

関連情報