婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ubuntu系統下自動化部署工具puppet的安裝和使用教程

Ubuntu系統下自動化部署工具puppet的安裝和使用教程

熱門標簽:去電tm智能電話機器人 鶴壁點撥外呼系統好用嗎 玉林防封電銷卡 預覽式外呼系統有什么用 慧營銷外呼系統下載 地圖標注百度百科 湖北防封外呼系統運營商 i電銷機器人 硅基智能電話外呼系統

大家好,本教程將學習如何在 ubuntu 15.04 上面安裝 puppet,它可以用來管理你的服務器基礎環境。puppet 是由 puppet 實驗室Puppet Labs開發并維護的一款開源的配置管理軟件,它能夠幫我們自動化供給、配置和管理服務器的基礎環境。不管我們管理的是幾個服務器還是數以千計的計算機組成的業務報表體系,puppet 都能夠使管理員從繁瑣的手動配置調整中解放出來,騰出時間和精力去提系統的升整體效率。它能夠確保所有自動化流程作業的一致性、可靠性以及穩定性。它讓管理員和開發者更緊密的聯系在一起,使開發者更容易產出付出設計良好、簡潔清晰的代碼。puppet 提供了配置管理和數據中心自動化的兩個解決方案。這兩個解決方案分別是 puppet 開源版 和 puppet 企業版。puppet 開源版以 Apache 2.0 許可證發布,它是一個非常靈活、可定制的解決方案,設置初衷是幫助管理員去完成那些重復性操作工作。pupprt 企業版是一個全平臺復雜 IT 環境下的成熟解決方案,它除了擁有開源版本所有優勢以外還有移動端 apps、只有商業版才有的加強支持,以及模塊化和集成管理等。Puppet 使用 SSL 證書來認證主控服務器與代理節點之間的通信。

本教程將要介紹如何在運行 ubuntu 15.04 的主控服務器和代理節點上面安裝開源版的 puppet。在這里,我們用一臺服務器做主控服務器master,管理和控制剩余的當作 puppet 代理節點agent node的服務器,這些代理節點將依據主控服務器來進行配置。在 ubuntu 15.04 只需要簡單的幾步就能安裝配置好 puppet,用它來管理我們的服務器基礎環境非常的方便。(LCTT 譯注:puppet 采用 C/S 架構,所以必須有至少有一臺作為服務器,其他作為客戶端處理)


1.設置主機文件
在本教程里,我們將使用2臺運行 ubuntu 15.04 “Vivid Vervet" 的主機,一臺作為主控服務器,另一臺作為 puppet 的代理節點。下面是我們將用到的服務器的基礎信息。

puupet 主控服務器 IP:44.55.88.6 ,主機名: puppetmaster
puppet 代理節點 IP: 45.55.86.39 ,主機名: puppetnode
我們要在代理節點和服務器這兩臺機器的 hosts 文件里面都添加上相應的條目,使用 root 或是 sudo 訪問權限來編輯 /etc/hosts 文件,命令如下:

復制代碼
代碼如下:

# nano /etc/hosts
45.55.88.6 puppetmaster.example.com puppetmaster
45.55.86.39 puppetnode.example.com puppetnode

注意,puppet 主控服務器必使用 8140 端口來運行,所以請務必保證開啟8140端口。

2. 用 NTP 更新時間
puppet 代理節點所使用系統時間必須要準確,這樣可以避免代理證書出現問題。如果有時間差異,那么證書將過期失效,所以服務器與代理節點的系統時間必須互相同步。我們使用 NTP(Network Time Protocol網絡時間協議)來同步時間。在服務器與代理節點上面分別運行以下命令來同步時間。

復制代碼
代碼如下:

# ntpdate pool.ntp.org

17 Jun 00:17:08 ntpdate[882]: adjust time server 66.175.209.17 offset -0.001938 sec   
(LCTT 譯注:顯示類似的輸出結果表示運行正常)

如果沒有安裝 ntp,請使用下面的命令更新你的軟件倉庫,安裝并運行ntp服務

