青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
級別: 中級

 

蔣 瑩瀅 (jiangyy@cn.ibm.com), 軟件工程師, IBM
殷 一鳴 (yinym@cn.ibm.com), 軟件工程師, IBM

2009 年 1 月 31 日

隨著互聯網技術的不斷發展,傳統的 IPv4 地址已不能滿足用戶的需要。新一代的 IPv6 協議也日益被廣泛的接受和使用,越來越多的軟件系統都要求支持 IPv6 網絡協議。然而現有網絡環境對 IPv6 的支持仍然非常有限,這給軟件的開發和測試都帶來了一定的困難。本文將介紹如何使用 Apache 在現有的 IPv4 網絡中構建模擬的 IPv6 環境。

在 Linux 平臺及 IPv4 環境中構建 IPv6 測試環境







1 IPv6簡介

IPv6(Internet Protocol Version 6)作為 IPv4 的升級版本,它是作為一共軟件升級安裝在設備和
操作系統中。為什么需要使用 IPv6,一個最直接的答案就是目前廣泛應用的 IPv4 已經無法提供足夠的 IP 地址來滿足迅速增長的網絡。IPv4 采用32位地址長度,只有大約43億個地址,很快就將被分配完畢。而 IPv6 采用128位的地址長度,幾乎可以不受限制的提供地址。當然擴大地址空間只是 IPv6 的眾多優勢中的重要一項,除此之外,IPv6 還能夠提高網絡的整體吞吐量、改善服務質量(QoS)、安全性有更好的保證、支持即插即用和移動性、更好實現多播功能等等。

從1992年 IPNG 工作組成立,經歷了十幾年的發展,雖然 IPv6 離達到與 IPv4 相同的水平仍有距離,但已經有越來越多的支持 IPv6 的設備投入使用,越來越多的軟件系統開始支持 IPv6。現在 IPv6 已經可以提供 DNS,Web,Email,Ftp,Telnet 等基本服務。Windows,Sun,Apple 等操作系統也都已經或即將支持 IPv6 協議。IBM 也一直致力于 IPv6 的發展,早在1997年 IBM 就發布了支持 IPv6 的 AIX。如今 DB2,Lotus,Rational,Tivoli 和 WebSphere 也都在逐步支持 IPv6 的應用。







2 在 IPv4 環境中模擬 IPv6 網絡

正如上節中所述,目前許多與網絡應用相關的軟件已經加入了對 IPv6 的支持,更有大量的軟件正在處于對 IPv6 支持的開發階段。但是就開發而言,目前許多開發環境并沒有對 IPv6 提供很好的支持,尤其當所開發的應用需要經過較老的路由甚至公共網絡時。如果希望通過升級網絡設備來支持開發環境,將是一筆不小的花費,有時甚至是不現實的(比如短期內升級公共網絡支持 IPv6)。

研究如何在現有的 IPv4 網絡環境中模擬出 IPv6 環境,使得開發和測試工作能夠順利進行,顯得尤為重要。下面介紹一種在 Linux 平臺上通過 Apache 服務器來模擬 IPv6 的 HTTP/HTTPS 網絡開發測試環境。

2.1 IPv6 網絡要求及現有的網絡環境

圖1顯示了典型的 HTTP 網絡應用,如果需要對這樣的網絡應用提供 IPv6 的支持,開發和測試人員可能會碰到如下三種情形:

客戶端和服務器運行于同一個局域網中,如圖1-a

客戶端和服務器運行于同一個 Intranet 中,它們之間的網絡通路需要經過路由,如圖1-b

客戶端和服務器分別處于不同的地域,它們之間由 Internet 提供連接,如圖1-c。


圖 1. 三種典型的 HTTP 網絡應用
三種典型的 HTTP 網絡應用

在這三種不同的情形下,IPv6 的網絡環境要求是不同的。對于情形1,只需客戶端和服務器所運行的操作系統支持 IPv6 即可通過 IPv6 協議進行通信,若需要提供 Global 地址的通信,則可以通過在局域網內的某臺機器上運行一個軟件 IPv6 路由來支持,因此其針對 IPv6 的開發和測試相對簡單。 對于情形2,由于客戶端和服務器之間經過運行于 IP 層的路由,因此要求網絡通路上經過的所有路由器均支持 IPv6。 這可能是一個不小的挑戰,因為很多 Intranet 環境并沒有提供支持 IPv6 的路由。對于情形3,這就要求 Internet 提供 IPv6的支持,就短期看來,Internet 提供全面的 IPv6 支持還不太可能。

