NATネットワーク構成を含むVMWare Playerを使用して2つのUbuntu 12.04 VMを作成しました。お互いにpingを送ることができます。その後、そのいずれかにネットワーク名前空間を作成し、仮想インターフェイスを追加しました。ネットワークネームスペースからネームスペースにパスを追加すると、デフォルトのネームスペースにある仮想インターフェイスの反対側から仮想マシンの物理インターフェイスにアクセスできます。ip_forward
ネットワークネームスペースからインターネットにアクセスできる仮想マシンを有効にしました。ただし、名前空間でプライベートネットワーク上の他の仮想マシンをpingすることはできません。誰でもこれの理由を説明できますか?私の設定を添付します。
ネットワーク名前空間を作成し、仮想インターフェイス間で通信します。
sudo ip netns add vnet ip netns list sudo ip link add veth0 type veth peer name veth1 ip link sudo ip link set veth1 netns vnet sudo ip netns exec vnet ip link list sudo ip netns exec vnet ip link set dev lo up ip netns exec vnet ping -c5 127.0.0.1 sudo ip addr add 10.0.0.1/24 dev veth0 sudo ip link set dev veth0 up ip netns exec vnet ip addr add 10.0.0.2/24 dev veth1 ip netns exec vnet ip link set dev veth1 up ip netns exec vnet ping -c5 10.0.0.1
仮想インターフェイスと物理インターフェイス間の通信:
sudo ip netns exec vnet route add default gw 10.0.0.1 veth1
外部仮想インターフェイスと通信します。
echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp echo 1 > /proc/sys/net/ipv4/conf/veth0/proxy_arp