精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

深入理解Openstack之Basic Use Cases

云計算 OpenStack
在上一篇文章中,我們了解了幾個網絡組件,如openvswitch/network namespace/Linux bridges/veth pairs。這篇文章中,我們將用3個簡單的use case,展示這些基本網絡組件如何以工作從而實現openstack的SDN方案。

在上一篇文章中,我們了解了幾個網絡組件,如openvswitch/network namespace/Linux bridges/veth pairs。這篇文章中,我們將用3個簡單的use case,展示這些基本網絡組件如何以工作從而實現openstack的SDN方案。

在這些use case中,我們會了解整個網絡配置和他們如何一起運行。use case如下:

  1. 創建網絡——我們創建網絡時,發生了什么。如何創建多個隔離的網絡。
  2. 創建虛擬機——一旦我們有了網絡,我們可以創建虛擬機并將其接入網絡。
  3. 虛擬機的DHCP請求——opensack可以自動為虛擬機配置IP。通過openstack neutron控制的DHCP服務完成。我們來了解這個服務如何運行,DHCP請求和回應是什么樣子的?

這篇文章中,我們會展示網絡連接的原理,我們會了解網絡包如何從A到B。我們先了解已經完成的網絡配置是什么樣子的?然后我們討論這些網絡配置是如何以及何時創建的?我個人認為,通過例子和具體實踐看到真實的網絡接口如何工作以及如何將他們連接起來是非常有價值的。然后,一切真相大白,我們知道網絡連接如何工作,在后邊的文章中,我將進一步解釋neutron如何配置這些組件,從而提供這樣的網絡連接能力。

我推薦在你自己的環境上嘗試這些例子或者使用Oracle Openstack Tech Preview。完全理解這些網絡場景,對我們調查openstack環境中的網絡問題非常有幫助。

Use case #1: Create Network

創建network的操作非常簡單。我們可以使用GUI或者命令行完成。openstack的網絡僅供創建該網絡的租戶使用。當然如果這個網絡是“shared”,它也可以被其他所有租戶使用。一個網絡可以有多個subnets,但是為了演示目的和簡單,我們僅為每一個network創建一個subnet。通過命令行創建network:

  1. # neutron net-create net1 
  2.  
  3. Created a new network: 
  4.  
  5. +---------------------------+--------------------------------------+ 
  6.  
  7. | Field                     | Value                                | 
  8.  
  9. +---------------------------+--------------------------------------+ 
  10.  
  11. | admin_state_up            | True                                 | 
  12.  
  13. | id                        | 5f833617-6179-4797-b7c0-7d420d84040c | 
  14.  
  15. | name                      | net1                                 | 
  16.  
  17. | provider:network_type     | vlan                                 | 
  18.  
  19. | provider:physical_network | default                              | 
  20.  
  21. | provider:segmentation_id  | 1000                                 | 
  22.  
  23. | shared                    | False                                | 
  24.  
  25. | status                    | ACTIVE                               | 
  26.  
  27. | subnets                   |                                      | 
  28.  
  29. | tenant_id                 | 9796e5145ee546508939cd49ad59d51f     | 
  30.  
  31. +---------------------------+--------------------------------------+ 

為這個network創建subnet::

  1. # neutron subnet-create net1 10.10.10.0/24 
  2.  
  3. Created a new subnet: 
  4.  
  5. +------------------+------------------------------------------------+ 
  6.  
  7. | Field            | Value                                          | 
  8.  
  9. +------------------+------------------------------------------------+ 
  10.  
  11. | allocation_pools | {"start""10.10.10.2""end""10.10.10.254"} | 
  12.  
  13. | cidr             | 10.10.10.0/24                                  | 
  14.  
  15. | dns_nameservers  |                                                | 
  16.  
  17. | enable_dhcp      | True                                           | 
  18.  
  19. | gateway_ip       | 10.10.10.1                                     | 
  20.  
  21. | host_routes      |                                                | 
  22.  
  23. | id               | 2d7a0a58-0674-439a-ad23-d6471aaae9bc           | 
  24.  
  25. | ip_version       | 4                                              | 
  26.  
  27. | name             |                                                | 
  28.  
  29. | network_id       | 5f833617-6179-4797-b7c0-7d420d84040c           | 
  30.  
  31. | tenant_id        | 9796e5145ee546508939cd49ad59d51f               | 
  32.  
  33. +------------------+------------------------------------------------+ 