因此,在情形2和情形3的環境中,網絡硬件支持將成為開發和測試支持 IPv6 的網絡應用程序的最大障礙,在2.2節中將給出如何運用現有的 IPv4 網絡來進行 IPv6 應用程序的開發和測試,同時又保證其在真實的 IPv6 環境中正常運行。

2.2 利用現有 IPv4 網絡模擬 IPv6 環境

2.2.1 模擬環境構建的基本原理

圖2 - 圖3顯示了 IPv6 模擬環境的框圖,這里存在兩種情形,但具體的配置是類似的。
對于開發客戶端 IPv6 應用程序,其框圖如圖2;而對于開發服務器端 IPv6 應用程序,其框圖如圖3。其基本原理就是利用代理技術將原來被 IPv4 網絡阻斷的客戶端或服務器端映射到位于同一局域網內的代理服務器上,這樣“客戶端”與“服務器端”就可以進行基于 IPv6 的網絡通信了。 在圖2中,我們需要代理服務器與客戶端運行于同一局域網中,在客戶端看來,此代理服務器是一個具備了 IPv6 支持能力的“服務器”,即使真正的服務器端并沒有支持 IPv6 ,也可以進行客戶端的開發和測試。在圖3中,我們需要一臺機器與服務器端運行于同一局域網中,在服務器端看來,此代理服務器是一個具備了 IPv6 支持能力的“客戶端”。


圖 2. 利用代理將服務器端映射到與客戶端同一局域網內
利用代理將服務器端映射到與客戶端同一局域網內

圖 3. 利用代理將客戶端映射到與服務器端同一局域網內
利用代理將客戶端映射到與服務器端同一局域網內

下面僅以客戶端的IPv6環境為例來講述整個模擬環境的構建過程。

2.2.2 環境的建立

操作系統平臺: Linux,內核需支持 IPv6,2.6以上版本最佳,

推薦使用 RedHat Enterprise Linux 5或SuSE Linux Enterprise Server 10

軟件: radvd(Router ADVertisement Daemon),
這是一個運行于 Linux 平臺之上的提供 IPv6 路由配置信息的軟件,可以替代 IPv6 路由來進行無狀態的地址自動配置。

Apache,這是目前應用最為廣泛的 Web 服務器,要求版本2.0以上

openssl,運行于 Linux 平臺上的提供實現 SSL v2/v3 協議的加解密工具包

2.2.3 啟動 radvd

IPv6 的地址獲取方式與 IPv4 有所不同。在 IPv4 中,主機 IP 地址的自動配置必須由 DHCP 服務器來支持,這被稱為有狀態的自動配置(StatefulAutoconfiguration);而在 IPv6 中,除了 DHCP 的 v6版本,還引入了無狀態的自動配置( StatelessAutoconfiguration )。這項新技術無需 DHCP 服務器支持,所有支持 IPv6 的路由器都監聽各主機發送的自動配置請求包, IPv6 路由器對這類請求包的回復里面包含了一些 IPv6 地址的前綴( prefix )信息,主機在收到這樣的包以后,可以根據自己的一些已有信息(比如 MAC 地址),生成自己的 IPv6 地址。

本文是在現有的 IPv4 網絡環境中模擬 IPv6 環境,自然不存在物理的 IPv6 路由器,但是通過 Linux 平臺上的 radvd 工具也可以模擬無狀態自動配置,它同樣可以監聽局域網內各 IPv6 主機發送的自動配置請求并作出響應,這樣,這些主機就可以獲得各自的 IPv6 地址,并利用這些地址進行相互間的通信。而圖X中的客戶端正是使用這種方式與代理服務器通信的。

這里以 SLES10 平臺上的 radvd-0.9-13.2 為例來說明 radvd 的配置和啟動過程。

  1. 從 SLES10 的安裝光盤中找到 radvd-0.9-13.2.i586.rpm 進行安裝
           # rpm -ivh radvd-0.9-13.2.i586.rpm
            

  1. 配置運行 radvd 的主機的 IPv6 地址信息

    # ip a a 2002:9ba:b4e:6::1/64 dev ethX

    # ip r a 2002:9ba:b4e:6::/64 dev ethX

