LoginSignup
3
5

More than 5 years have passed since last update.

devstackで構築したOpenStack環境内のVMをインターネットと通信させる

Last updated at Posted at 2015-05-11

devstackで作ったOpenStack環境で稼働している仮想マシンをインターネットと通信させたい。

local.confに以下の設定が必要:

[[local|localrc]]
IP_VERSION=4
PUBLIC_INTERFACE=eno16777736
OVS_PHYSICAL_BRIDGE=br-ex
FLOATING_RANGE=192.168.226.0/24
PUBLIC_NETWORK_GATEWAY=192.168.226.2
HOST_IP=192.168.226.129

[[post-config|/etc/neutron/dhcp_agent.ini]]
[DEFAULT]
dnsmasq_dns_servers = 192.168.226.2

ip routeなどを見て、デフォルトゲートウェイになっているインターフェースをPUBLIC_INTERFACEに設定する。PUBLIC_INTERFACEOVS_PHYSICAL_BRIDGEを設定しておくと、devstackがbr-exスイッチにPUBLIC_INTERFACEをさしてくれる。逆に言うと、この2つを設定しないとbr-exスイッチにインターネットと繋がるポートが設定されない。これではNATしない限りインターネットとの通信はできない。何所ともつながっていない。

PUBLIC_INTERFACEと同じネットワークレンジをFLOATING_RANGE、デフォルトゲートウェイをPUBLIC_NETWORK_GATEWAY、DNSをdnsmasq_dns_serversに設定する。サブネットのDNS設定を空にしておくと、dnsmasqは自身をプライマリDNSとしたネットワーク設定情報をゲストに渡す。この最後の設定により、そのdnsmasqがDNSのスレーブもになるため、ゲストからの名前解決に答えられるようになる。書かないとdnsmasqは名前の解決ができない。正確には「僕に質問されても誰に確認すればよいのか分からない」という情況になる。上司のいないヒラ公務員のようなもの。(じゃあ最初から課長を出せ、ってことでdevstack完了後にprivateサブネットのDHCP設定を編集して、DHCPサーバーがゲストに外部DNSを割り振るようにしてもよい。けど./stack.shってやるだけのほうが楽だと思う。)

IPv6を試してみたいのでなければ、IPv6形式のアドレスで画面が見にくくなるのでOff。HOST_IPはデフォルトゲートウェイになっているインターフェースに割り当てられているIPを設定する。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5