現在我們有了一個network和subnet,網絡拓撲像這樣:

現在讓我們深入看下到底發生了什么?在控制節點,我們一個新的namespace被創建: 

  1. # ip netns list 
  2.  
  3. qdhcp-5f833617-6179-4797-b7c0-7d420d84040c 

這個namespace的名字是qdhcp- (參見上邊),讓我們深入namespace中看看有什么?

  1. # ip netns exec qdhcp-5f833617-6179-4797-b7c0-7d420d84040c ip addr 
  2.  
  3. 1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
  4.  
  5.     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
  6.  
  7.     inet 127.0.0.1/8 scope host lo 
  8.  
  9.     inet6 ::1/128 scope host 
  10.  
  11.        valid_lft forever preferred_lft forever 
  12.  
  13. 12: tap26c9b807-7c:  mtu 1500 qdisc noqueue state UNKNOWN 
  14.  
  15.     link/ether fa:16:3e:1d:5c:81 brd ff:ff:ff:ff:ff:ff 
  16.  
  17.     inet 10.10.10.3/24 brd 10.10.10.255 scope global tap26c9b807-7c 
  18.  
  19.     inet6 fe80::f816:3eff:fe1d:5c81/64 scope link 
  20.  
  21.        valid_lft forever preferred_lft forever 

我們發下在namespace下有兩個網絡接口,一個是loop設備,另一個叫“tap26c9b807-7c”。這個接口設置了IP地址 10.10.10.3,他會接收dhcp請求(后邊會講)。接下來我們來跟蹤下“tap26c9b807-7c”的網絡連接性。我們從OVS上看下這個接 口所連接的OVS網橋"br-int"。

  1. # ovs-vsctl show 
  2. 8a069c7c-ea05-4375-93e2-b9fc9e4b3ca1 
  3.     Bridge "br-eth2" 
  4.         Port "br-eth2" 
  5.             Interface "br-eth2" 
  6.                 type: internal 
  7.         Port "eth2" 
  8.             Interface "eth2" 
  9.         Port "phy-br-eth2" 
  10.             Interface "phy-br-eth2" 
  11.     Bridge br-ex 
  12.         Port br-ex 
  13.             Interface br-ex 
  14.                 type: internal 
  15.     Bridge br-int 
  16.         Port "int-br-eth2" 
  17.             Interface "int-br-eth2" 
  18.         Port "tap26c9b807-7c" 
  19.             tag: 1 
  20.             Interface "tap26c9b807-7c" 
  21.                 type: internal 
  22.         Port br-int 
  23.             Interface br-int 
  24.                 type: internal 
  25.     ovs_version: "1.11.0" 

由上可知,veth pair的兩端“int-br-eth2” 和 "phy-br-eth2",這個veth pari連接兩個OVS網橋"br-eth2"和"br-int"。上一篇文章中,我們解釋過如何通過ethtool命令查看veth pairs的兩端。就如下邊的例子:

  1. # ethtool -S int-br-eth2 
  2. NIC statistics: 
  3.      peer_ifindex: 10 
  4.   
  5. #ip link 
  6. 10: phy-br-eth2:  mtu 1500 qdisc pfifo_fast state UP qlen 1000 

注意“phy-br-eth2”連接到網橋"br-eth2",這個網橋的一個網口是物理網卡eth2。這意味著我們創建的網絡創建了一個連接到了物理網卡eth2的namespace。eth2所在的虛擬機網絡會連接所有的虛擬機的。

關于網絡隔離:

Openstack支持創建多個隔離的網絡,也可以使用多種機制完成網絡間的彼此隔離。這些隔離機制包括 VLANs/VxLANs/GRE tunnels,這個在我們部署openstack環境時配置。本文中我們選擇了VLANs。當使用VLAN標簽作為隔離機制,Neutron會從預定義 好的VLAN池中選擇一個VLAN標簽,并分配給一個新創建的network。通過分配VLAN標簽給network,Neutron允許在一個物理網卡 上創建多個隔離的網絡。與其他的平臺的***的區別是,用戶不需要負責管理VLAN如何分配給networks。Neutron會負責管理分配VLAN標 簽,并負責回收。在我們的例子中,net1使用VLAN標簽1000,這意味著連接到該網絡的虛擬機,發出的包會被打上VLAN標簽1000然后發送到物 理網絡中。對namespace也是同樣的,如果我們希望namespace連接到某個特定網絡,我們需要確保這個namespace發出的/接收的包被 正確的打上了標簽。

在上邊的例子中,namespace中的網絡接口“tap26c9b807-7c”被分配了VLAN標簽1。如果我們從 OVS觀察下,會發現VLAN1會被改為VLAN1000,當包進入eth2所在的uxniji網絡。反之亦然。我們通過OVS的dump-flows命 令可以看到進入虛擬機網絡的網絡包在br-eth2上進行了VLAN標簽的修改:

  1. #  ovs-ofctl dump-flows br-eth2 
  2. NXST_FLOW reply (xid=0x4): 
  3.  cookie=0x0, duration=18669.401s, table=0, n_packets=857, n_bytes=163350, idle_age=25, priority=4,in_port=2,dl_vlan=1 actions=mod_vlan_vid:1000,NORMAL 
  4.  cookie=0x0, duration=165108.226s, table=0, n_packets=14, n_bytes=1000, idle_age=5343, hard_age=65534, priority=2,in_port=2 actions=drop 
  5.  cookie=0x0, duration=165109.813s, table=0, n_packets=1671, n_bytes=213304, idle_age=25, hard_age=65534, priority=1 actions=NORMAL 

從網絡接口到namespace我們看到VLAN標簽的修改如下:

  1. #  ovs-ofctl dump-flows br-int 
  2. NXST_FLOW reply (xid=0x4): 
  3.  cookie=0x0, duration=18690.876s, table=0, n_packets=1610, n_bytes=210752, idle_age=1, priority=3,in_port=1,dl_vlan=1000 actions=mod_vlan_vid:1,NORMAL 
  4.  cookie=0x0, duration=165130.01s, table=0, n_packets=75, n_bytes=3686, idle_age=4212, hard_age=65534, priority=2,in_port=1 actions=drop 
  5.  cookie=0x0, duration=165131.96s, table=0, n_packets=863, n_bytes=160727, idle_age=1, hard_age=65534, priority=1 actions=NORMAL 

總之,當用戶創建network,neutrong會創建一個namespace,這個namespace通過OVS連接到虛擬機網絡。OVS還負 責namespace與虛擬機網絡之間VLAN標簽的修改。現在,讓我們看下創建虛擬機時,發生了什么?虛擬機是怎么連接到虛擬機網絡的?

#p#

Use case #2: Launch a VM

從Horizon或者命令行創建并啟動一個虛擬機,下圖是從Horzion創建的例子:

掛載網絡并啟動虛擬機:

[[123512]]

一旦虛擬機啟動并運行,我們發下nova支持給虛擬機綁定IP:

  1. # nova list 
  2. +--------------------------------------+--------------+--------+------------+-------------+-----------------+ 
  3. | ID                                   | Name         | Status | Task State | Power State | Networks        | 
  4. +--------------------------------------+--------------+--------+------------+-------------+-----------------+ 
  5. | 3707ac87-4f5d-4349-b7ed-3a673f55e5e1 | Oracle Linux | ACTIVE | None       | Running     | net1=10.10.10.2 | 
  6. +--------------------------------------+--------------+--------+------------+-------------+-----------------+ 

