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

【分享】網絡自動化的項目實踐:場景、工具和方案

原創
網絡 通信技術 自動化
網絡自動化是針對一組網絡設備批量執行一連串的網絡操作。它可以歸納為三個組件:命令 + 操作 + 目標設備,適用于兩個場景。下面,我們一起來看。

【51CTO.com原創稿件】網絡自動化是針對一組網絡設備批量執行一連串的網絡操作。它可以歸納為三個組件:命令 + 操作 + 目標設備,適用于兩個場景。

場景1:針對既有網絡的操作和/或增量配置,提高重復性任務的效率。它又包括兩個方面(以思科設備為例):

  • 日常的enable mode操作,例如采集一組設備的設備信息,接口狀態和描述檢查,設備版本查驗,配置文件一致性驗證等。
  • 為現有網絡上平穩運行的多個設備提供具備共性的增量配置。例如新增或刪除一個授權登錄的帳號,統一修改AAA認證服務器/日志/Netflow/NTP服務器地址,更新SNMP Community string,統一關閉某個端口等。

場景2:針對新建大規模數據中心,提供快速部署。主要是基于一個基線配置模板,調用特定于設備的Location/Type/Role/Loopback等信息的變量文件,來動態創建完整的配置文件。

[[228164]]

一、流行的網絡自動化工具和手段

根據我個人的工作經驗和負責的項目,總結了如下幾個解決方案,并列舉了一些細節:

1. Cisco Prime Infrastructure,封閉系統,一個運行在虛擬服務器上的OVA文件。

  • 內置專有OS,提供專有的Shell界面,不是工業標準的Linux shell。
  • 無法獲知它的Inventory文件(CVS格式)/配置文件/模板/變量在系統中的保存位置。
  • 無法獲知它的系統采用什么腳本編寫,也無法修改實現個性化。
  • 系統不支持任何版本控制機制,無法將本地的配置文件Push到GitHub。
  • 內置封閉的Web daemon提供用戶GUI接口,采用Oracle DB但是用戶沒有DB root帳號和Prime 用戶帳號,即無法編輯修改數據庫文件。
  • Cicso PI是一個集網絡監測、日志服務、Netflow采集分析、配置備份和網絡自動化為一體的綜合系統,但是每一個單項拿出來都不如專門提供特定功能的系統強大,例如配置備份有RANCID,Syslog有Splunk, Netflow有Scrutinizer, 網絡監測有Observium/Nagios/Check_MK。

2. RANCID, 在我所在公司的部署中,是通過與Observium集成來實現的:

  • 通過RANCID自帶的腳本(generate-rancid.custom.php)讀取Observium inventory文件(和Linux server的/etc/hosts也有關聯)動態生成router.db,但是設備型號的描述粒度不夠細。
  • 版本控制采用CVS或SVN,與Git相比略顯老舊。
  • 通過clogin –c “show clock” “show version” ‘ls *aus*’命令來針對hostname中有‘aus’字符的所有網絡設備按順序執行一組enable模式操作。
  • 通過clogin –x commands.txt ‘ls *sv4*’命令來針對hostname中有‘sv4’字符的所有設備按順序執行一組配置命令。
  • 腳本執行過程中和用戶沒有交互,只能采用rancid自己的帳號登錄設備進行操作,審計功能弱。
  • 不如Python腳本調用command-set和device-group兩個Argument方便靈活。
  • 沒有異常處理機制(例如針對100臺設備進行批量操作,萬一第30臺設備因故障登錄失敗,腳本將停止)。

3. Ansible,發展之初更多地面向服務器進行自動化部署

(1) 實現復雜,引入很多新概念,包括如下:

  • Role/Playbook
  • Jinja2 template
  • Yaml grammar
  • Host Inventory
  • Engine/Modules/Plugins

(2) 一次Ansible操作的流程,可以顯示出完整的Ansible架構,如下圖:

Ansible架構

(3) 看似一條簡單的命令“Ansible-playbook templates.yaml”實際上需要四個input (tasks, hosts, jinja-template, vars),每個input都是特定于設備的,即每臺設備都有專門針對自己的四個參數,如果設備的數量不夠大,很可能維護變量/模板/Inventory等文件的精力要抵消自動化提高的效率。說通俗一點就是,我采用Ansible節省了30分鐘時間,但是我事先需要花2個小時準備相關的、需要被Ansible在執行過程中調用的基礎數據。