這里的 ethX 表示的是此主機監聽局域網數據包的網卡設備

  1. radvd 安裝后其配置文件位于 /etc/radvd.conf ,在這個文件中加入配置信息
interface ethX
            {
            AdvSendAdvert on;
            MinRtrAdvInterval 5;
            MaxRtrAdvInterval 10;
            AdvDefaultPreference low;
            prefix 2002:9ba:b4e:6::/64
            {
            AdvOnLink on;
            AdvAutonomous on;
            AdvRouterAddr off;
            };
            };
            

同上,這里的 ethX 表示的是此主機監聽局域網數據包的網卡設備。prefix 段表明了該局

域網配置 IPv6 地址的前綴。

  1. 確保系統啟動了對 IPv6 數據包的轉發功能

    # sysctl -w net.ipv6.conf.all.forwarding=1

  1. 啟動 radvd

    # /etc/init.d/radvd start

在 radvd 啟動成功后,通過 ps 命令可以看到系統中有一個 radvd 的 daemon 進程處于運行狀態。若對局域網中的其他主機運行 ifconfig 命令可以看到這些主機已經自動配置了 IPv6 地址,其前綴( prefix )與 radvd 配置文件中的值一致。

2.2.4 配置 Apache 服務器

Apache 服務器是整個模擬 IPv6 環境的核心部分,它將監聽來自 IPv6 網絡連接的數據包,并將其通過 IPv4 網絡轉發到服務器端。這里使用了 Apache 服務器的 mod_proxy 模塊,相信這一模塊提供的 Forward Proxy 功能已為大家所熟知,并被廣泛采用。這一模塊同時還提供了 Reverse Proxy 功能,本文就采用了此技術來實現轉發功能。運行 Reverse Proxy 的 Apache 服務器對于客戶端而言就是一臺實際的 Web 服務器,客戶端將從該服務器獲取和上傳所有的數據,具體的配置方法如下文所述。

大多數的 Linux 平臺已經安裝了 Apache 服務器,對于已經安裝了 Apache 服務器的平臺,必須保證其支持 IPv6,并且加載了 mod_proxy和mod_ssl 模塊。當然也可以從 Apache 的源代碼開始編譯一個新的 Apache 服務器。

首先需要確定 Apache 服務器監聽 IPv6 地址,一般而言,在 httpd.conf 中有如下一條:

    Listen 80
            

這表明該 Apache 服務器監聽所有的主機地址,自然也包括 IPv6 的地址。若原 Apache 服務器配置了監聽一些特定的地址,確保這些地址中包含代理服務器與客戶端通信使用的 IPv6 地址。

對于代理服務器的配置,這里需要使用 Apache 服務器的 mod_proxy 模塊中的 ProxyPass 指示字,在 Apache 配置文件中加入如下的配置語句。

NameVirtualHost *:80
            <VirtualHost *:80>
            ServerAdmin webmaster@dummy-host.example.com
            ServerName ipv6-server-proxy
            ProxyRequests off
            <Proxy *>
            Order deny,allow
            Allow from all
            </Proxy>
            ProxyPass /request http://www.server.com/request
            ErrorLog "logs/proxypass-error_log"
            CustomLog "logs/proxypass-access_log" common
            </VirtualHost>
            

這里的 ProxyPass 指示語的含義是所有對此 Apache 服務器的 /request 目錄的訪問都將轉發到 http://www.server.com/request。若此 Apache 服務器的 IPv6 地址為2002:9ba:b4e:6::3,則客戶端若訪問

http://[2002:9ba:b4e:6::3]/request
            

實際獲得的數據將來自于

http://www.server.com/request
            

這樣,在客戶端看來,與其通信的服務器是一個支持 IPv6 的服務器端,而實際上是 Apache 代理將遠程的服務器端映射到了本地的 IPv6 網絡。在這種環境下,客戶端就可以來開發和測試自身對 IPv6 的支持了,而無需考慮服務器端對此協議的支持。