nova list命令顯示虛擬機在運行中,并被分配了IP 10.10.10.2。我們通過虛擬機定義文件,查看下虛擬機與虛擬機網絡之間的連接性。虛擬機的配置文件在目錄/var/lib/nova /instances//下可以找到。通過查看虛擬機定義文件,libvirt.xml,我們可以看到虛擬機連接到網絡接口 “tap53903a95-82”,這個網絡接口連接到了Linux網橋 “qbr53903a95-82”:

  1. <interface type="bridge"
  2.       <mac address="fa:16:3e:fe:c7:87"/> 
  3.       <source bridge="qbr53903a95-82"/> 
  4.       <target dev="tap53903a95-82"/> 
  5.     </interface

通過brctl查看網橋信息如下:

  1. # brctl show 
  2. bridge name     bridge id               STP enabled     interfaces 
  3. qbr53903a95-82          8000.7e7f3282b836       no              qvb53903a95-82 
  4.                                                         tap53903a95-82 

網橋有兩個網絡接口,一個連接到虛擬機(“tap53903a95-82 “),另一個( “qvb53903a95-82”)連接到OVS網橋”br-int"。

  1. # ovs-vsctl show 
  2. 3c42f80-77e9-46c8-8560-7697d76de51c 
  3.    Bridge "br-eth2" 
  4.        Port "br-eth2" 
  5.            Interface "br-eth2" 
  6.                type: internal 
  7.        Port "eth2" 
  8.            Interface "eth2" 
  9.        Port "phy-br-eth2" 
  10.            Interface "phy-br-eth2" 
  11.    Bridge br-int 
  12.        Port br-int 
  13.            Interface br-int 
  14.                type: internal 
  15.        Port "int-br-eth2" 
  16.            Interface "int-br-eth2" 
  17.        Port "qvb53903a95-82" 
  18.            tag: 3 
  19.            Interface "qvb53903a95-82" 
  20.    ovs_version: "1.11.0" 

我們之前看過,OVS網橋“br-int"連接到"br-eth2",通過veth pair(int-br-eth2,phy-br-eth2 ),br-eth2連接到物理網卡eth2。整個流入如下:

  1. VM  ->  tap53903a95-82 (virtual interface)  ->  qbr53903a95-82 (Linux bridge)  ->  qvb53903a95-82 (interface connected from Linux bridge to OVS bridge br-int)  ->  int-br-eth2 (veth one end)  ->  phy-br-eth2 (veth the other end)  ->  eth2 physical interface

與虛擬機相連的Linux bridage主要用于基于Iptables的安全組設置。安全組用于對虛擬機的網絡隔離進行增強,由于iptables不能用于OVS網橋,因此我們使用了Linux網橋。后邊我們會看到Linux網橋的規則設置。

VLAN tags:我們在***個use case中提到過,net1使用VLAN標簽1000,通過OVS我們看到qvo41f1ebcf-7c使用VLAN標簽3。VLAN標簽從3到1000 的轉換在OVS中完成,通過br-eth2中實現。 總結如下,虛擬機通過一組網絡設備連入虛擬機網絡。虛擬機和網絡之間,VLAN標簽被修改。

#p#

Use case #3: Serving a DHCP request coming from the virtual machine

之前的use case中,我們看到了一個叫dhcp-的namespace和虛擬機,兩者最終連接到物理網絡eth2。他們都會被打上VLAN標簽1000。我們看到該namespace中的網絡接口使用IP 10.10.10.3。因為虛擬機和namespace彼此連接并在相同子網,因此可以ping到對方。如下圖,虛擬機中網絡接口被分配了IP 10.10.10.2,我們嘗試ping namespace中的網絡接口的IP:

[[123511]]

namespace與虛擬機之間連通,并且可以互相ping通,對于定位問題非常有用。我們可以從虛擬機ping通namespace,可以使用tcpdump或其他工具定位網絡中斷問題。