復制代碼
代碼如下:

# apt-get update sudo apt-get -y install ntp ; service ntp restart

3. 安裝主控服務器軟件
安裝開源版本的 puppet 有很多的方法。在本教程中我們在 puppet 實驗室官網下載一個名為 puppetlabs-release 的軟件包的軟件源,安裝后它將為我們在軟件源里面添加 puppetmaster-passenger。puppetmaster-passenger 包括帶有 apache 的 puppet 主控服務器。我們開始下載這個軟件包:

復制代碼
代碼如下:

# cd /tmp/
# wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
--2015-06-17 00:19:26-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 192.155.89.90, 2600:3c03::f03c:91ff:fedb:6b1d
Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7384 (7.2K) [application/x-debian-package]
Saving to: ‘puppetlabs-release-trusty.deb’
puppetlabs-release-tr 100%[===========================>] 7.21K --.-KB/s in 0.06s
2015-06-17 00:19:26 (130 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384]

下載完成,我們來安裝它:

復制代碼
代碼如下:

# dpkg -i puppetlabs-release-trusty.deb
Selecting previously unselected package puppetlabs-release.
(Reading database ... 85899 files and directories currently installed.)
Preparing to unpack puppetlabs-release-trusty.deb ...
Unpacking puppetlabs-release (1.0-11) ...
Setting up puppetlabs-release (1.0-11) ...

使用 apt 包管理命令更新一下本地的軟件源:

復制代碼
代碼如下:

# apt-get update

現在我們就可以安裝 puppetmaster-passenger 了

復制代碼
代碼如下:

# apt-get install puppetmaster-passenger

提示: 在安裝的時候可能會報錯:
Warning: Setting templatedir is deprecated.see http://links.puppetlabs.com/env-settings-deprecations (at /usr/lib/ruby/vendor_ruby/puppet/settings.rb:1139:in `issue_deprecation_warning')
不過不用擔心,忽略掉它就好,我們只需要在設置配置文件的時候把這一項禁用就行了。

如何來查看 puppet 主控服務器是否已經安裝成功了呢?非常簡單,只需要使用下面的命令查看它的版本就可以了。

復制代碼
代碼如下:

# puppet --version
3.8.1

現在我們已經安裝好了 puppet 主控服務器。因為我們使用的是配合 apache 的 passenger,由 apache 來控制 puppet 主控服務器,當 apache 運行時 puppet 主控服務器才運行。

在開始之前,我們需要通過停止 apache 服務來讓 puppet 主控服務器停止運行。

復制代碼
代碼如下:

# systemctl stop apache2

4. 使用 Apt 工具鎖定主控服務器的版本
現在已經安裝了 3.8.1 版的 puppet,我們鎖定這個版本不讓它隨意升級,因為升級會造成配置文件混亂。 使用 apt 工具來鎖定它,這里我們需要使用文本編輯器來創建一個新的文件 /etc/apt/preferences.d/00-puppet.pref:

復制代碼
代碼如下:

# nano /etc/apt/preferences.d/00-puppet.pref

在新創建的文件里面添加以下內容:

復制代碼
代碼如下:

# /etc/apt/preferences.d/00-puppet.pref
Package: puppet puppet-common puppetmaster-passenger
Pin: version 3.8*
Pin-Priority: 501

這樣在以后的系統軟件升級中, puppet 主控服務器將不會跟隨系統軟件一起升級。

5. 配置 Puppet 主控服務器
Puppet 主控服務器作為一個證書發行機構,需要生成它自己的證書,用于簽署所有代理的證書的請求。首先我們要刪除所有在該軟件包安裝過程中創建出來的 ssl 證書。本地默認的 puppet 證書放在 /var/lib/puppet/ssl。因此我們只需要使用 rm 命令來整個移除這些證書就可以了。

復制代碼
代碼如下:

# rm -rf /var/lib/puppet/ssl

現在來配置該證書,在創建 puppet 主控服務器證書時,我們需要包括代理節點與主控服務器溝通所用的每個 DNS 名稱。使用文本編輯器來修改服務器的配置文件 puppet.conf:

復制代碼
代碼如下:

# nano /etc/puppet/puppet.conf

輸出的結果像下面這樣

復制代碼
代碼如下:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY

在這我們需要注釋掉 templatedir 這行使它失效。然后在文件的 [main] 小節的結尾添加下面的信息。

復制代碼
代碼如下:

server = puppetmaster
environment = production
runinterval = 1h
strict_variables = true
certname = puppetmaster
dns_alt_names = puppetmaster, puppetmaster.example.com

編輯完成后保存退出。

使用下面的命令來生成一個新的證書。

復制代碼
代碼如下:

# puppet master --verbose --no-daemonize
Info: Creating a new SSL key for ca
Info: Creating a new SSL certificate request for ca
Info: Certificate Request fingerprint (SHA256): F6:2F:69:89:BA:A5:5E:FF:7F:94:15:6B:A7:C4:20:CE:23:C7:E3:C9:63:53:E0:F2:76:D7:2E:E0:BF:BD:A6:78
...
Notice: puppetmaster has a waiting certificate request
Notice: Signed certificate request for puppetmaster
Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/ca/requests/puppetmaster.pem'
Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/certificate_requests/puppetmaster.pem'
Notice: Starting Puppet master version 3.8.1
^CNotice: Caught INT; storing stop
Notice: Processing stop

至此,證書已經生成。一旦我們看到 Notice: Starting Puppet master version 3.8.1,就表明證書就已經制作好了。我們按下 CTRL-C 回到 shell 命令行。

查看新生成證書的信息,可以使用下面的命令。

復制代碼
代碼如下:

# puppet cert list -all
+ "puppetmaster" (SHA256) 33:28:97:86:A1:C3:2F:73:10:D1:FB:42:DA:D5:42:69:71:84:F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com")

6. 創建一個 Puppet 清單
默認的主清單Manifest是 /etc/puppet/manifests/site.pp。 這個主要清單文件包括了用于在代理節點執行的配置定義。現在我們來創建一個清單文件:

復制代碼
代碼如下:

# nano /etc/puppet/manifests/site.pp

在剛打開的文件里面添加下面這幾行:

復制代碼
代碼如下:

# execute 'apt-get update'
exec { 'apt-update': # exec resource named 'apt-update'
command => '/usr/bin/apt-get update' # command this resource will run
}
# install apache2 package
package { 'apache2':
require => Exec['apt-update'], # require 'apt-update' before installing
ensure => installed,
}
# ensure apache2 service is running
service { 'apache2':
ensure => running,
}

以上這幾行的意思是給代理節點部署 apache web 服務。

7. 運行 puppet 主控服務
已經準備好運行 puppet 主控服務器 了,那么開啟 apache 服務來讓它啟動

復制代碼
代碼如下:

# systemctl start apache2

我們 puppet 主控服務器已經運行,不過它還不能管理任何代理節點。現在我們給 puppet 主控服務器添加代理節點.

提示: 如果報錯

Job for apache2.service failed. see "systemctl status apache2.service" and "journalctl -xe" for details.
肯定是 apache 服務器有一些問題,我們可以使用 root 或是 sudo 訪問權限來運行 apachectl start 查看它輸出的日志。在本教程執行過程中, 我們發現一個 /etc/apache2/sites-enabled/puppetmaster.conf 的證書配置問題。修改其中的 SSLCertificateFile /var/lib/puppet/ssl/certs/server.pem 為 SSLCertificateFile /var/lib/puppet/ssl/certs/puppetmaster.pem,然后注釋掉后面這行 SSLCertificateKeyFile 。然后在命令行重新啟動 apache。

8. 安裝 Puppet 代理節點的軟件包
我們已經準備好了 puppet 的服務器,現在需要一個可以管理的代理節點,我們將安裝 puppet 代理軟件到節點上去。這里我們要給每一個需要管理的節點安裝代理軟件,并且確保這些節點能夠通過 DNS 查詢到服務器主機。下面將 安裝最新的代理軟件到 節點 puppetnode.example.com 上。