上述語句添加的位置由 Apache 的配置文件結構決定,目前許多版本的 Apache 采用多個配置文件,即由一個主的配置文件 httpd.conf 來包含其他子項配置文件,如 httpd-vhosts.conf,httpd-ssl.conf 文件等,而不是所有的配置信息全部寫在 httpd.conf 文件中。這里推薦將上述配置語句寫入 httpd-vhosts.conf 文件中,然后在主配置文件 httpd.conf 文件加入下面這條包含此文件。

Include httpd-vhosts.conf
            

這里默認 httpd-vhosts.conf 與 httpd.conf 在同一目錄下,多數情況下要加入 httpd-vhosts.conf 的相對路徑。

對于需要使用 HTTPS 連接的應用程序,其 Apache 服務器的配置有所不同,參見下一節2.2.5中的具體介紹。

在配置好以后,即可啟動/重啟 Apache 服務器來使得剛才的配置生效。

# /etc/init.d/httpd restart
            

2.2.5 利用 openssl 生成 HTTPS 連接所需的認證信息

由于運行 Reverse Proxy 的 Apache 服務器在客戶端看來是一臺實際的 Web 服務器,因此在進行 HTTPS 連接時,客戶端需要驗證其 SSL 簽名的有效性。這樣,我們需要在上述配置好的 Apache 服務器中加入 SSL 認證信息,才能保證客戶端的 HTTPS 應用程序能夠正常運行。

自簽名(self-signed)的 SSL 認證文件的生成

首先是生成根證書文件 ca.crt

# openssl genrsa -des3 -out ca.key 4096
            # openssl req -new -x509 -days 365 -key ca.key -out ca.crt
            

第一步是生成一個根證書的 key 文件,系統會要求輸入 pass phase, 記下輸入的密碼,這一密碼會在后面多次用到。而第二步則將使用這個 key 文件來生成根證書,這一步執行時系統會要求輸入許多根證書的信息,值得注意的是 Common Name(CN),這一步中輸入的 CN 值應與下一步生成服務器證書時輸入的不同。

接著需要生成服務器證書簽名請求(Certificate Signing Request)文件 server.csr,步驟與生成根證書文件類似。

# openssl genrsa -des3 -out server.key 4096
            # openssl req -new -key server.key -out server.csr
            

同樣,在第二步中會要求輸入一系列的服務器信息,這里的 Common Name(CN) 應與客戶端訪問該服務器時使用的地址相同,例如:

客戶端使用 http://proxyhost.com/ 訪問該服務器時,這里的 CN 應為 proxyhost.com

客戶端使用 http://[2002:9ba:b4e:6::3]/ 訪問該服務器時,這里的 CN 應為 [2002:9ba:b4e:6::3]

為何需要相同,是因為客戶端的 HTTPS 連接程序會驗證該服務器提供的證書有效性,若證書中的 CN 與實際客戶端訪問的主機名不同,客戶端會拋出 INVALID_CN 錯誤。

最后,利用前面生成的根證書文件 ca.crt 來簽署(Sign)服務器證書簽名請求 server.csr。

# openssl x509 -req -days 365 -in server.csr -CA ca.crt \
            -CAkey ca.key -set_serial 01 -out server.crt
            

將上述生成的四個證書相關文件(ca.crt,ca.key,server.crt,server.key)拷入 Apache 的配置文件夾中,接下來將會把這些文件的路徑和一些配置信息加入到 Apache 配置文件中。

Listen 443
            AddType application/x-x509-ca-cert .crt
            AddType application/x-pkcs7-crl    .crl
            SSLPassPhraseDialog  builtin
            SSLSessionCache "shmcb:/usr/local/apache2/logs/ssl_scache(512000)"
            SSLSessionCacheTimeout  300
            SSLMutex  "file:logs/ssl_mutex"
            NameVirtualHost *:443
            <VirtualHost *:443>
            DocumentRoot "apache2/htdocs"
            ServerName ipv6-server-proxy
            ServerAdmin you@example.com
            ErrorLog "ssl-error_log"
            TransferLog "ssl-access_log"
            SSLEngine on
            SSLProtocol -all +TLSv1 +SSLv3
            SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
            SSLCertificateFile "server.crt"
            SSLCertificateKeyFile "server.key"
            <Directory "/usr/local/apache2/cgi-bin">
            SSLOptions +StdEnvVars
            </Directory>
            BrowserMatch ".*MSIE.*" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0
            CustomLog "logs/ssl_request_log" \
            "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
            SSLProxyEngine on
            ProxyRequests off
            <Proxy *>
            Order deny,allow
            Allow from all
            </Proxy>
            ProxyPass /request http://www.server.com/request
            </VirtualHost>
            