(4) 理論上更適合新建大規模數據中心的應用場景,網絡拓撲對稱且層次化,有規律可循。按照固定的Pattern來搭建,容易制定一個具有普適性的基線模板,只需為數不多的變量就可以生成不同site、type和role的設備配置文件。

(5) 由于我現在任職的公司主要是總部和分支機構之間的Corporation網絡,每個Remote site的組網原理類似Campus network,以其中一個分公司的LAN-Switch為例,共有57個個性化元素需要提取出來作為變量,工作量很大。其中的VLAN ID變量雖然只有6個,但是在288個接口上隨機分布,Jinca2模板必須為每個Interface預留VLAN ID變量的輸入;更復雜的是Interface description, 作為LAN-Switch我們需要對連接

WLC/VMW/NetApp/WAP/Zoom/Camera/Monitor系統的Port進行特別描述,但是46個接口描述變量在交換機的288個接口上也是隨機的,和其他分公司的LAN-Switch之間沒有共性,導致Ansible的變量文件幾近不可維護,花在維護變量和模版上的精力,遠遠大于自動化提高的效率。

4. 還有幾個技術方案我沒有深入研究,在NANOG會議資料中看到行業專家進行過權威陳述,摘要如下:

  • Python with NAPALM (Python module): 思科目前只支持IOS-XR,不適合企業網絡。
  • NETCONF/YANG: 12年前的IETF標準(RFC4741),截至目前只有JUNOS支持比較好。
  • XML via CLI: Schema:尚未標準化。
  • RESTful API: 工業標準還在制定中。
  • OpenFlow: 目前最新版本1.6,只有一個技術規范不足以支撐SDN生態(IETF有8000+ RFC)。

二、網絡和網絡之間的差異

上面論述了目前業界比較流行的幾種解決方案。首先我們要有這樣的共識:到目前為止網絡自動化尚沒有完美的解決方案。不同的業務模式和公司規模導致它的組網模式和組網技術差異很大。

另外,同樣是網絡,ISP網絡(以中國電信的ChinaNet為例)主要是覆蓋全國甚至全球的Backbone(由所有POP和傳送網組成),以及提供接入線路可延伸到千家萬戶的城域網組成;云計算提供商(以AWS為例)則主要是在世界各地建立自營的大型互聯網數據中心,利用租用ISP的波分或裸光纖實現所有IDC互聯;企業網絡則主要是由規模相對較小的Production backbone/IDC和用于公司總部、分部之間互聯的Corporation網絡構成。

現階段可行的方案

這三類網絡擁有者對網絡自動化的需求是不一樣的。沒有任何一種網絡自動化方案可以適應、解決所有網絡架構。我這里提出的可行方案,是基于我公司的網絡具體現實而推薦的。

我公司的網絡屬于企業網絡,有如下幾個特點:

  • 網絡結構穩定,變化不頻繁,平均每年新增一個分支機構。
  • 每次網絡的調整內容不復雜,Monitor由Solarwinds改為Observium后需要修改SNMP Community string, Netflow服務器由NFSEN改為Scrutinizer后需要修改Collector服務器地址。
  • 面向公眾的大型數據中心已經遷移到AWS,公司只維護一個用于企業內部服務(人事、法律、財務數據,和源代碼、郵件、AD/LDAP/RSA等)的小型Internal DC,網絡規模24個Rack, 不到40臺交換機。
  • 網絡由多個廠家設備組成,包括Cisco, Juniper, F5, CheckPoint等。

基于上面的分析,我們平時的網絡運營維護最大的特點是依次登錄多臺設備進行重復性的操作,或者是在現有網絡平穩運行的基礎上對部分功能進行增量配置。我們認為采用Python結合Netmiko模塊是切實可行的,滿足現階段我們的需求。

三、Python和Netmiko介紹

這個方案是我公司的Best current practice。

Python是業界很流行的腳本語言,可讀性強,模塊和函數豐富,在網絡自動化方面有很多活躍社區作出貢獻。

