セットアップは次のとおりです。ワークステーション<-> Maasサーバー<-> 3つのVM-インスタンス
MaasサーバーとVMはvSphereにデプロイされます。
Maasサーバーのeth1には10.4.x.xがあり、VMのDHCPマネージャーとして機能しています。ワークステーションのIPは10.x.x.xで、sshを介してMaasサーバーとVMに接続できます。専用の計算ノードが1つあり、ネットワークノードには2つのインターフェイスがあります。 eth0(br0)にはmaas-serverからのIPアドレスがあり、eth1(br-ex)には192.168.x.xの範囲から外部からアクセス可能なIPアドレス(外部ネットワーク)があります。
問題は、ワークステーションやネットワーク内の他の端末から直接インスタンスに接続できないことです。ルータの名前空間内にある問題を特定しました。 neutron router名前空間から8.8.8.8にpingできません。 br-exにpingできますが、192.168.x.1にpingすると「destination unreachable」が表示されます。次のコマンドの出力を見てください。
ip netns
qrouter-1ff7cd3f-7d73-4c7a-a9aa-0f8efb14a718
ip netns exec qrouter-1ff7cd3f-7d73-4c7a-a9aa-0f8efb14a718 ifconfig
loリンクカプセル化:ローカルループバック
inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr::: 1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:16 errors:0 Dropped:0 overruns:0 frame :0 TXパケット:16エラー:0ドロップ済み:0オーバーラン:0キャリア:0コリジョン:0 txqueuelen:0 RXバイト:1776(1.7 KB)TXバイト:1776(1.7 KB)qg-80014d1d-df Link encap:Ethernet HWaddr fa:16:3e:b8:62:2e
inet addr:192.168.xx Bcast:192.168.x.255 Mask:255.255.255.0 inet6 addr:fe80 :: f816:3eff:feb8:622e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric: 1 RXパケット:21036エラー:0ドロップ:0オーバーラン:0フレーム:0 TXパケット:3095エラー:0ドロップ:0オーバーラン:0キャリア:0コリジョン:0 txqueuelen:1000 RXバイト:4857288(4.8 MB)TXバイト: 1047570(1.0 MB)ip netns exec qrouter-1ff7cd3f-7d73-4c7a-a9aa-0f8efb14a718 ip route list
192.168.x.1 dev qg-80014d1d-dfによるデフォルト
192.168.x.0/24 dev qg-80014d1d-df proto kernel scope link src 192.168.x.x
ルーターインターフェース(qg-80014d1d-df)がブリッジbr-exに含まれている中性子の設定を見ました。また、中性子のトラブルシューティング用の openstack.org の図は、br-exに「qg」インターフェースを含める必要があることを示しています。
しかし、私のノードではそれが異なって表示されます、
ovs-vsctl show
f50f0af5-a5ab-4ab8-935a-9eaf71b40eea
ブリッジbr-int
fail_mode: secure
Port br-int
Interface br-int
type: internal
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Bridge br-ex
Port "tap80014d1d-df"
Interface "tap80014d1d-df"
Port br-ex
Interface br-ex
type: internal
Port "eth1"
Interface "eth1"
Bridge br-tun
Port br-tun
Interface br-tun
type: internal
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port "gre-0a04546a"
Interface "gre-0a04546a"
type: gre
options: {in_key=flow, local_ip="10.4.x.x", out_key=flow, remote_ip="10.4.x.x"}
ovs_version: "2.0.2"
ここでbr-exは追加のインターフェースを取得しますが、それは「タップ」です。ただし、この「タップ」と「qg」インターフェースの数値は同じです。計算ノードとコントローラーの両方でログファイルを確認しましたが、重要なものは見つかりませんでした。インスタンスを生成してフローティングIPに割り当てることができます。私はbr-exにもpingできますが、その中のルーターインターフェイスはできません。問題の原因が「タップ」インターフェイスであるかどうかはわかりませんが、ルータのネームスペースと外部の間にフローがありません。問題の原因がVMware vSphereである場合、別の考えが浮かびました。
1つ言及する必要がありますが、出力をポストする間、接続をチェックするための外部ネットワークとルーターのみがあります。インスタンスや内部ネットワークはありません。
私は永遠のようにこのことにこだわっています。任意の提案をいただければ幸いです。
私は非常によく似た設定をしているので、私の設定を表示します。おそらくこれが役立つでしょう。
すべてのノードはmaasとjujuでデプロイされ、各ノードには2つのインターフェースがあります。
このツリーガイドを利用してOpenstackをインストールしました
http://linux.Dell.com/files/whitepapers/Deploying_Workloads_With_Juju_And_MAAS-14.04LTS-Edition.pdf
h20564.www2.hp.com/hpsc/doc/public/display?docId=c04330703(askubuntuの評判が低いため、リンクとして貼り付けることができません)
通常のノードでのネットワーク設定:
#/etc/network/interfaces
auto lo
auto eth0
iface eth0 inet manual
auto juju-br0
iface juju-br0 inet dhcp
bridge_ports eth0
auto eth1
iface eth1 inet static
address 172.16.62.10
netmask 255.255.255.0
#gateway commented
#gateway 172.16.62.254
$route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.5.0.1 0.0.0.0 UG 0 0 0 juju-br0
10.5.0.0 0.0.0.0 255.255.0.0 U 0 0 0 juju-br0
172.16.62.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
ネットワーク中性子(量子)ノード上:
#/etc/network/interfaces
auto lo
auto eth0
iface eth0 inet manual
auto juju-br0
iface juju-br0 inet dhcp
bridge_ports eth0
auto eth1
iface eth1 inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.5.0.1 0.0.0.0 UG 0 0 0 juju-br0
10.5.0.0 0.0.0.0 255.255.0.0 U 0 0 0 juju-br0
ネットワークでは、/ etc/sysctl.confも編集して、これらの行のコメントを外しました
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
その後、変更を取り除きます
# sysctl -p
Maasにノードを参加させた後、juju Openstackチャームの展開を開始します。
Horizonを使用したインストール後のオープンスタック構成:
管理者として私はしました:
ユーザーとして私はやった:
デプロイ後のネットワーク構成は次のようになります。
#list of ovs ports
ubuntu@fair-stone:~$ Sudo ovs-vsctl show
b4a92be0-56d3-4cd5-b113-9657c21daf8a
Bridge br-ex
Port br-ex
Interface br-ex
type: internal
Port "tapf199827f-4f" #interface appears after creation new
Interface "tapf199827f-4f"
Port "eth1"
Interface "eth1"
Bridge br-tun
Port br-tun
Interface br-tun
type: internal
Port "gre-0a050104"
Interface "gre-0a050104"
type: gre
options: {in_key=flow, local_ip="10.5.1.1", out_key=flow, remote_ip="10.5.1.4"}
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Bridge br-int
fail_mode: secure
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port "tap08438cff-fc"
tag: 1
Interface "tap08438cff-fc"
Port "tap592b1f29-da"
tag: 1
Interface "tap592b1f29-da"
Port br-int
Interface br-int
type: internal
ovs_version: "2.0.2"
ネットワーク名前空間
ubuntu@fair-stone:~$ ip netns list
qdhcp-9d699ab8-940b-478e-ac98-ba3fd38e5d9d
qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3
名前空間qrouter-xxxのインターフェースリスト
ubuntu@fair-stone:~$ Sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope Host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope Host
valid_lft forever preferred_lft forever
2: qr-08438cff-fc: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:61:dd:b7 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.1/24 brd 192.168.0.255 scope global qr-08438cff-fc
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe61:ddb7/64 scope link
valid_lft forever preferred_lft forever
3: qg-f199827f-4f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:1b:c3:d7 brd ff:ff:ff:ff:ff:ff
inet 172.16.62.193/26 brd 172.16.62.255 scope global qg-f199827f-4f #router interface
valid_lft forever preferred_lft forever
inet 172.16.62.194/32 brd 172.16.62.194 scope global qg-f199827f-4f #instance floating ip addres
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe1b:c3d7/64 scope link
valid_lft forever preferred_lft forever
名前空間qrouter-xxxxのルーティングテーブル
ubuntu@fair-stone:~$ Sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 ip r
default via 172.16.62.254 dev qg-f199827f-4f
172.16.62.192/26 dev qg-f199827f-4f proto kernel scope link src 172.16.62.193
192.168.0.0/24 dev qr-08438cff-fc proto kernel scope link src 192.168.0.1
名前空間qrouter-xxxのiptables
ubuntu@fair-stone:~$ Sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 iptables -t nat -L -nv
Chain PREROUTING (policy ACCEPT 1721 packets, 628K bytes)
pkts bytes target prot opt in out source destination
1848 635K neutron-vpn-agen-PREROUTING all -- * * 0.0.0.0/0 0.0.0.0/0
Chain INPUT (policy ACCEPT 908 packets, 372K bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 8 packets, 542 bytes)
pkts bytes target prot opt in out source destination
8 542 neutron-vpn-agen-OUTPUT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain POSTROUTING (policy ACCEPT 98 packets, 6014 bytes)
pkts bytes target prot opt in out source destination
108 6773 neutron-vpn-agen-POSTROUTING all -- * * 0.0.0.0/0 0.0.0.0/0
104 6485 neutron-postrouting-bottom all -- * * 0.0.0.0/0 0.0.0.0/0
Chain neutron-postrouting-bottom (1 references)
pkts bytes target prot opt in out source destination
104 6485 neutron-vpn-agen-snat all -- * * 0.0.0.0/0 0.0.0.0/0
Chain neutron-vpn-agen-OUTPUT (1 references)
pkts bytes target prot opt in out source destination
0 0 DNAT all -- * * 0.0.0.0/0 172.16.62.194 to:192.168.0.3
Chain neutron-vpn-agen-POSTROUTING (1 references)
pkts bytes target prot opt in out source destination
4 288 ACCEPT all -- !qg-f199827f-4f !qg-f199827f-4f 0.0.0.0/0 0.0.0.0/0 ! ctstate DNAT
Chain neutron-vpn-agen-PREROUTING (1 references)
pkts bytes target prot opt in out source destination
15 900 REDIRECT tcp -- * * 0.0.0.0/0 169.254.169.254 tcp dpt:80 redir ports 9697
97 5940 DNAT all -- * * 0.0.0.0/0 172.16.62.194 to:192.168.0.3
Chain neutron-vpn-agen-float-snat (1 references)
pkts bytes target prot opt in out source destination
6 471 SNAT all -- * * 192.168.0.3 0.0.0.0/0 to:172.16.62.194
Chain neutron-vpn-agen-snat (1 references)
pkts bytes target prot opt in out source destination
104 6485 neutron-vpn-agen-float-snat all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 SNAT all -- * * 192.168.0.0/24 0.0.0.0/0 to:172.16.62.193
名前空間qrouter-xxxのIPtables natルール
ubuntu@fair-stone:~$ Sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 iptables -S -t nat
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N neutron-postrouting-bottom
-N neutron-vpn-agen-OUTPUT
-N neutron-vpn-agen-POSTROUTING
-N neutron-vpn-agen-PREROUTING
-N neutron-vpn-agen-float-snat
-N neutron-vpn-agen-snat
-A PREROUTING -j neutron-vpn-agen-PREROUTING
-A OUTPUT -j neutron-vpn-agen-OUTPUT
-A POSTROUTING -j neutron-vpn-agen-POSTROUTING
-A POSTROUTING -j neutron-postrouting-bottom
-A neutron-postrouting-bottom -j neutron-vpn-agen-snat
-A neutron-vpn-agen-OUTPUT -d 172.16.62.194/32 -j DNAT --to-destination 192.168.0.3
-A neutron-vpn-agen-POSTROUTING ! -i qg-f199827f-4f ! -o qg-f199827f-4f -m conntrack ! --ctstate DNAT -j ACCEPT
-A neutron-vpn-agen-PREROUTING -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 9697
-A neutron-vpn-agen-PREROUTING -d 172.16.62.194/32 -j DNAT --to-destination 192.168.0.3
-A neutron-vpn-agen-float-snat -s 192.168.0.3/32 -j SNAT --to-source 172.16.62.194
-A neutron-vpn-agen-snat -j neutron-vpn-agen-float-snat
-A neutron-vpn-agen-snat -s 192.168.0.0/24 -j SNAT --to-source 172.16.62.193