這里再次使用了 ProxyPass 來建立代理服務。

正如上一節2.2.4中所述,這里建議將這些配置信息寫入 httpd-ssl.conf 中,然后在 httpd.conf 中加入如下一行將其包含。

Include httpd-ssl.conf
            

配置完成后,即可啟動/重啟 Apache 服務器來使得剛才的配置生效。

# /etc/init.d/httpd restart
            

客戶端 HTTPS 連接的考慮

由于這里采用的是自簽名(Self-signed)的方式來生成服務器的認證文件,客戶端使用 HTTPS 連接到該代理服務器時,會出現認證錯誤的提示。這就需要將這里生成的證書加入到客戶端的可信站點列表中。具體的添加方式因采用的系統不同而各異。就 Windows 平臺的 IE 而言,可以將上述生成的 ca.crt 及 server.crt 文件加入到 IE 的可信站點中,這會影響到所有利用 IE 提供的 wininet 庫進行 HTTP 應用開發的程序。

2.2.6 DNS 考慮

在網絡應用中,客戶端一般使用域名來訪問服務器端。在測試 IPv6 的環境中,必須使用 IPv6 的地址來訪問,這就需要一個支持 IPv6 的 DNS 域名服務器,對于一定的域名返回其 IPv6 的地址。目前可以使用在 Linux 平臺的 BIND 9 來搭建這樣的 DNS 服務器。但是其配置相對比較復雜,還可以使用一種相對簡便的方法。即利用 Linux 和 Windows 平臺均支持的 hosts 文件來配對域名與其相應的 IPv6 地址。這需要在客戶端的相應 hosts 文件中加入一些 IPv6 地址的配置信息。

在 Linux 平臺上,hosts 文件一般位于 /etc/hosts,在此文件中加入如下一行:

           2002:9ba:b4e:6::3    www.someipv6site.com
            

這樣就指定了 www.someipv6site.com 的 IPv6 地址為 2002:9ba:b4e:6::3。而在 Windows 平臺上 hosts 文件位于 %WINDIR%\System32\drivers\etc\hosts,其格式與 Linux 平臺上相同。

2.3 IPv6 和 IPv4 混合環境兼容性測試

從 IPv4 到 IPv6 的過渡是一個漫長而復雜的過程,不可能在短期內實現完全轉換,所以在產品的開發及測試過程中除了考慮 IPv6 網絡內的通訊還需要充分考慮現實網絡環境中很可能出現的 IPv6 網絡和 IPv4 網絡的混合環境,這就需要測試應用程序在此環境下的兼容性。 本節將介紹一些需要模擬的情況。

模擬以下3種網絡情況首先都需要在現有的 IPv4 局域網環境中選擇一臺機器作為路由服務器,并按照2.2.3節的描述進行相關配置。這樣與該路由連接于同一個 Switch 上的計算機都將會被自動分配一個 IPv6 的地址。如果仍然沒有獲得 IPv6 的地址,請關閉計算機和路由服務器上的防火墻。然后按照 2.2.4 節中的描述選擇一臺計算機設置為 ProxyPass。

2.3.1客戶端和服務器端均運行于 IPv6 的網絡環境

這種情況的驗證相對比較簡單,只需要在客戶端將服務器的地址設為前面配置的 ProxyPass 的 IPv6 的地址便能實現客戶端和服務器端 IPv6 到 IPv6 的交互。這就是2.2節介紹的情況。

圖 4. 客戶端和服務器端均運行于 IPv6 的網絡環境


圖 4. 客戶端和服務器端均運行于 IPv6 的網絡環境
客戶端和服務器端均運行于 IPv6 的網絡環境

2.3.2 客戶端運行于 IPv6 網絡,服務端運行于 IPv4 網絡