為了響應虛擬機的dhcp請求,Neutron使用了”dnsmasq“的Linux工具,這個工具是一個輕量的DNS、DHCP服務,

  1. dnsmasq --no-hosts --no-resolv --strict-order --bind-interfaces --interface=tap26c9b807-7c --except-interface=lo --pid-file=/var/lib/neutron/dhcp/5f833617-6179-4797-b7c0-7d420d84040c/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/5f833617-6179-4797-b7c0-7d420d84040c/host --dhcp-optsfile=/var/lib/neutron/dhcp/5f833617-6179-4797-b7c0-7d420d84040c/opts --leasefile-ro --dhcp-range=tag0,10.10.10.0,static,120s --dhcp-lease-max=256 --conf-file= --domain=openstacklocal 

DHCP服務在namespace中連接到了一個tap接口(“--interface=tap26c9b807-7c”),從hosts文件我們可以看到:

  1. # cat  /var/lib/neutron/dhcp/5f833617-6179-4797-b7c0-7d420d84040c/host 
  2. fa:16:3e:fe:c7:87,host-10-10-10-2.openstacklocal,10.10.10.2 

之前的console輸出可以看到虛擬機MAC為fa:16:3e:fe:c7:87 。這個mac地址與IP 10.10.10.2 關聯,當包含該MAC的DHCP請求到達,dnsmasq返回10.10.10.2。在這個初始過程(可以重啟網絡服務觸發)中從namespace中 看,可以看到如下的DHCP請求:

  1. # ip netns exec qdhcp-5f833617-6179-4797-b7c0-7d420d84040c tcpdump -n 
  2. 19:27:12.191280 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from fa:16:3e:fe:c7:87, length 310 
  3. 19:27:12.191666 IP 10.10.10.3.bootps > 10.10.10.2.bootpc: BOOTP/DHCP, Reply, length 325 

總之,DHCP服務由dnsmasq提供,這個服務由Neutron配置,監聽在DHCP namespace中的網絡接口上。Neutron還配置dnsmasq中的MAC/IP映射關系,所以當DHCP請求時會受到分配給它的IP。

總結

本文,我們基于之前講解的各種網絡組件,分析了三種use case下網絡如何連通的。這些use cases對了解整個網絡棧以及了解虛擬機/計算節點/DHCP namespace直接如何連通很有幫助。

根據我們的分析,我們確信啟動虛擬機、虛擬機發出DHCP請求、虛擬機收到正確的IP后這個網絡按照我們預想的工作。我們看到一個包經過一長串路徑最終到達目的地,如果這一切成功,意味著這些組件功能正常。

原文出自:http://blog.csdn.net/halcyonbaby/article/details/41578293

責任編輯:Ophira 來源: 追尋神跡的博客
相關推薦

2014-12-04 14:01:54

openstacknetworkneutron

2014-12-03 13:10:10

openstacknetworkneutron

2016-09-01 12:37:13

OpenStack虛擬機Metadata

2021-02-17 11:25:33

前端JavaScriptthis

2014-11-27 15:32:31

openstacknetworkovs

2017-05-04 15:36:54

Openstack Q實現實踐

2019-03-18 09:50:44

Nginx架構服務器

2018-12-27 12:34:42

HadoopHDFS分布式系統

2022-09-05 22:22:00

Stream操作對象

2016-12-08 15:36:59

HashMap數據結構hash函數

2020-07-21 08:26:08

SpringSecurity過濾器

2010-06-01 15:25:27

JavaCLASSPATH

2009-09-25 09:14:35

Hibernate日志

2023-10-19 11:12:15

Netty代碼

2013-09-22 14:57:19

AtWood

2015-07-30 10:04:43

viewport前端

2021-12-09 08:09:31

Linux內核臟頁

2021-07-26 07:47:36

數據庫

2021-09-10 07:31:54

AndroidAppStartup原理

2017-08-15 13:05:58

Serverless架構開發運維
點贊
收藏

51CTO技術棧公眾號