Netmiko是一個開源Python模塊,由Kirk Byers(https://pynet.twb-tech.com/) 維護,所有源代碼和腳本、JSON文件、技術文檔和應用范例都在GitHub上供借鑒和下載(https://github.com/ktbyers/netmiko) 。

Netmiko簡化了針對網絡設備的SSH管理功能,例如:

1. 支持不同廠家設備和同廠家不同平臺設備,成功建立SSH連接。

  • 基于Cisco和Juniper CLI的差異性,自動隱性輸入enable, conft。
  • 針對Cisco WLC,自動屏蔽login字符錄入。

2. 針對多廠家環境可順利執行Enable模式的所有操作并將設備的交互信息反饋到執行腳本的機器。

3. 針對多廠家環境可順利執行Configure模式的所有操作并將設備的交互信息反饋到執行腳本的機器。

基于上述特點,和我公司的具體需求,我們重點實現了場景1的網絡自動化,可以將自動化的實現高度提煉為如下的結構:

  1. Python script + command-set + device-group 

編制兩個Python腳本,名字為enable.py和configure.py,分別代表執行enable或configure模式下的腳本文件。每個腳本都可以調用兩個參數,一個是命令集(command-set)要執行的一組操作指令,另一個是設備組(device-group)即腳本要執行的對象。我們還優化了腳本,提供交互式的運行環境,用戶只需要鍵入腳本名稱,Python和Linux shell交互,自動詢問用戶需要執行哪組命令,用戶進行選擇后腳本自動詢問需要執行的目標設備,用戶再次進行選擇后Python按腳本順序執行,并將結果輸出到Linux服務器。

為了配合兩個不同腳本的執行,我們還制定了一些文件名稱約定,命令集本質上是txt文件,為了區分是enable還是configure模式,采用后綴名.enab和.conf來分別代表;Device-group必須采用Python字典數據結構,是JSON格式,可直接采用.json來代表。文件命名約定主要利于在Linux shell下與用戶交互時提供正確的輸出供用戶選擇。

腳本的執行環境是一臺Linux 服務器,安裝PIP和Netmiko, 腳本中調用json, netmiko, sys, signal, os等模塊/函數,實現需要的功能。此外import getpass實現通過用戶的AD帳號進行認證來登錄目標設備,并在Python輸出中隱藏用戶密碼。腳本中利用for loop來實現對命令集的逐行執行和設備集的逐個登錄。

以下是enable.py的源代碼:

  1. #!/usr/bin/env python 
  2.  
  3. from __future__ import absolute_import, division, print_function 
  4. from getpass import getpass 
  5. import json 
  6. import netmiko 
  7. #from netmiko import ConnectHandler 
  8. #from netmiko.cisco import CiscoIosBase (device type: "cisco_ios", "cisco_xe") 
  9. #from netmiko.cisco import CiscoIosBase (device type: "cisco_xe") 
  10. import sys 
  11. import signal 
  12. import os 
  13.  
  14. signal.signal(signal.SIGPIPE, signal.SIG_DFL)  # IOError: Broken pipe 
  15. signal.signal(signal.SIGINT, signal.SIG_DFL)  # KeyboardInterrupt: Ctrl-C 
  16.  
  17. def get_input(prompt=''): 
  18.     try: 
  19.         line = raw_input(prompt) 
  20.     except NameError: 
  21.         line = input(prompt) 
  22.     return line 
  23.  
  24. def get_credentials(): 
  25.     """Prompt for and return a username and password.""" 
  26.     username = get_input('Username(Please input your adm credentials): ') 
  27.     password = getpass() 
  28.     return username, password 
  29.  
  30. netmiko_exceptions = (netmiko.ssh_exception.NetMikoTimeoutException, 
  31.                       netmiko.ssh_exception.NetMikoAuthenticationException) 
  32.  
  33. username, password = get_credentials() 
  34.  
  35. os.system('find *.enab') 
  36. os.system('echo') 
  37. os.system('echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"') 
  38. commandfile = raw_input("Please select what command you want to run: \n") 
  39.  
  40. os.system('find *.json') 
  41. os.system('echo') 
  42. os.system('echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"') 
  43. devicegroup = raw_input("Please select what device-group you want to apply to: \n") 
  44.  
  45. with open(commandfile) as cmd_file: 
  46.     commands = cmd_file.readlines() 
  47.  
  48. with open(devicegroup) as dev_file: 
  49.     devices = json.load(dev_file) 
  50.  
  51. for device in devices: 
  52.     device['username'] = username 
  53.     device['password'] = password 
  54.     try: 
  55.         print('~' * 80) 
  56.         print('Connecting to device:', device['ip']) 
  57.         connection = netmiko.ConnectHandler(**device) 
  58.         for command in commands: 
  59.             print(connection.send_command(command)) 
  60.             """To keep 2 lines space between 2 devices""" 
  61.             print() 
  62.             print() 
  63.         connection.disconnect() 
  64.     except netmiko_exceptions as e: 
  65.         print('Failed to ', device['ip'], e) 

Python腳本一旦制定就不用頻繁更新,唯一需要維護的是command-set和device-group信息,因為每次的任務是不同的,包括需要批量執行的操作指令不同,每次需要對哪些設備進行操作也是特定于任務的。這就要求腳本的具體執行者需要對自己的操作編寫單獨的命令集和設備組文件。

例如我們要通過enable.py調用一組命令對lab中的所有設備依次執行,device-group的文件如下(Python字典文件,Json格式):

  1.     { 
  2.         "ip": "lab-wan-isr4431-1", 
  3.         "device_type": "cisco_xe" 
  4.     }, 
  5.     { 
  6.         "ip": "lab-wan-isr4431-2", 
  7.         "device_type": "cisco_xe" 
  8.     }, 
  9.     { 
  10.         "ip": "lab-wan-c3650-1", 
  11.         "device_type": "cisco_xe" 
  12.     }, 
  13.     { 
  14.         "ip": "lab-wan-c3650-2", 
  15.         "device_type": "cisco_xe" 
  16.     }, 
  17.     { 
  18.         "ip": "lab-lan-c3850ss-1", 
  19.         "device_type": "cisco_xe" 
  20.     } 

假定要對上面的每臺設備依次執行show clock命令,.enab的內容如下(txt格式):

  1. show clock 

執行結果將在執行此腳本的Linux服務器上,以STD1 方式輸出如下:

  1. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  2. Connecting to device: lab-wan-isr4431-1 
  3. 03:42:24.324 UTC Sat Apr 28 2018 
  4.  
  5. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  6. Connecting to device: lab-wan-isr4431-2 
  7. 03:42:29.472 UTC Sat Apr 28 2018 
  8.  
  9. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  10. Connecting to device: lab-wan-c3650-1 
  11. *03:40:15.780 UTC Sat Apr 28 2018 
  12.  
  13. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  14. Connecting to device: lab-wan-c3650-2 
  15. *03:42:05.544 UTC Sat Apr 28 2018 
  16.  
  17. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  18. Connecting to device: lab-lan-c3850ss-1 
  19. *03:42:45.277 UTC Sat Apr 28 2018 

這里的例子中,command-set只有一條show clock命令,實際上可以由多條CLI命令進行任意組合,非常靈活。我在項目中已經預先定義了一些命令集和設備組,連同Python腳本一并Push到GitHub Repository。同時在自己的Laptop上安裝了Pycharm IDE工具和GNS3網絡設備仿真環境,以及GitHub Desktop客戶端。利用這些工具,用戶可以在本地編輯腳本和配套文件,在虛擬網絡環境中驗證,并實現所有文檔的版本管理。

對于設備組的編寫我們最初希望能通過API或腳本的方式從現有網管系統自動Retrieve, 經過研究個人覺得暫時還不可行。我公司現有RANCID/PI/Observium/IPAM等幾套系統,首先是device-group的數據格式不一致,RANCID是TXT,PI是CVS, Observium是JSON,IPAM是專有格式。除了數據格式不同外,對Netmiko而言,最關鍵的信息是Device-type,這也是Netmiko支持跨平臺多廠家的最大優勢所在,都是通過對設備類型的明確指定來指導SSH登錄設備后的操作細節。

前述的幾個系統要么沒有指定設備類型(例如PI默認就只是Cisco, IPAM對設備類型根本不關注,Observium系統不對設備進行控制無需SSH登錄因此也沒有設備類型信息),要么設備類型信息粒度粗(RANCID對思科設備只有Cisco一類,但實際上思科設備可細分為IOS-XE, NX-OS, IOS-XR和IOS)。基于此,我們目前放棄了自動創建Device-group字典文件的想法。退一步講,即使我們通過腳本來自動創建一個json格式的device-group,我們仍然需要手工指定哪些設備歸屬到哪個組里面,人工參與程度并未降低,提高的效率有限。

四、其他需要考慮的問題

綜上所述,就是我們公司現在已經實現的網絡自動化。由于網絡新增站點不頻繁,一年新增一處,對這種新增網絡的部署,也暫時決定不采用Ansible/Jinca2/Task/Variable來實現,主要是不值得,我們有更簡單快捷的方式:拿一個現有站點的配置文件作為模板,對個性化的元素例如主機名、環回地址、SNMP location, BGP peer, OSPF area, Interface IP等進行修改,灌入設備,運抵現場,上電開通即可,不需要簡單問題復雜化。

另外要認識到,網絡自動化第一宗旨是提高效率,對全網只有有限數量的VPN網關,只設置在數據中心的LB,每個Site安全策略不具備共性的FW,沒有必要實行網絡自動化。

最后一點,我本人對網絡自動化還有些顧慮,就是潛在的風險。畢竟一個腳本是對一組設備執行一系列操作,萬一命令集配置有誤,有可能導致全網癱瘓。目前還沒有很完善的回退機制,一旦發生將是災難性的結果。這也是為什么我在筆記本上安裝GNS3的原因,每次需要進行驗證,確保無誤后才能執行。配套的管理流程也需要跟上,在Change工單上需要提交命令集和設備組的詳細信息,以備萬一需要回退,確定知道在哪些設備上回退哪些操作。

以上是結合我本人的工作實踐和項目研究總結的心得,網絡自動化是網絡行業的趨勢,網絡工程師無論喜歡與否,在大趨勢面前也只能順勢而為,否則就有被淘汰的危險。技術方案還在不斷進步,未來會有新的發展,即使是現有的手段,不同的公司也會有不同的推薦和實現,希望我的文章能起到拋磚引玉的作用,我也非常希望和同行業的專家交流,對文章中內容有不同觀點歡迎提出指正,相互學習,共同提高。

[[228165]]

胡捷,在國內曾經任職中國網通(CNC)、Verizon、Juniper 和中國電信。參與過中國電信 CN2 項目技術方案編寫和城域網優化改造項目,以及中國電信 IPv6 研究和現網試驗。2014 年 6 月至今在舊金山一家互聯網公司從事網絡工程師職業。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

責任編輯:趙寧寧 來源: 51CTO.com
相關推薦

2013-07-02 10:45:38

2013-11-27 11:34:43

自動化部署Python

2021-09-07 09:00:00

開發測試工具

2022-07-22 14:45:46

SDKVolcRTC內存優化

2019-10-28 15:14:53

Python腳本語言Java

2021-09-03 09:56:18

鴻蒙HarmonyOS應用

2012-12-24 22:54:31

2010-12-06 09:35:27

網絡自動化

2010-12-06 09:59:58

2020-03-31 10:58:35

網絡自動化SD-WAN軟件定義網絡

2023-03-29 08:33:03

倉儲自動化系統

2021-08-04 08:27:00

VueReact自動化部署

2022-05-26 10:13:22

C/C++GCC插件單元測試

2014-12-12 14:28:31

網絡掃描AutoScan-Ne

2022-09-12 16:02:32

測試企業工具

2017-10-31 15:19:24

支付通道自動化

2021-04-28 16:49:27

自動化設備制藥

2021-11-29 18:11:33

自動化現代化網絡優化

2014-03-11 11:10:10

PowerShell自動化腳本

2020-11-04 09:00:00

自動化測試回歸測試軟件測試
點贊
收藏

51CTO技術棧公眾號

不卡的av网站| 色婷婷综合网| 欧美日韩在线影院| 久久亚裔精品欧美| 欧美日韩 一区二区三区| 欧美电影一区| 精品成人a区在线观看| 99精品免费在线观看| 日本美女在线中文版| 国产成人亚洲综合a∨婷婷图片 | 2024最新电影在线免费观看| 粉嫩欧美一区二区三区高清影视| 青青精品视频播放| 欧美日韩午夜视频| 日日狠狠久久偷偷综合色| 日本高清不卡在线观看| 国产激情在线看| 久久精品a一级国产免视看成人| 精品一区二区三区免费播放| 久久久这里只有精品视频| 天天摸日日摸狠狠添| 91国内精品| 精品视频在线免费| 69sex久久精品国产麻豆| 午夜视频成人| 国产亚洲短视频| 粉嫩高清一区二区三区精品视频| 波多野结衣在线电影| 精品成人久久| 久久影视免费观看| 男人操女人动态图| 国产66精品| 欧美一区二视频| 日韩一区二区三区视频在线观看| 日韩精品国内| 欧美一区二区三区成人片在线| 日韩va亚洲va欧美va久久| 欧美极品美女视频网站在线观看免费| 一级在线观看视频| 美日韩中文字幕| 精品成人免费观看| 中文字幕久久久久久久| 久久91视频| 色婷婷av一区二区三区gif| av网站大全免费| 97caopor国产在线视频| 国产精品毛片高清在线完整版| 久久久久久久久久久一区| 国产成人无码www免费视频播放| 久久er99精品| 国产欧美日韩中文字幕| av手机天堂网| 丝袜诱惑制服诱惑色一区在线观看 | 99免费视频观看| 欧美xxxhd| 五月激情综合色| 和岳每晚弄的高潮嗷嗷叫视频| av网站大全在线| 国产精品国产精品国产专区不蜜| 欧美国产视频在线观看| 亚洲av成人无码久久精品老人| 成人午夜大片免费观看| www.久久草| 亚洲免费黄色片| 成人精品国产一区二区4080| 岛国视频一区免费观看| 亚洲av无码乱码国产麻豆| 国产精品自产自拍| 国产成人亚洲欧美| 欧美熟妇另类久久久久久不卡 | 国产在线精品一区免费香蕉 | 99精品全国免费观看视频软件| 91精品国产91久久久久久一区二区| 国产成人美女视频| 成人污污www网站免费丝瓜| 91精品国产色综合久久不卡蜜臀 | 国产精品久久久久久久妇| 亚洲第一黄网| 91sao在线观看国产| 国产午夜免费福利| 三级一区在线视频先锋 | 日韩亚洲欧美成人| 91精品一区二区三区蜜桃| 欧美在线网站| 国内外成人免费激情在线视频网站| 国产污视频在线观看| 国产精品日韩精品欧美精品| 日本电影亚洲天堂| 伊人网免费视频| 国产精品一区二区在线播放| 国产欧美日韩一区| 国产亚洲依依| 亚洲色欲色欲www在线观看| 成人高清dvd| 免费看男女www网站入口在线| 一本色道久久加勒比精品| 一区二区三区入口| 99香蕉久久| 国产一区二区动漫| 欧美日韩免费一区二区| 亚洲欧美清纯在线制服| 91免费看片在线| 亚洲av成人精品日韩在线播放| 国产免费观看久久| 成人午夜免费在线视频| 吉吉日韩欧美| 日韩一区二区麻豆国产| 国内精品久久99人妻无码| 日韩精品电影| 555www成人网| 国产精品嫩草影院桃色| 国产精品极品美女在线观看| 亚洲精选免费视频| 女性隐私黄www网站视频| 3d动漫一区二区三区在线观看| 亚洲成人久久久久| 美女福利视频网| 日韩午夜av| 91久久久在线| 国产在线视频网站| 亚洲va欧美va国产va天堂影院| 中文字幕永久视频| 久久中文字幕导航| 久久综合久久八八| 波多野结衣日韩| 成人深夜福利app| 一区二区成人国产精品| 亚洲精品中文字幕| 日韩精品一区二区三区蜜臀| 青青青手机在线视频| 亚洲欧美日本日韩| 韩国成人一区| 青草视频在线免费直播| 在线播放国产精品二区一二区四区 | 麻豆国产尤物av尤物在线观看| 日韩精品亚洲一区二区三区免费| 国产专区一区二区| bestiality新另类大全| 欧美日韩国产精品自在自线| 国产熟妇久久777777| 亚洲精品三级| 好看的日韩精品| 欧美野外wwwxxx| 日韩欧美成人激情| 全网免费在线播放视频入口| 久久国产剧场电影| 视频二区一区| 日韩色淫视频| 中文字幕精品网| 日韩精品在线一区二区三区| 91麻豆国产自产在线观看| 国产日本在线播放| 老司机成人在线| 7777精品视频| 日中文字幕在线| 狠狠做深爱婷婷久久综合一区 | 欧洲精品在线播放| 欧美综合社区国产| 久久精品2019中文字幕| 亚洲综合五月天婷婷丁香| 国产精品丝袜91| 岛国毛片在线播放| 亚洲国产不卡| 97久久夜色精品国产九色| 岛国成人毛片| 日韩天堂在线观看| 国产一级免费av| 成人18视频在线播放| 99精品人妻少妇一区二区| 美女毛片一区二区三区四区最新中文字幕亚洲| 欧美一区二区三区精品电影| 暖暖视频在线免费观看| 在线观看一区不卡| 999久久久国产| 国产一区二区美女| 全黄性性激高免费视频| 欧洲亚洲视频| 国产精品久久91| a级片国产精品自在拍在线播放| 日韩欧美在线一区二区三区| 国产91av视频| 国产亚洲综合在线| 五月天av在线播放| 欧美破处大片在线视频| 国产精品三区www17con| 欧美大片免费| 久久久国产精品一区| 色丁香婷婷综合久久| 色国产精品一区在线观看| 大吊一区二区三区| 成人午夜私人影院| 精品久久久久久无码国产| 99精品视频在线观看免费播放| www 成人av com| 美女写真久久影院| 久久电影一区二区| 欧美套图亚洲一区| 日韩一区二区三区观看| 久草视频在线观| 国产精品高潮久久久久无| 少妇熟女视频一区二区三区| 久久九九精品| 2022中文字幕| 国产欧美日韩精品一区二区免费| 18成人在线| 亚洲日本在线观看视频| 欧美日韩裸体免费视频| 欧美日韩dvd| 免费av一区二区三区四区| 亚洲一区二区中文字幕| 肉色欧美久久久久久久免费看| 久久亚洲影音av资源网| 日本一级在线观看| 日韩精品一区二区三区视频播放| 高潮无码精品色欲av午夜福利| 樱桃视频在线观看一区| 波多野结衣a v在线| 国产**成人网毛片九色| 在线观看的毛片| 亚洲综合精品| 欧美狂野激情性xxxx在线观| 欧美男男gaytwinkfreevideos| 97视频资源在线观看| 国产麻豆一区| 青青a在线精品免费观看| 黄色在线看片| 欧美成年人视频网站| h视频在线免费| 日韩精品视频免费在线观看| www.xxx国产| 3d动漫精品啪啪| 中文字幕丰满人伦在线| 欧美日韩中文字幕在线视频| 国产一级在线视频| 亚洲精品视频一区二区| 激情无码人妻又粗又大| 国产午夜精品久久久久久免费视 | 性高湖久久久久久久久aaaaa| 色综合久久网| 色大师av一区二区三区| 亚洲精品无吗| 欧美不卡在线一区二区三区| 国产精品调教视频| 成人av男人的天堂| 亚洲高清在线一区| 99re视频在线| 永久免费精品视频| 97se国产在线视频| 视频一区国产| 成人欧美一区二区三区视频xxx| 国产激情一区| 97久久精品午夜一区二区| 视频在线一区| 国产精品成人观看视频免费| aaa国产精品视频| 不卡视频一区| 久久国产精品免费精品3p| 激情欧美一区二区三区中文字幕| 粉嫩久久久久久久极品| 久久草.com| 日韩黄色片网站| 亚洲欧美日韩久久精品| 国产女人18水真多毛片18精品| 亚洲人精品一区| 久久久久久久久艹| 同产精品九九九| 欧美一区二区三区网站| 色婷婷综合五月| 中文字幕无码乱码人妻日韩精品| 欧美性受极品xxxx喷水| 97超碰国产在线| 日韩一级二级三级| 色一情一乱一区二区三区| 亚洲精品国产拍免费91在线| 黄色av网址在线免费观看| 在线亚洲国产精品网| 蜜芽在线免费观看| 欧美精品福利视频| 美女福利一区二区| 成人激情视频小说免费下载| 91精品日本| 蜜桃臀一区二区三区| 欧美色图激情小说| 超级碰在线观看| 亚洲影视在线| 欧美第一页浮力影院| 成人综合婷婷国产精品久久蜜臀 | 国产女人高潮毛片| 亚洲国产精品99久久| 第一福利在线| 国产999精品久久| 一区二区三区av在线| 欧美私人啪啪vps| 热久久精品国产| 国产一区久久久| 性久久久久久久久久| 最新热久久免费视频| 亚洲一区欧美在线| 欧美疯狂性受xxxxx喷水图片| 黄色av网址在线| 在线日韩精品视频| 超碰中文在线| 成人午夜小视频| 免费福利视频一区| 在线国产伦理一区| 亚洲在线一区| 久久av一区二区三| 国产精品久久久久久福利一牛影视| 国产精久久久久久| 欧美日韩小视频| 天天av综合网| 精品少妇一区二区30p| 91tv亚洲精品香蕉国产一区| 精品视频高清无人区区二区三区| 欧美成人激情| 精品久久久久久久无码| 成人久久久精品乱码一区二区三区| 中文字幕亚洲在线| 在线免费av电影| 欧美一区二区三区精品电影| 日韩精品久久久久久久软件91| 色女人综合av| 免费日韩精品中文字幕视频在线| 国产女同无遮挡互慰高潮91| 欧美激情在线一区二区| 在线天堂中文字幕| 日韩精品中文字幕一区二区三区 | 免费在线观看毛片网站| 国产成人免费在线| 美女三级黄色片| 欧美亚洲精品一区| 免费动漫网站在线观看| 国语自产精品视频在免费| 精品国产一级| 在线视频精品一区| 日韩成人午夜精品| brazzers精品成人一区| 欧美色图在线视频| 亚州av在线播放| 久久免费观看视频| 大陆精大陆国产国语精品| 亚洲区成人777777精品| 久久精品久久99精品久久| 久久久久久成人网| 欧美性受xxxx| 午夜国产福利在线| 成人信息集中地欧美| 久久久久久久久久久久久久| 日韩在线不卡一区| 综合久久一区二区三区| 97视频免费在线| 欧美成人精品在线视频| 视频精品一区二区三区| 久久手机在线视频| 成人avav影音| 五月天激情四射| 揄拍成人国产精品视频| 欧美videos粗暴| 在线观看欧美亚洲| 国产精品一二三| 免费观看一级视频| 日韩av一区二区在线观看| 日韩欧美一中文字暮专区| 免费h精品视频在线播放| 久久精品主播| 亚洲色图27p| 日韩精品一区二区三区四区视频| 丁香花视频在线观看| 精品蜜桃传媒| 日韩国产精品久久久| 蜜桃av.com| 日韩欧美一区在线观看| 国产高清视频色在线www| 蜜桃成人在线| 精品综合久久久久久8888| 一级一片免费播放| 亚洲精品乱码日韩| 亚洲人成人77777线观看| 国产在线不卡视频| 日韩三级小视频| 亚洲一区www| 精品中文字幕一区二区三区四区| 搞av.com| 中文字幕免费不卡| 午夜免费福利视频| 秋霞午夜一区二区| 婷婷久久国产对白刺激五月99| fc2成人免费视频| 欧美在线综合视频| 性直播体位视频在线观看| 免费国产一区| 国产一区二区导航在线播放| 日韩 国产 在线| 日韩在线视频网站| 日本免费精品| 人人干人人视频| 亚洲自拍偷拍麻豆| av在线首页| 好吊色欧美一区二区三区四区 | 天天干天天摸天天操|