對于客戶端和服務器端分別處于 IPv6 和 IPv4 環境的情況,需要在局域網環境中增加代理 (proxy) 作為兩者之間的橋梁,該代理與上述路由服務器位于同一個網絡之中,因而也擁有 IPv6 的地址和 IPv4 的地址。客戶端所設置的目的服務器端地址為 IPv4 的地址,設置的代理地址為該代理的 IPv6 的地址,這樣客戶通過 IPv6 協議與代理直接進行通訊,而代理接受到客戶端所設置的 IPv4 格式的服務器地址后則通過 IPv4 協議與服務端交互,這樣便模擬實現了客戶端位于 IPv6 網絡而服務器端位于 IPv4 網絡的情況。

圖5客戶端運行于 IPv6 網絡,服務端運行于 IPv4 網絡


圖 5. 客戶端運行于 IPv6 網絡,服務端運行于 IPv4 網絡
客戶端運行于 IPv6 網絡,服務端運行于 IPv4 網絡

2.3.3 客戶端運行于 IPv4 網絡,服務端運行于 IPv6 網絡

模擬位于 IPv4 網絡中的客戶端與位于 IPv6 網絡中的服務器端進行交互需要使用 Proxy 和 ProxyPass 來進行環境搭建。客戶端將 ProxyPass 所在的 IPv6 的地址設置為服務器端的地址,將 Proxy 所在的 IPv4 的地址設置為代理的地址,這樣客戶端與代理之間通過 IPv4 協議進行通訊。代理在獲取到客戶端所配置的 IPv6 協議的 ProxyPass 地址后將通過 IPv6 協議與 ProxyPass 進行交互。ProxyPass 收到客戶端發送的請求后將通過 IPv4 的協議發送給真正的位于 IPv4 網絡中的服務器進行處理。這樣在客戶端就模擬實現了 IPv4 網絡到 IPv6 網絡的通訊。

圖6客戶端運行于 IPv4 網絡,服務端運行于 IPv6 網絡

Server


圖 6. 利用代理將客戶端映射到與服務器端同一局域網內
利用代理將客戶端映射到與服務器端同一局域網內






3 總結

在本文中,我們通過使用現有的 IPv4 網絡配合 Linux 平臺上的 Apache 服務器,達到了模擬 IPv6 的 HTTP/HTTPS 網絡環境的目的,從而可以在有限的硬件資源之下開發和測試網絡應用軟件對 IPv6 的支持。這項技術還可以應用到其他的網絡協議之上,只需使用具備類似于 Apache 服務器轉發技術的代理服務器。因此這項技術具有一定的通用性

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲天堂成人在线观看| 久久免费高清视频| 亚洲伊人观看| 99精品国产在热久久婷婷| 欧美在线观看www| 亚洲免费视频观看| 欧美精品日韩| 亚洲福利在线观看| 亚洲国产成人在线| 久久九九国产精品| 久久不射中文字幕| 亚洲综合日韩在线| 欧美日韩91| 亚洲图片欧洲图片日韩av| 欧美+亚洲+精品+三区| 久久久久久999| 国产女人精品视频| 亚洲免费影视第一页| 亚洲欧美成人网| 欧美网站在线| 99在线|亚洲一区二区| 亚洲视频欧美视频| 欧美日韩视频一区二区| 亚洲欧洲日本在线| 一本久道综合久久精品| 欧美日韩免费高清| 一级成人国产| 亚洲欧美国产另类| 国产欧美精品日韩| 欧美一区免费| 麻豆成人精品| 最新国产成人在线观看| 免费观看成人| 欧美一级片一区| 亚洲国产经典视频| 国产精品久久久久9999| 中国成人黄色视屏| 欧美在线播放| 激情综合色综合久久| 看片网站欧美日韩| 亚洲黄色性网站| 亚洲一区二区三区精品在线| 欧美午夜不卡视频| 午夜精品久久| 男男成人高潮片免费网站| 亚洲国产综合视频在线观看| 欧美乱妇高清无乱码| 在线亚洲精品| 久久久久亚洲综合| 亚洲精品一区久久久久久| 欧美日韩黄色大片| 欧美一区二区| 亚洲激情影院| 欧美一区二区三区视频免费| 伊人婷婷欧美激情| 欧美日韩亚洲高清| 欧美一区在线看| 亚洲精品一区二区三区樱花| 小处雏高清一区二区三区 | 亚洲精品国久久99热| 欧美裸体一区二区三区| 亚洲欧美日韩另类| 欧美大片18| 亚洲欧美日韩国产综合| 亚洲国产精品v| 国产精品推荐精品| 欧美成人精品不卡视频在线观看| 亚洲精品偷拍| 免费国产自线拍一欧美视频| 亚洲欧美日韩国产另类专区| 亚洲电影免费在线| 欧美午夜免费| 欧美成人午夜剧场免费观看| 午夜久久美女| 一区二区电影免费观看| 亚洲高清在线精品| 亚洲区在线播放| 激情久久综艺| 国产精品伦一区| 欧美电影免费| 久久国产精品久久精品国产| 日韩亚洲在线观看| 亚洲黄色一区| 欧美黄免费看| 噜噜噜躁狠狠躁狠狠精品视频| 性色av一区二区三区在线观看| 日韩一二三在线视频播| 在线免费观看欧美| 黄色成人在线免费| 国产欧美日韩三区| 国产精品热久久久久夜色精品三区| 欧美国产精品v| 免费av成人在线| 久久久久久香蕉网| 久久久精彩视频| 欧美一区二视频| 午夜精品一区二区在线观看| 亚洲无线视频| 中国女人久久久| 亚洲少妇在线| 亚洲婷婷在线| 亚洲永久视频| 午夜久久99| 欧美自拍偷拍| 久久久高清一区二区三区| 欧美一区二区在线播放| 欧美中文在线字幕| 久久精品一区二区三区不卡| 欧美在线观看一区| 久久久久国产精品一区三寸| 久久久久网站| 欧美电影打屁股sp| 欧美日韩精品在线| 国产精品久久久亚洲一区| 国产精品视频免费在线观看| 国产欧美精品日韩| 国产一区二区三区免费不卡| 一区二区视频免费在线观看| 在线观看亚洲精品| 亚洲老板91色精品久久| 在线综合亚洲欧美在线视频| 午夜欧美大尺度福利影院在线看| 午夜精品国产更新| 久久先锋影音av| 欧美国产日韩视频| 99在线视频精品| 久久成人人人人精品欧| 亚洲国产精品久久91精品| 国产精品女主播在线观看| 欧美大片免费| 欧美午夜片在线观看| 国产精品视频午夜| 欧美视频在线一区| 欧美在线视频免费播放| 欧美在线视频一区二区| 99这里有精品| 欧美ed2k| 久久精品人人做人人综合| 国产精品日本一区二区 | 亚洲美女精品成人在线视频| 久久久久**毛片大全| 亚洲一区中文字幕在线观看| 欧美日韩国产探花| 日韩一级黄色片| 亚洲国产日韩欧美综合久久| 久久综合伊人77777蜜臀| 国产伊人精品| 久久天堂精品| 久久久中精品2020中文| 激情亚洲网站| 老色鬼久久亚洲一区二区| 欧美一区二区| 国产一区二区成人| 久久精品国产久精国产爱| 亚洲免费中文字幕| 国产欧美日本| 久久精品女人的天堂av| 欧美一区二区女人| 国产亚洲福利| 久久婷婷av| 久久青草欧美一区二区三区| 伊人伊人伊人久久| 欧美aⅴ99久久黑人专区| 久久综合中文| 日韩亚洲欧美在线观看| 亚洲精品你懂的| 欧美老女人xx| 亚洲女性裸体视频| 香蕉国产精品偷在线观看不卡| 国产欧美日本| 免费看黄裸体一级大秀欧美| 久久综合激情| 日韩一级精品| 在线亚洲成人| 国产亚洲欧洲一区高清在线观看 | 久久色中文字幕| 亚洲国产精品成人va在线观看| 欧美国产一区二区| 欧美日韩亚洲一区二区三区| 亚洲影院高清在线| 欧美在线观看视频一区二区| 亚洲第一精品福利| 日韩视频免费观看高清完整版| 国产精品久久久久久久久久三级 | 欧美+亚洲+精品+三区| 亚洲小说春色综合另类电影| 国产欧美精品一区二区三区介绍| 久久精选视频| 欧美凹凸一区二区三区视频| 亚洲调教视频在线观看| 午夜亚洲性色视频| 亚洲国产婷婷香蕉久久久久久99| 日韩视频免费观看| 国产一二精品视频| 亚洲欧洲一区二区三区久久| 国产精品美女xx| 欧美成人dvd在线视频| 欧美视频一区在线观看| 久久网站热最新地址| 欧美日本亚洲韩国国产|