丁香婷婷综合色啪| 日韩中字在线| 色综合天天综合在线视频| 欧美精品尤物在线| 国产又大又黄又爽| 午夜亚洲福利| 亚洲欧美国产制服动漫| 99视频在线视频| 污污网站在线看| 不卡的看片网站| 国产精品美女av| 久久精品女人毛片国产| 精品高清在线| 国产自产v一区二区三区c| 久久综合免费视频影院| 妖精视频一区二区| a成人v在线| 亚洲福利视频一区| 亚洲.欧美.日本.国产综合在线| 国产精品国产精品国产专区| 亚洲成人在线| www.亚洲天堂| 成人免费网站黄| 精品一区91| 91久久精品一区二区| 国产片侵犯亲女视频播放| 国产免费av高清在线| 国产suv精品一区二区6| 国产精品在线看| 国产女同在线观看| 欧美va天堂| 视频在线观看99| 国产全是老熟女太爽了| 2021年精品国产福利在线| 欧美日韩亚洲综合一区二区三区| 国产精品50p| 里番在线播放| 亚洲欧洲制服丝袜| 亚洲国产成人不卡| 欧美色图另类| 26uuu成人网一区二区三区| 18成人在线| 国产影视一区二区| 蜜桃一区二区三区四区| 国产va免费精品高清在线观看| 国产真人真事毛片| 综合激情网站| 久久香蕉国产线看观看网| 一级片视频免费看| 九一成人免费视频| 亚洲毛片在线观看| 素人fc2av清纯18岁| 欧美电影在线观看免费| 精品免费视频.| 年下总裁被打光屁股sp | 欧美日韩国产成人| 亚洲精品一区二区三区在线播放| 成人久久电影| 亚洲最新av在线网站| 日本激情小视频| 欧美日韩中字| 中文字幕精品www乱入免费视频| 久久久久无码精品国产sm果冻 | 欧美黑人一级片| 亚洲欧美亚洲| 久久久久国色av免费观看性色| 欧美日韩在线视频免费| 欧美成人午夜| 欧美激情综合亚洲一二区| 久久精品这里只有精品| 亚洲婷婷在线| 26uuu国产精品视频| 国产一级片毛片| 久久精品男女| 国产欧美日韩高清| 国产男男gay体育生网站| 国产资源精品在线观看| 97netav| 天天射天天色天天干| 91美女片黄在线观看91美女| 区一区二区三区中文字幕| 97电影在线| 一区二区三区日韩欧美精品| 亚洲 欧美 综合 另类 中字| 亚洲天堂免费电影| 欧美私人免费视频| 国产不卡的av| 欧美亚视频在线中文字幕免费| 亚洲欧美自拍一区| 影音先锋男人看片资源| 欧美日韩调教| 欧美一级视频在线观看| 一级黄在线观看| 丰满少妇久久久久久久| 久久一区二区精品| 国产盗摄在线观看| 精品久久久久久久久久久久| 国产精品一区二区羞羞答答| 久久天堂久久| 亚洲免费视频一区二区| 久久一级免费视频| 一区视频在线看| 国产精品美女www| 欧美一级片免费| 国产日韩精品一区| 白白操在线视频| 成人va天堂| 欧美mv日韩mv国产网站app| 少妇大叫太粗太大爽一区二区| 91超碰国产精品| 欧美中文字幕视频在线观看| a级片免费视频| 国产日韩欧美精品在线| 欧美精品卡一卡二| 国产a亚洲精品| 日韩激情av在线免费观看| 日韩在线不卡av| 性欧美xxxx大乳国产app| 成人在线观看视频网站| 免费观看成年在线视频网站| 亚洲综合在线观看视频| 国产一伦一伦一伦| 色婷婷av一区二区三区丝袜美腿| 久久国产加勒比精品无码| 成人免费毛片视频| 9i在线看片成人免费| 艳母动漫在线观看| 亚洲综合av一区二区三区| 日韩精品视频免费| 久久久久久福利| 国内精品免费在线观看| 日韩精品欧美专区| a欧美人片人妖| 亚洲黄色www| 国产真实夫妇交换视频| 国产精品一区二区黑丝| 中文字幕日韩精品一区二区| 欧美一区久久久| 日韩精品在线观| 天天操天天爽天天干| 福利一区福利二区| av在线免费观看国产| 欧美视频精品全部免费观看| 日韩视频在线观看免费| 中文字幕777| 欧美经典一区二区| 国产精品无码一本二本三本色| 精品欧美午夜寂寞影院| 久久乐国产精品| 狠狠躁夜夜躁av无码中文幕| 一区二区三区蜜桃| 国模大尺度视频| 999久久久国产精品| 国产欧美一区二区| 日韩av中文| 欧美精品久久久久久久多人混战| 久久精品国产亚洲AV成人婷婷| 人人精品人人爱| 亚洲不卡1区| 日韩在线影院| 一区二区欧美久久| 在线观看中文字幕2021| 国产精品久久久久久福利一牛影视| 四季av一区二区| 日韩一区电影| 91精品网站| xxxx视频在线| 亚洲免费视频在线观看| 羞羞色院91蜜桃| 亚洲欧洲av在线| 色欲欲www成人网站| 亚洲午夜极品| 欧美成人免费在线| 黑人一区二区三区| 欧美大尺度在线观看| 蜜桃视频在线观看www| 欧美性极品xxxx娇小| 欧美大波大乳巨大乳| 六月丁香婷婷久久| 免费的av在线| 欧美a一欧美| 国产精品成人国产乱一区| 毛片在线不卡| 亚洲国产精品久久久| 日韩黄色片网站| 亚洲色大成网站www久久九九| 天堂va欧美va亚洲va老司机| 亚洲欧美日本日韩| 日韩少妇中文字幕| 日韩三级精品| 日本欧美国产在线| 国产在线1区| 亚洲国产欧美久久| 中文字幕一区二区三区波野结| 亚洲免费在线视频一区 二区| 97香蕉碰碰人妻国产欧美| 天堂一区二区在线免费观看| 美国av在线播放| 日韩有码av| 成人精品福利视频| 日韩伦理在线| 久久色在线播放| 色av男人的天堂免费在线| 欧美久久高跟鞋激| 久久精品久久国产| 国产精品久久久久久久久免费樱桃| 亚洲熟妇一区二区| 日本欧美在线观看| 青青草国产精品视频| 久久免费精品视频在这里| 国产欧美日韩一区二区三区| 日韩不卡视频在线观看| 欧美激情视频一区二区三区不卡| 国产免费av在线| 亚洲福利视频网站| 97人妻精品一区二区三区视频 | 亚洲综合五月天婷婷丁香| 亚洲一区二区三区四区五区黄| 亚洲国产日韩一区无码精品久久久| 国产99久久久国产精品免费看| 五月婷婷狠狠操| 国产一区二区三区的电影| 亚洲五码在线观看视频| 日韩黄色大片网站| 久久精品国产美女| 91精品啪在线观看国产手机| 国产区精品视频| 自拍一区在线观看| 欧美激情综合色| 伊人电影在线观看| 久久伊人91精品综合网站| 国产三级电影在线| 亚洲欧美国产精品久久久久久久 | 800av在线免费观看| 日韩精品诱惑一区?区三区| 欧美人xxxxx| 亚州国产精品| 蜜桃av噜噜一区二区三区| 久久亚洲道色| 国产乱人伦精品一区二区| 精品一区二区三区中文字幕在线| 国产在线不卡精品| 精品美女一区| 国产精品主播视频| jizzjizz少妇亚洲水多| 国产精品久久久久久久久久久不卡 | 久久中文资源| 国产伦精品一区二区三区在线| 91精品啪在线观看国产爱臀| 超碰97在线资源| 51精品国产| 国产精品中出一区二区三区| 丁香综合av| 国产女主播一区二区三区| 超碰成人福利| 久久大片网站| 亚洲精品无吗| 日韩欧美亚洲日产国产| 日韩精品二区| 黄色网zhan| 亚洲第一在线| 亚洲精品乱码久久久久久自慰 | 老司机av网站| 成人午夜看片网址| av网站有哪些| 国产欧美一区二区在线| www.xx日本| 亚洲激情图片qvod| 五月婷婷激情网| 91精品办公室少妇高潮对白| 中文字幕免费观看视频| 欧美一区二区三区在线观看| 性做久久久久久久久久| 亚洲第一色中文字幕| 欧洲综合视频| 精品国产一区二区三区四区在线观看| 成人影院在线看| 国产+人+亚洲| 高清成人在线| 91影院在线免费观看视频| 韩国精品福利一区二区三区| 欧美一区二区视频在线| 97精品在线| 欧美亚洲一二三区| 老司机精品视频导航| 国产精品一区二区在线免费观看| www亚洲一区| 欧美特黄一级片| 天天av天天翘天天综合网色鬼国产| 中文人妻av久久人妻18| 91精品国产全国免费观看| 天天色天天操天天射| 日韩在线中文视频| 美洲精品一卡2卡三卡4卡四卡| 国产成人精品亚洲精品| 国内不卡的一区二区三区中文字幕| 国产免费高清一区| 久久一区二区三区喷水| 少妇高潮毛片色欲ava片| 麻豆精品一二三| 欧美深性狂猛ⅹxxx深喉| 国产精品美女久久久久久久久| 国产精品6666| 欧美久久婷婷综合色| 天堂а√在线8种子蜜桃视频| 日韩小视频在线| 女人让男人操自己视频在线观看 | 亚洲欧美经典视频| 探花视频在线观看| 日韩一区二区三区电影 | 欧美亚洲国产日韩| 日本一道在线观看| 日韩国产欧美在线播放| 日韩av无码一区二区三区不卡| 国产精品久久久久aaaa| 亚洲AV无码成人精品区东京热| 日韩区在线观看| 91在线播放网站| 日韩免费观看网站| 日韩大胆成人| 成人免费观看cn| 国产传媒久久文化传媒| 亚洲欧美另类日本| 在线观看视频一区二区| 天天射天天操天天干| 久久久久久久电影一区| 精品伊人久久| 久久久国产精华液999999| 日韩精彩视频在线观看| ass精品国模裸体欣赏pics| 婷婷国产v国产偷v亚洲高清| 亚洲精品无遮挡| 欧美肥老妇视频| 国产精品一区二区美女视频免费看| 水蜜桃亚洲精品| 视频一区在线播放| a毛片毛片av永久免费| 好吊成人免视频| 亚洲欧美综合7777色婷婷| 欧美日韩亚洲91| 高清毛片aaaaaaaaa片| 欧美人与性动交| 精品视频一二| 亚洲精品天堂成人片av在线播放 | 91久久在线播放| 91综合在线| 免费av不卡在线| 综合在线观看色| 国产精品无码免费播放| 久久午夜a级毛片| 亚洲91网站| 日本黄色片一级片| 国产一区二区0| 久视频在线观看| 亚洲护士老师的毛茸茸最新章节| 岛国在线视频网站| 就去色蜜桃综合| 日韩av网站免费在线| 精品少妇一区二区三区密爱| 欧美精品一二三区| 午夜av在线播放| 精品国产乱码久久久久久久软件| 亚洲资源av| 91精品国自产在线| 在线不卡a资源高清| av免费在线观| 黑人另类av| 奇米精品一区二区三区在线观看 | 欧美写真视频网站| 免费观看在线黄色网| 成人看片在线| 性娇小13――14欧美| 成人信息集中地| 精品国产乱码久久久久久夜甘婷婷 | 特级丰满少妇一级aaaa爱毛片| 欧美专区在线观看| 欧美美女视频| 三级网站免费看| 色综合天天综合网天天看片| 日韩精品黄色| 精品国产免费人成电影在线观...| 天使萌一区二区三区免费观看| 亚洲一级二级片| 日韩电影网在线| 电影亚洲一区| 欧妇女乱妇女乱视频| 久久久久久久久久美女| 91国内精品视频| 国模精品系列视频| 日韩午夜电影网| 国产 xxxx| 欧美精品777| 性国裸体高清亚洲| 性欧美18一19内谢| 97精品久久久久中文字幕| 亚洲无码精品国产| 91精品国产91久久久久久最新| 水蜜桃精品av一区二区| 黄色在线免费播放| 欧美精品欧美精品系列|