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

如何在Ubuntu 15.04中安裝puppet

系統 Linux 系統運維
本教程介紹如何在運行Ubuntu 15.04的主控服務器和代理節點上面安裝開源版的puppet。在這里,我們用一臺服務器做主控服務器master,管理和控制剩余的當作puppet代理節點agent node的服務器,這些代理節點將依據主控服務器來進行配置。在Ubuntu 15.04只需要簡單的幾步就能安裝配置好puppet,用它來管理我們的服務器基礎環境非常的方便。

   [[158366]]

大家好,本教程將學習如何在 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,用它來管理我們的服務器基礎環境非常的方便。(說明:puppet 采用 C/S 架構,所以必須有至少有一臺作為服務器,其他作為客戶端處理)。

[[158367]]

  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 文件,命令如下:

  1. # nano /etc/hosts 
  2.  
  3. 45.55.88.6 puppetmaster.example.com puppetmaster
  4. 45.55.86.39 puppetnode.example.com puppetnode

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

  2.用 NTP 更新時間

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

  1. # ntpdate pool.ntp.org 
  2.  
  3. 17 Jun 00:17:08 ntpdate[882]: adjust time server 66.175.209.17 offset -0.001938 sec

  (說明:顯示類似的輸出結果表示運行正常)。

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

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

  3.安裝主控服務器軟件

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

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

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

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

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

  1. # apt-get update 

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

  1. # apt-get install puppetmaster-passenger 

  提示:在安裝的時候可能會報錯:

  1. 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 主控服務器是否已經安裝成功了呢?非常簡單,只需要使用下面的命令查看它的版本就可以了。

  1. # puppet --version 
  2.  
  3. 3.8.1

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

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

  1. # systemctl stop apache2 

  #p#