在代理節點上使用下面的命令下載 puppet 實驗室提供的軟件包:

復制代碼
代碼如下:

# cd /tmp/
# wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb\
--2015-06-17 00:54:42-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 192.155.89.90, 2600:3c03::f03c:91ff:fedb:6b1d
Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7384 (7.2K) [application/x-debian-package]
Saving to: ‘puppetlabs-release-trusty.deb’
puppetlabs-release-tr 100%[===========================>] 7.21K --.-KB/s in 0.04s
2015-06-17 00:54:42 (162 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384]
在 ubuntu 15.04 上我們使用 debian 包管理系統來安裝它,命令如下:/p> p># dpkg -i puppetlabs-release-trusty.deb

使用 apt 包管理命令更新一下本地的軟件源:

復制代碼
代碼如下:

# apt-get update

通過遠程倉庫安裝:

復制代碼
代碼如下:

# apt-get install puppet

Puppet 代理默認是不啟動的。這里我們需要使用文本編輯器修改 /etc/default/puppet 文件,使它正常工作:

復制代碼
代碼如下:

# nano /etc/default/puppet

更改 START 的值改成 "yes" 。

復制代碼
代碼如下:

START=yes

最后保存并退出。

9. 使用 Apt 工具鎖定代理軟件的版本
和上面的步驟一樣為防止隨意升級造成的配置文件混亂,我們要使用 apt 工具來把它鎖定。具體做法是使用文本編輯器創建一個文件 /etc/apt/preferences.d/00-puppet.pref:

復制代碼
代碼如下:

# nano /etc/apt/preferences.d/00-puppet.pref

在新建的文件里面加入如下內容

復制代碼
代碼如下:

# /etc/apt/preferences.d/00-puppet.pref
Package: puppet puppet-common
Pin: version 3.8*
Pin-Priority: 501

這樣 puppet 就不會隨著系統軟件升級而隨意升級了。

10. 配置 puppet 代理節點
我們需要編輯一下代理節點的 puppet.conf 文件,來使它運行。

復制代碼
代碼如下:

# nano /etc/puppet/puppet.conf

它看起來和服務器的配置文件完全一樣。同樣注釋掉 templatedir 這行。不同的是在這里我們需要刪除掉所有關于[master] 的部分。

假定主控服務器可以通過名字“puppet-master”訪問,我們的客戶端應該可以和它相互連接通信。如果不行的話,我們需要使用完整的主機域名 puppetmaster.example.com

復制代碼
代碼如下:

[agent]
server = puppetmaster.example.com
certname = puppetnode.example.com

在文件的結尾增加上面3行,增加之后文件內容像下面這樣:

復制代碼
代碼如下:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
#templatedir=$confdir/templates
[agent]
server = puppetmaster.example.com
certname = puppetnode.example.com

最后保存并退出。

使用下面的命令來啟動客戶端軟件:

復制代碼
代碼如下:

# systemctl start puppet

如果一切順利的話,我們不會看到命令行有任何輸出。 第一次運行的時候,代理節點會生成一個 ssl 證書并且給服務器發送一個請求,經過簽名確認后,兩臺機器就可以互相通信了。

提示: 如果這是你添加的第一個代理節點,建議你在添加其他節點前先給這個證書簽名。一旦能夠通過并正常運行,回過頭來再添加其他代理節點。

11. 在主控服務器上對證書請求進行簽名
第一次運行的時候,代理節點會生成一個 ssl 證書并且給服務器發送一個簽名請求。在主控服務器給代理節點服務器證書簽名之后,主服務器才能和代理服務器通信并且控制代理服務器。

在主控服務器上使用下面的命令來列出當前的證書請求:

復制代碼
代碼如下:

# puppet cert list
"puppetnode.example.com" (SHA256) 31:A1:7E:23:6B:CD:7B:7D:83:98:33:8B:21:01:A6:C4:01:D5:53:3D:A0:0E:77:9A:77:AE:8F:05:4A:9A:50:B2

因為只設置了一臺代理節點服務器,所以我們將只看到一個請求。看起來類似如上,代理節點的完整域名即其主機名。

注意有沒有“+”號在前面,代表這個證書有沒有被簽名。

使用帶有主機名的 puppet cert sign 這個命令來簽署這個簽名請求,如下:

復制代碼
代碼如下:

# puppet cert sign puppetnode.example.com
Notice: Signed certificate request for puppetnode.example.com
Notice: Removing file Puppet::SSL::CertificateRequest puppetnode.example.com at '/var/lib/puppet/ssl/ca/requests/puppetnode.example.com.pem'

主控服務器現在可以通訊和控制它簽名過的代理節點了。

如果想簽署所有的當前請求,可以使用 -all 選項,如下所示:

復制代碼
代碼如下:

# puppet cert sign --all

12. 刪除一個 Puppet 證書
如果我們想移除一個主機,或者想重建一個主機然后再添加它。下面的例子里我們將展示如何刪除 puppet 主控服務器上面的一個證書。使用的命令如下:

復制代碼
代碼如下:

# puppet cert clean hostname
Notice: Revoked certificate with serial 5
Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/ca/signed/puppetnode.example.com.pem'
Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/certs/puppetnode.example.com.pem'

如果我們想查看所有的簽署和未簽署的請求,使用下面這條命令:

復制代碼
代碼如下:

# puppet cert list --all
+ "puppetmaster" (SHA256) 33:28:97:86:A1:C3:2F:73:10:D1:FB:42:DA:D5:42:69:71:84:F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com")

13. 部署 Puppet 清單
當配置并完成 puppet 清單后,現在我們需要部署清單到代理節點服務器上。要應用并加載主 puppet 清單,我們可以在代理節點服務器上面使用下面的命令:

復制代碼
代碼如下:

# puppet agent --test
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for puppetnode.example.com
Info: Applying configuration version '1434563858'
Notice: /Stage[main]/Main/Exec[apt-update]/returns: executed successfully
Notice: Finished catalog run in 10.53 seconds

這里向我們展示了主清單如何立即影響到了一個單一的服務器。

如果我們打算運行的 puppet 清單與主清單沒有什么關聯,我們可以簡單使用 puppet apply 帶上相應的清單文件的路徑即可。它僅將清單應用到我們運行該清單的代理節點上。

復制代碼
代碼如下:

# puppet apply /etc/puppet/manifest/test.pp

14. 為特定節點配置清單
如果我們想部署一個清單到某個特定的節點,我們需要如下配置清單。

在主控服務器上面使用文本編輯器編輯 /etc/puppet/manifest/site.pp:

復制代碼
代碼如下:

# nano /etc/puppet/manifest/site.pp

添加下面的內容進去

復制代碼
代碼如下:

node 'puppetnode', 'puppetnode1' {
# execute 'apt-get update'
exec { 'apt-update': # exec resource named 'apt-update'
command => '/usr/bin/apt-get update' # command this resource will run
}
# install apache2 package
package { 'apache2':
require => Exec['apt-update'], # require 'apt-update' before installing
ensure => installed,
}
# ensure apache2 service is running
service { 'apache2':
ensure => running,
}
}

這里的配置顯示我們將在名為 puppetnode 和 puppetnode1 的2個指定的節點上面安裝 apache 服務。這里可以添加其他我們需要安裝部署的具體節點進去。

15. 配置清單模塊
模塊對于組合任務是非常有用的,在 Puppet 社區有很多人貢獻了自己的模塊組件。

在主控服務器上, 我們將使用 puppet module 命令來安裝 puppetlabs-apache 模塊。

復制代碼
代碼如下:

# puppet module install puppetlabs-apache

警告: 千萬不要在一個已經部署 apache 環境的機器上面使用這個模塊,否則它將清空你沒有被 puppet 管理的 apache 配置。

現在用文本編輯器來修改 site.pp :

復制代碼
代碼如下:

# nano /etc/puppet/manifest/site.pp

添加下面的內容進去,在 puppetnode 上面安裝 apache 服務。

復制代碼
代碼如下:

node 'puppet-node' {
class { 'apache': } # use apache module
apache::vhost { 'example.com': # define vhost resource
port => '80',
docroot => '/var/www/html'
}
}

保存退出。然后重新運行該清單來為我們的代理節點部署 apache 配置。

總結
現在我們已經成功的在 ubuntu 15.04 上面部署并運行 puppet 來管理代理節點服務器的基礎運行環境。我們學習了 puppet 是如何工作的,編寫清單文件,節點與主機間使用 ssl 證書認證的認證過程。使用 puppet 開源軟件配置管理工具在眾多的代理節點上來控制、管理和配置重復性任務是非常容易的。

標簽:期貨 安陽 商丘 吳忠 達州 廈門 江蘇 臨沂

巨人網絡通訊聲明:本文標題《Ubuntu系統下自動化部署工具puppet的安裝和使用教程》,本文關鍵詞  Ubuntu,系統,下,自動化,部署,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ubuntu系統下自動化部署工具puppet的安裝和使用教程》相關的同類信息!
  • 本頁收集關于Ubuntu系統下自動化部署工具puppet的安裝和使用教程的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    美女一区二区在线观看| 欧美久久久影院| 亚洲影院在线观看| 精品国产一区二区三区av性色 | 欧美日韩黄色一区二区| 极品少妇xxxx精品少妇| 午夜欧美2019年伦理| 中文在线一区二区 | 亚洲国产美女搞黄色| 国产精品青草综合久久久久99| 日韩一区二区三区在线| 欧美精选午夜久久久乱码6080| 免费欧美在线视频| av在线不卡网| 欧美激情资源网| 亚洲电影欧美电影有声小说| 亚洲一区国产视频| 国产视频一区二区在线| 精品国产自在久精品国产| 色老头久久综合| 国产成人亚洲精品青草天美| 日韩1区2区3区| 中文字幕av不卡| 国产人妖乱国产精品人妖| 日韩欧美色电影| 欧美视频自拍偷拍| 99久久精品国产毛片| 国产成人在线视频网站| 九九视频精品免费| 日韩在线一区二区| 九九国产精品视频| 一本一道波多野结衣一区二区| 国产成人免费在线| 天堂成人国产精品一区| 亚洲色图欧洲色图婷婷| 国产精品久久久久久妇女6080| 欧美一级黄色大片| 欧美一区二区三区男人的天堂| 7777女厕盗摄久久久| 3d动漫精品啪啪1区2区免费| 欧美日韩国产片| 欧美美女直播网站| 日韩视频免费观看高清在线视频| 精品女同一区二区| 久久无码av三级| 国产视频视频一区| 亚洲少妇30p| 亚洲国产欧美日韩另类综合| 亚洲一区二区三区四区五区黄| 91婷婷韩国欧美一区二区| 欧美三区在线观看| 欧美大胆一级视频| 久久久久久一二三区| 国产精品九色蝌蚪自拍| 亚洲第一精品在线| 久久99精品久久久久久久久久久久| 美女视频黄 久久| 懂色av一区二区三区免费看| 天堂久久一区二区三区| 激情亚洲综合在线| 99久久婷婷国产综合精品电影| 欧美日韩中文字幕一区二区| 欧美一区二区三区性视频| 在线成人av影院| 精品乱码亚洲一区二区不卡| 欧美国产激情一区二区三区蜜月 | 国产精品久久久爽爽爽麻豆色哟哟| 亚洲欧美色图小说| 日韩黄色一级片| av中文字幕在线不卡| 欧美精品久久一区二区三区| 久久久久青草大香线综合精品| 一区二区三区欧美久久| 国产一区二区三区不卡在线观看| 欧美怡红院视频| 国产人久久人人人人爽| 日韩一区欧美二区| 成人动漫一区二区| 日韩欧美高清一区| 亚洲精品久久久蜜桃| 欧洲av一区二区嗯嗯嗯啊| 亚洲精品在线免费播放| 色老综合老女人久久久| 亚洲精品一线二线三线无人区| 亚洲一区中文日韩| 91性感美女视频| 精品日韩一区二区三区免费视频| 亚洲免费观看高清完整版在线 | 99在线视频精品| 欧美精品久久久久久久多人混战 | 成人免费观看视频| 欧美日韩精品一区二区三区蜜桃 | 91精品国产91综合久久蜜臀| 亚洲女人的天堂| 国产高清视频一区| 精品噜噜噜噜久久久久久久久试看 | 国产精品一二三四区| 在线成人免费观看| 亚洲国产毛片aaaaa无费看| 99久久精品国产一区| 中文字幕va一区二区三区| 韩国成人精品a∨在线观看| 91在线观看地址| 欧美性做爰猛烈叫床潮| 精品国产人成亚洲区| 欧美另类变人与禽xxxxx| 欧美国产在线观看| 亚洲成人777| 不卡一二三区首页| 精品精品欲导航| 久久久综合九色合综国产精品| 久久久久久久久久美女| 亚洲一区在线观看免费观看电影高清| 午夜精品国产更新| 国产经典欧美精品| 欧美日韩精品一区视频| 欧美人牲a欧美精品| 欧美二区乱c少妇| 日韩欧美一区二区视频| 蜜臀a∨国产成人精品| 欧美日韩五月天| 亚洲猫色日本管| 91免费看视频| 国产欧美日韩不卡免费| 亚洲精品免费播放| 国产成人精品一区二区三区四区| 国产精品1区二区.| 欧美亚洲免费在线一区| 91丨九色丨蝌蚪丨老版| 欧美喷水一区二区| 天天综合天天综合色| 99视频在线精品| 欧美一区二区视频在线观看2020| 久久久久久久久97黄色工厂| 欧美极品美女视频| 日韩欧美在线观看一区二区三区| 一区二区成人在线| 欧美三区在线观看| 国产精品乱码一区二区三区软件 | 亚洲午夜精品17c| 国产又黄又大久久| 日韩一区二区三区视频| 亚洲综合成人在线视频| 久久 天天综合| 色婷婷狠狠综合| 久久国产三级精品| 国产精品视频观看| 99久久国产综合精品女不卡| 国产色91在线| 人人精品人人爱| aa级大片欧美| 亚洲免费观看高清完整版在线观看熊 | 国产毛片精品视频| 色综合久久综合网| 久久久久免费观看| 婷婷国产v国产偷v亚洲高清| 不卡视频一二三| 国内精品视频666| 亚洲高清一区二区三区| 日本电影亚洲天堂一区| 国产欧美一区二区三区沐欲| 极品美女销魂一区二区三区| 国内外成人在线视频| 无码av免费一区二区三区试看| 色哟哟一区二区三区| 欧美精品一区二区不卡| a级精品国产片在线观看| 91精品国产免费| 国产一区二区三区av电影| 国产女人aaa级久久久级| 色婷婷综合五月| 久久精品久久精品| 全部av―极品视觉盛宴亚洲| 国产精品麻豆一区二区| 日韩欧美成人一区| 欧美视频中文字幕| 日韩亚洲欧美成人一区| 91蝌蚪国产九色| 波多野洁衣一区| 国产91高潮流白浆在线麻豆 | 欧美一级高清片| 精品国产自在久精品国产| 日韩色在线观看| 色婷婷av一区| 日本视频一区二区三区| 亚洲高清免费视频| 日韩一区二区在线看| 蜜桃久久久久久| 久久久蜜桃精品| 国产资源精品在线观看| 粗大黑人巨茎大战欧美成人| 精品国产乱码久久久久久免费 | 亚洲国产cao| 国产精品不卡视频| 日本少妇一区二区| 一区二区在线看| 依依成人综合视频| 国产精品自拍网站| 福利视频网站一区二区三区| 成人免费高清视频|