OpenStack Neutronの「中」の動きを追いかけよういま覚えておくべきOpenStack Neutronの基本(2)(2/8 ページ)

» 2015年02月04日 19時00分 公開
[SDNエバンジェリスト吉本昌平ユニアデックス株式会社]

Network Namespace同士を接続する動作を見てみよう

ネットワークはつないでみないと分からないよね


うん。つないでみたいね。でも、loしかないのに、どうやってつなげばいいの?


veth pairとはどんなもの?

veth pairを使うんだ。やってみるよ


root@ub2:~$ ip link add qr-veth1 type veth peer name qr-peer1
root@ub2:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:16:3e:1a:07:2d brd ff:ff:ff:ff:ff:ff
3: qr-peer1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether ee:62:82:2b:77:15 brd ff:ff:ff:ff:ff:ff
4: qr-veth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether c6:00:29:73:52:7d brd ff:ff:ff:ff:ff:ff

インターフェースが二つできたね!


そう。この二つは、つながっているんだ。一方にデータを入れると反対側から出てくる。こんなイメージだね


えー。これじゃ何もできそうにないなぁ……


うん。でも、この一方をqrouter namespaceに移してみるとどうなると思う?


root@ub2:~$ ip link set qr-veth1 netns qrouter1
root@ub2:~$ ip netns exec qrouter1 ip link show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
4: qr-veth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether c6:00:29:73:52:7d brd ff:ff:ff:ff:ff:ff

あ! qrouter1の中にインターフェースができたね。ということは、外からのインターフェースはなくなってるということ?


qr-veth1はなくなって、インターフェースは三つになっているね


root@ub2:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:16:3e:1a:07:2d brd ff:ff:ff:ff:ff:ff
3: qr-peer1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether ee:62:82:2b:77:15 brd ff:ff:ff:ff:ff:ff

じゃ、こうなったわけだ(下図)。あ! これってつまりLANケーブルみたいな感じなのかな?


そうそう。両側にNICがついたLANケーブルって思えばいいんじゃないかな


なるほどー。qrouterがサーバーで、そのNICにケーブルがつながった状態ってことね。反対側のqr-peerを別のサーバーにつなげば、ちゃんとつながる?


うん。つながると思うけれど、Maiaちゃん、普段サーバーにLANケーブルをつなぐ時は、反対側はどうする?


「スイッチにつなぐ」かな?


そうだよね。せっかくだからスイッチも作ってみようよ


root@ub2:~$ ovs-vsctl add-br br-int
root@ub2:~$ ovs-vsctl show
c2814be5-4eca-46ed-ad10-4c06d1ce807a
    Bridge br-int
        Port br-int
            Interface br-int
                type: internal
    ovs_version: "2.0.2"

いまの操作でbr-intというスイッチができたはずだ


root@ub2:~$ ovs-vsctl add-port br-int qr-peer1
root@ub2:~$ ovs-vsctl show
c2814be5-4eca-46ed-ad10-4c06d1ce807a
    Bridge br-int
        Port "qr-peer1"
            Interface "qr-peer1"
        Port br-int
            Interface br-int
                type: internal
    ovs_version: "2.0.2"

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。