4.使用 Apt 工具鎖定主控服務器的版本

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

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

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

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

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

  5.配置 Puppet 主控服務器

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

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

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

  1. # nano /etc/puppet/puppet.conf 

  輸出的結果像下面這樣:

  1. [main] 
  2. logdir=/var/log/puppet
  3. vardir=/var/lib/puppet
  4. ssldir=/var/lib/puppet/ssl
  5. rundir=/var/run/puppet
  6. factpath=$vardir/lib/facter
  7. templatedir=$confdir/templates
  8.  
  9. [master]
  10. # These are needed when the puppetmaster is run by passenger
  11. # and can safely be removed if webrick is used.
  12. ssl_client_header = SSL_CLIENT_S_DN
  13. ssl_client_verify_header = SSL_CLIENT_VERIFY

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

  1. server = puppetmaster 
  2. environment = production
  3. runinterval = 1h
  4. strict_variables = true
  5. certname = puppetmaster
  6. dns_alt_names = puppetmaster, puppetmaster.example.com

  還有很多你可能用的到的配置選項。 如果你有需要,在 Puppet 實驗室有一份詳細的描述文件供你閱讀: Main Config File (puppet.conf)

  編輯完成后,保存退出。

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

  1. # puppet master --verbose --no-daemonize 
  2.  
  3. Info: Creating a new SSL key for ca 
  4.  Info: Creating a new SSL certificate request for ca 
  5.  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 
  6.  ... 
  7.  Notice: puppetmaster has a waiting certificate request 
  8.  Notice: Signed certificate request for puppetmaster 
  9.  Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/ca/requests/puppetmaster.pem' 
  10.  Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/certificate_requests/puppetmaster.pem' 
  11.  Notice: Starting Puppet master version 3.8.1 
  12.  ^CNotice: Caught INT; storing stop 
  13.  Notice: Processing stop 

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

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

  1. # puppet cert list -all 
  2.  
  3.   + "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。 這個主要清單文件包括了用于在代理節點執行的配置定義。現在,我們來創建一個清單文件:

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

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

  1. execute 'apt-get update' 
  2.  exec { 'apt-update': # exec resource named 'apt-update' 
  3.  command => '/usr/bin/apt-get update' # command this resource will run 
  4.  
  5.  
  6. # install apache2 package 
  7. package { 'apache2'
  8. require => Exec['apt-update'], # require 'apt-update' before installing 
  9. ensure => installed, 
  10.  
  11. # ensure apache2 service is running 
  12. service { 'apache2'
  13. ensure => running, 

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

  7.運行 puppet 主控服務

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

  1. # systemctl start apache2 

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

  提示:如果報錯

  1. 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。

#p#

  8.安裝 Puppet 代理節點的軟件包

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

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

  1. # cd /tmp/ 
  2. # wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb\ 
  3.  
  4. --2015-06-17 00:54:42-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb 
  5. Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 192.155.89.90, 2600:3c03::f03c:91ff:fedb:6b1d 
  6. Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected. 
  7. HTTP request sent, awaiting response... 200 OK 
  8. Length: 7384 (7.2K) [application/x-debian-package] 
  9. Saving to: ‘puppetlabs-release-trusty.deb’ 
  10.  
  11. puppetlabs-release-tr 100%[===========================>] 7.21K --.-KB/s in 0.04s 
  12.  
  13. 2015-06-17 00:54:42 (162 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384] 

  在 ubuntu 15.04 上我們使用 debian 包管理系統來安裝它,命令如下:

  1. # dpkg -i puppetlabs-release-trusty.deb 

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

  1. # apt-get update 

  通過遠程倉庫安裝:

  1. # apt-get install puppet 

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

  1. # nano /etc/default/puppet 

  更改 START 的值改成 "yes" 。

  1. START=yes 

  最后保存并退出。

  9.使用 Apt 工具鎖定代理軟件的版本

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

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

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

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

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

  10.配置 puppet 代理節點

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

  1. # nano /etc/puppet/puppet.conf 

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

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

  1. [agent] 
  2. server = puppetmaster.example.com 
  3. certname = puppetnode.example.com 

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

  1. [main] 
  2. logdir=/var/log/puppet 
  3. vardir=/var/lib/puppet 
  4. ssldir=/var/lib/puppet/ssl 
  5. rundir=/var/run/puppet 
  6. factpath=$vardir/lib/facter 
  7. #templatedir=$confdir/templates 
  8.  
  9. [agent] 
  10. server = puppetmaster.example.com 
  11. certname = puppetnode.example.com 

  最后保存并退出。

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

  1. # systemctl start puppet 

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

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

  11.在主控服務器上對證書請求進行簽名

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

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

  1. # puppet cert list 
  2.  "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 這個命令來簽署這個簽名請求,如下:

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

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

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

  1. # puppet cert sign --all 

  #p#

12.刪除一個 Puppet 證書

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

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

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

  1. # puppet cert list --all 
  2.  "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 清單,我們可以在代理節點服務器上面使用下面的命令:

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

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

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

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

  14.為特定節點配置清單

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

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

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

  添加下面的內容進去:

  1. node 'puppetnode''puppetnode1' { 
  2. execute 'apt-get update' 
  3. exec { 'apt-update': # exec resource named 'apt-update' 
  4. command => '/usr/bin/apt-get update' # command this resource will run 
  5.  
  6. # install apache2 package 
  7. package { 'apache2'
  8. require => Exec['apt-update'], # require 'apt-update' before installing 
  9. ensure => installed, 
  10.  
  11. # ensure apache2 service is running 
  12. service { 'apache2'
  13. ensure => running, 

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

  15.配置清單模塊

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

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

  1. # puppet module install puppetlabs-apache 

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

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

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

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

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

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

  總結

  現在,我們已經成功的在 ubuntu 15.04 上面部署并運行 puppet 來管理代理節點服務器的基礎運行環境。我們學習了 puppet 是如何工作的,編寫清單文件,節點與主機間使用 ssl 證書認證的認證過程。使用 puppet 開源軟件配置管理工具在眾多的代理節點上來控制、管理和配置重復性任務是非常容易的。如果你有任何的問題、建議、反饋,與我們取得聯系,我們將第一時間完善更新,謝謝!

責任編輯:武曉燕 來源: Linux中國
相關推薦

2015-08-31 11:58:59

UbuntuLogwatch

2015-10-16 10:07:22

Justniffer安裝Ubuntu

2015-12-29 13:59:53

Ubuntu 15.0CentOS 7Android Stu

2016-01-06 13:04:13

CentOS 7Ubuntu 15.0Laravel

2015-09-21 17:26:12

Webuzo控制面板Ubuntu

2015-07-16 16:19:02

UbuntuGNOME

2015-09-30 14:04:36

KVMUbuntuLinux

2022-11-02 16:47:36

2023-07-24 11:01:29

UbuntuWine

2015-09-10 16:23:08

客人會話UbuntuLinux

2014-02-28 09:43:28

Ubuntu LibreOffic

2015-07-08 09:21:29

SNMP網絡管理簡單網絡管理協議

2015-09-11 16:47:51

安裝DockerUbuntu

2015-08-07 15:46:13

Ubuntu安裝

2022-11-22 08:24:28

UbuntuLinux命令

2014-03-12 09:58:36

Ubuntu 13.1Gnome 3.10

2019-09-12 19:20:59

UbuntuShutter截圖工具

2023-02-14 16:35:52

UbuntuDOSBox老游戲

2015-09-28 11:15:39

UbuntuQGit客戶端

2015-09-24 10:51:12

Numix圖標Ubuntu
點贊
收藏

51CTO技術棧公眾號

亚洲超碰97人人做人人爱| 99久久精品国产亚洲精品 | 欧美卡1卡2卡| 国产欧美精品aaaaaa片| 亚州精品国产精品乱码不99按摩| 久久国产高清| 不卡中文字幕av| www.555国产精品免费| 欧美极度另类| 一区二区三区在线不卡| 日本一区二区三区四区高清视频 | 久久青青草视频| 亚州av一区| 欧美日韩国产一区二区三区地区| 大陆av在线播放| 高清av在线| 精品写真视频在线观看| 久久激情五月激情| 欧美精品一区二区三区蜜臀| 99精品免费在线观看| 麻豆网站在线| 99久久综合国产精品| 国产精品影院在线观看| 久久精品国产亚洲av麻豆色欲 | 一本大道av伊人久久综合| 日韩久久在线| 深爱激情五月婷婷| 精品一区二区免费看| 88xx成人精品| 国产在线观看免费av| 日韩精品成人在线| 91麻豆精品国产91久久久平台 | 图片区小说区国产精品视频| 亚洲五月六月| 黄色国产在线| 91视频在线看| 精品国产_亚洲人成在线| 国产特黄一级片| 久久99蜜桃精品| 国产精品人成电影| 国产又粗又猛又黄视频| 国产精品久久久久久模特| 欧美日韩成人在线观看| 中文字幕在线观看2018| 欧美成人激情| 日韩中文字幕免费视频| 亚洲午夜久久久久久久国产| 欧美美女在线观看| 亚洲精品小视频在线观看| 在线免费看黄色片| 国产精品99久久免费观看| 欧美成人综合网站| 91人人澡人人爽| 亚洲一区二区三区四区在线观看| 欧美国产乱视频| 91麻豆精品成人一区二区| 第一社区sis001原创亚洲| 亚洲色图第三页| 谁有免费的黄色网址| 免费看日本一区二区| 亚洲欧美999| 国产精品日韩久久久久| 一区二区三区免费高清视频| 欧美久久一级| 伊甸园亚洲一区| 欧美在线三级电影| av网站在线不卡| 久久久人成影片一区二区三区在哪下载 | 综合欧美国产视频二区| 在线免费观看a级片| 99久久久国产| 日韩一区二区三区四区五区六区| 免费黄频在线观看| 久久久久亚洲精品中文字幕| 国产综合在线看| 双性尿奴穿贞c带憋尿| 久久porn| 亚洲天堂视频在线观看| 三区四区在线观看| 国产精品久久久久久久| 蜜臀久久99精品久久久无需会员| 久久精品人人做人人爽电影| 国产又大又粗又硬| 国产麻豆视频一区二区| 国语精品免费视频| av在线电影播放| 亚洲人一二三区| 日本韩国欧美在线观看| 素人一区二区三区| 日韩午夜激情免费电影| 久久国产精品影院| 91视频一区| 国模极品一区二区三区| 中日韩黄色大片| 久久精品国产秦先生| 国产精品手机在线| av在线免费一区| 女女同性女同一区二区三区91| 欧美性生交xxxxx| 日韩精品亚洲aⅴ在线影院| 亚洲色图第一页| 青青草偷拍视频| 久久久精品网| 91亚洲人电影| 欧美777四色影视在线| 成人免费在线播放视频| 日韩激情免费视频| 精品国产欧美| 亚洲午夜精品久久久久久性色| 青花影视在线观看免费高清| 麻豆91精品| 国产高清自拍一区| 日本免费在线视频| 色香蕉久久蜜桃| 性高潮免费视频| 999视频精品| 日本人成精品视频在线| 亚洲卡一卡二卡三| 中文字幕在线播放不卡一区| 免费日韩视频在线观看| 91夜夜蜜桃臀一区二区三区| 中文字幕在线看视频国产欧美在线看完整 | 国产精品入口福利| 污视频在线免费观看| 136国产福利精品导航| 99999精品视频| 风间由美一区二区av101| 久久久av电影| 中文字幕在线观看欧美| 99久久99久久综合| 男人天堂新网址| 亚洲成人毛片| 丝袜亚洲另类欧美重口| 精品久久久久久久久久久国产字幕| 成人国产视频在线观看| 免费日韩在线观看| 国产精品欧美一区二区三区不卡 | 久久99九九| 免费电影视频在线看| 91精品国产麻豆| 国产一区第一页| 美女一区二区久久| 日韩欧美亚洲日产国| 依依综合在线| 亚洲精品在线观看www| 日韩免费视频网站| 成人高清视频在线观看| 亚洲色欲久久久综合网东京热| 高清国产一区二区三区四区五区| 色老头一区二区三区| 一二三区在线播放| 亚洲视频在线观看一区| 欧美激情第四页| 91精品国产调教在线观看| 国产啪精品视频网站| 日本精品在线| 欧美一级片免费看| 久久久久99精品| 97久久超碰精品国产| 尤物av无码色av无码| 天美av一区二区三区久久| 欧洲亚洲免费视频| 国产女主播在线写真| 欧美色图天堂网| 人人干在线观看| 国产精品一区二区三区99| 午夜精品福利一区二区| 白嫩亚洲一区二区三区| 美女黄色丝袜一区| 色wwwwww| 在线免费不卡视频| 夫妻性生活毛片| jlzzjlzz亚洲日本少妇| 任你操这里只有精品| 日韩精品免费一区二区三区| 91亚洲精华国产精华| 538在线视频| 伊人久久免费视频| 国产手机精品视频| 精品免费在线观看| 日本黄色小视频在线观看| 激情亚洲综合在线| 无码 制服 丝袜 国产 另类| 自拍亚洲一区| 成人午夜小视频| 爱情岛论坛亚洲品质自拍视频网站| 亚洲美女性视频| 97国产成人无码精品久久久| 亚洲电影一区二区三区| 日韩中文字幕有码| 国产精品18久久久久久vr| 日韩一区二区高清视频| 久久最新网址| 99久re热视频这里只有精品6| 中文在线а√在线8| 久热精品视频在线观看| 四虎成人免费在线| 91精品国产欧美一区二区| 亚洲天堂日韩av| 亚洲婷婷在线视频| 精品少妇人妻一区二区黑料社区| 国内成人精品2018免费看| 波多野结衣之无限发射| 久久久久av| 日韩国产一区久久| 成人激情自拍| 国产在线视频一区| 欧美成人性网| 久久久久久伊人| 黄网站免费在线观看| 亚洲男人天堂视频| 黄色a在线观看| 欧美精品电影在线播放| 无码无套少妇毛多18pxxxx| 一区二区久久久久久| 国产一区二区三区四区在线| 99免费精品在线观看| 国产精品igao网网址不卡| 日本在线不卡一区| 成人在线激情网| 99在线精品免费视频九九视| 日韩不卡视频一区二区| 成人在线电影在线观看视频| 久久精品人人做人人爽电影| 成人av综合网| 99se婷婷在线视频观看| 99久久999| 成人两性免费视频| 99久久er| 国产v综合ⅴ日韩v欧美大片| 三级在线观看视频| 97久久久免费福利网址| 黄网站在线观| 久久免费成人精品视频| 日本无删减在线| 欧美风情在线观看| 少妇视频在线| 欧美人与物videos| 丝袜在线视频| 久久久久成人网| 97人人在线视频| 青青a在线精品免费观看| 国产高清中文字幕在线| 韩国视频理论视频久久| 日韩欧美视频第二区| 精品国产第一国产综合精品| 国产在线观看不卡| 日韩午夜视频在线| 国产日韩av高清| 亚洲精品一区av| 国产在线日韩在线| 久久天堂久久| 春色成人在线视频| 精品三级av在线导航| 精品国产_亚洲人成在线| 欧美成a人免费观看久久| 国产一区二区三区黄| 色爱av综合网| 日韩av不卡在线播放| 成人羞羞动漫| 麻豆中文字幕在线观看| 中国成人一区| 日韩xxxx视频| 免费永久网站黄欧美| 波多野结衣作品集| 久久精品国产成人一区二区三区| 色18美女社区| 盗摄精品av一区二区三区| 中文文字幕文字幕高清| 久久久久久久久久电影| 国产精品久久久久久久久婷婷| 亚洲日本国产精品| 亚洲欧洲日本专区| 一本一道波多野毛片中文在线 | 97伦伦午夜电影理伦片| 国产亚洲人成网站| 三级黄色录像视频| 亚洲成人中文在线| 中文字幕高清在线免费播放| 欧美三级三级三级爽爽爽| 11024精品一区二区三区日韩| 日韩午夜激情视频| 三区在线观看| 久久精品电影一区二区| 91av久久| 91精品国产综合久久香蕉的用户体验| 国产精品1区在线| 黑人巨大精品欧美一区二区小视频| 精品国产91| 亚洲爆乳无码精品aaa片蜜桃| 免费一区视频| 被黑人猛躁10次高潮视频| 99久久久国产精品| 能直接看的av| 亚洲成国产人片在线观看| 久久久久久无码精品大片| 欧美一区二区精品| 国产乱理伦片a级在线观看| 欧美美女18p| 国产电影一区二区三区爱妃记| 超碰在线97av| 欧美国产美女| 欧美少妇性生活视频| 国产aⅴ精品一区二区三区色成熟| 强伦人妻一区二区三区| 一区二区成人在线| 亚洲视频在线观看一区二区| 亚洲精品国产精品久久清纯直播| 麻豆影院在线观看| 国产成人中文字幕| 噜噜噜狠狠夜夜躁精品仙踪林| 欧美 另类 交| 日韩电影在线一区| 完美搭档在线观看| 亚洲男同性视频| 在线观看中文字幕网站| 日韩精品一二三四区| 欧美xxx黑人xxx水蜜桃| 国产伦精品一区二区三区精品视频| 欧美自拍一区| 日本一本中文字幕| 国产精品主播直播| 永久免费看mv网站入口| 欧美中文字幕一区二区三区 | 日韩精品一区二区亚洲av观看| 亚洲а∨天堂久久精品喷水| 国产精品va在线观看视色| 国产精品久久久久aaaa九色| 特黄特色欧美大片| 日韩少妇内射免费播放| 成人午夜视频福利| 久操免费在线视频| 日韩一区二区免费在线电影 | 亚洲综合一二三| 欧美一区三区二区| 免费黄网站在线播放| 国产精品精品久久久| 视频一区在线观看| 97av视频在线观看| 91麻豆精品秘密| 毛片基地在线观看| 亚洲免费人成在线视频观看| 天堂√8在线中文| 六月婷婷久久| 另类av一区二区| 日韩女同一区二区三区| 欧美图片一区二区三区| aaa日本高清在线播放免费观看| 国产成人精品久久| 国产一区二区三区探花| 美女黄色片视频| 中文无字幕一区二区三区| 中文字幕网址在线| 日韩在线视频免费观看| 国产精品igao视频网网址不卡日韩| 中文字幕一区二区三区有限公司 | 欧美三级视频在线观看| 日本综合在线| 亚洲专区中文字幕| 黑丝一区二区| 51调教丨国产调教视频| 色综合久久综合| 9色在线视频网站| 国产中文字幕亚洲| 欧美99在线视频观看| 亚洲午夜久久久久久久久| 欧美日韩精品在线| 国产中文字幕在线观看| 国产欧美精品日韩精品| 一本一道久久a久久精品蜜桃| 久久无码专区国产精品s| 欧美日韩国产中文字幕| 电影av在线| 91超碰在线免费观看| 亚洲激情亚洲| 黄色片网站免费| 日韩一区二区三区视频在线| 超碰在线cao| 相泽南亚洲一区二区在线播放| 国产一区二区视频在线| 国产精品99精品无码视| 亚洲人成在线观看网站高清| 亚洲精品66| 国产a级片网站| 中文字幕av一区二区三区| 亚洲第一色网站| 日韩免费观看在线观看| 亚洲精品成人无限看| 特级西西人体wwwww| 欧美日韩精品一区二区三区蜜桃| 色呦呦在线视频| 日韩精品无码一区二区三区| 国产精品白丝av| 中文字幕在线天堂| 欧美激情极品视频| 国产欧美日韩视频在线| 潘金莲一级淫片aaaaa| 欧美在线999| 182在线播放| 五月天男人天堂|