簡體   English   中英

OpenStack浮動IP關聯在下面如何工作?

[英]How does OpenStack Floating IP assocation work underneath?

我創建了約10個節點的DevStack安裝,以了解有關OpenStack如何管理網絡的更多信息。 我創建了一些VMS,並在某些主機上驗證了它們,如下所示:

virsh # list
 Id    Name                           State
----------------------------------------------------
 2     instance-0000001b              running
 3     instance-0000001f              running
 4     instance-00000024              running
 5     instance-0000002c              running

我已將一個浮動IP與實例ID 2相關聯,我通過查看其開放堆棧ID並與virsh dumpxml 2的輸出進行了匹配來對其進行了驗證。它具有以下浮動IP:172.1.6.6.12和本地IP:10.4.128.11

我看到它使用vnet0:

   <interface type='bridge'>
      <mac address='fa:16:3e:a1:f8:65'/>
      <source bridge='br100'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <filterref filter='nova-instance-instance-0000001b-fa163ea1f865'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

執行ifconfig vnet0,它沒有顯示IP地址:

vnet0     Link encap:Ethernet  HWaddr fe:16:3e:a1:f8:65  
          inet6 addr: fe80::fc16:3eff:fea1:f865/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:70 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44216 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:7232 (7.2 KB)  TX bytes:29123311 (29.1 MB)

在執行ip addr ,我看到IP地址在網橋br100定義。

4: br100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether d8:50:e6:c3:22:ee brd ff:ff:ff:ff:ff:ff
    inet 10.4.128.13/20 brd 10.4.143.255 scope global br100
       valid_lft forever preferred_lft forever
    inet 172.16.0.101/21 brd 172.16.7.255 scope global br100
       valid_lft forever preferred_lft forever
    inet 172.16.6.12/32 scope global br100
       valid_lft forever preferred_lft forever
    inet 172.16.6.19/32 scope global br100
       valid_lft forever preferred_lft forever
    inet6 fe80::80b6:99ff:fef7:dc16/64 scope link 
       valid_lft forever preferred_lft forever
5: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br100 state UNKNOWN group default qlen 500
    link/ether fe:16:3e:a1:f8:65 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc16:3eff:fea1:f865/64 scope link 
       valid_lft forever preferred_lft forever
  • 172.16.0.101/21:主機IP
  • 172.16.6.12/32:VM浮動IP

但是,vnet0-> 172.16.6.12(浮動IP)的關聯在哪里? 為什么進入172.16.6.19的流量不進入172.16.6.12,

我在尋找iptables規則,但沒有任何指示vnet0或浮動ip的信息。 怎么做? 我看到它們與brctl橋接,但是我看不到IP-MAC關聯。 它甚至不在arp表中。 我調查了iptables或偵聽端口是否完成了用戶空間的轉發,但事實並非如此。

bridge name bridge id       STP enabled interfaces
br100       8000.d850e6c322ee   no      eth0
                                        vnet0
                                        vnet1
                                        vnet2
                                        vnet3

好吧,我找到了。 我忘了看iptables NAT規則,它用於將給定的浮動ip轉發到該veth設備。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM