あまっていたqr-peer1をbr-intに接続してみよう。そうすると、こうなったはずだよ(下図)
じゃぁ、Network Namespaceをもう一つ作ってbr-intにつなげば、通信できる?
そうだね。それを実行するには、namespaceとveth pairをもう一つ作るだけだ。こちらのnamespaceの名前はqvm1にしよう
あたし、やってみる!!
root@ub2:~$ ip netns add qvm1 root@ub2:~$ ip link add vm-veth1 type veth peer name vm-peer1 root@ub2:~$ ip link set vm-veth1 netns qvm1 root@ub2:~$ ovs-vsctl add-port br-int vm-peer1
これでいいかな?
もうつながるよね?
あ……、うん……。あの…………
qrouterの中に入って、と……
root@ub1:~# ip netns exec qrouter bash root@ub1:~# ping
あれれ? IPアドレスは?
あれ? じゃないよ。まだIPアドレスを割り当てていないじゃないか
なんだ。早く言ってよ!
何だか夢中で操作しているから言い出しにくくて……
もう。IPアドレスは? 普通にifconfigコマンドで付ければいいの??
そ、そうだね……
root@ub2:~$ ip netns exec qrouter1 ifconfig qr-veth1 10.0.0.1/21 root@ub2:~$ ip netns exec qvm1 ifconfig vm-veth1 10.0.0.3/21
IPアドレスは割り当てたけれど、肝心のstateがdownのままだよ
おっと、立ち上げなくちゃ
root@ub2:~$ ip link set qr-peer1 up root@ub2:~$ ip link set vm-peer1 up
これで、10.0.0.3から10.0.0.1にpingが通ればOKよね?
うん。つながったんじゃないかな
root@ub2:~$ ip netns exec qvm1 bash (qvm1)root@ub2:~$ ping 10.0.0.1 PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.438 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.062 ms 64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.071 ms --- 10.0.0.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.062/0.190/0.438/0.175 ms
やったー!!
Copyright © ITmedia, Inc. All Rights Reserved.