国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Ansible常用模塊介紹和使用

開發 前端
shell模塊和command模塊比較類似,但是shell被大家稱為萬能模塊,很多操作command不支持,但是shell卻支持。注意最后一種情況shell模塊也是不支持的。但是可以將命令寫在一個腳本,將腳本拷貝到遠端執行,然后執行shell模塊獲取結果。


一、簡介

前面我們介紹了,ansible能作為自動化配置管理,其實是由ansible的多種多樣的模塊來實現的。截止目前,ansible的模塊已經高達3000+之多。但是個人在日常工作中,比較常見的大約20多個。下面我就大概介紹一些常見常用的模塊。

二、invenroty清單文件

# cat /etc/ansible/hosts
[websrvs]
10.10.108.[30:33]

[dbsrvs]
10.10.108.30

[appsrvs]
10.10.108.[30:33]

三、常用模塊

3.1 ping 模塊

ping模塊執行成功后,會給你返回綠色的消息,并且有一個pong響應。all代表所有被管理的主機。

[root@ayunw ansible-example]# ansible dbsrvs -m ping
10.10.108.30 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}

[root@ayunw ansible-example]# ansible all -m ping
10.10.108.30 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
10.10.108.32 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
10.10.108.31 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
10.10.108.33 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}

3.2 command 模塊

因為ansible的默認模塊是command,所以這里可以使用 -m 指定模塊名 command,也可以直接省略。

[root@ayunw ansible-example]# ansible dbsrvs -m command -a "free -m"
10.10.108.30 | CHANGED | rc=0 >>
total used free shared buff/cache available
Mem: 7821 395 7110 16 314 7179
Swap: 4095 0 4095

[root@ayunw ansible-example]# ansible dbsrvs -a "free -m"
10.10.108.30 | CHANGED | rc=0 >>
total used free shared buff/cache available
Mem: 7821 395 7111 16 314 7179
Swap: 4095 0 4095

3.3 shell模塊

shell模塊和command模塊比較類似,但是shell被大家稱為萬能模塊,很多操作command不支持,但是shell卻支持。注意最后一種情況shell模塊也是不支持的。但是可以將命令寫在一個腳本,將腳本拷貝到遠端執行,然后執行shell模塊獲取結果。

[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "touch /tmp/a.txt"
[WARNING]: Consider using the file module with state=touch rather than running 'touch'. If you need to use command because file is insufficient you can add 'warn: false' to
this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.
10.10.108.30 | CHANGED | rc=0 >>

[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "ls -al /tmp/ | grep 'a.txt'"
10.10.108.30 | CHANGED | rc=0 >>
-rw-r--r--. 1 root root 0 Aug 9 09:37 a.txt

[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "ls -al /tmp/ | grep "a.txt""
10.10.108.30 | CHANGED | rc=0 >>
-rw-r--r--. 1 root root 0 Aug 9 09:37 a.txt

# 會報錯,shell萬能模塊也不支持這種方式
[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "cat /etc/passwd |awk -F ':' '{print $1,$3}' >> /tmp/pwd.txt"
10.10.108.30 | FAILED | rc=1 >>
awk: cmd. line:1: {print ,}
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: {print ,}
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: {print ,}
awk: cmd. line:1: ^ unexpected newline or end of stringnon-zero return code

注意: 你可能會注意到上面出現了WARNING?警告。這不是報錯,它只是告訴你,應該選擇file?模塊進行創建文件的操作會更好,而不是使用shell?模塊操作。當然它還告訴你可以在ansible.cfg?配置文件中設置command_warnings=False以關閉警告。

3.4 copy 模塊

從ansible管理節點拷貝文件到遠程主機。

[root@ayunw ansible-example]# cat getPasswd.sh
#!/bin/bash
# -*- Author -*- : ayunw

cat /etc/passwd |awk -F ':' '{print $1}'

[root@ayunw ansible-example]# ansible dbsrvs -m copy -a "src=getPasswd.sh dest=/usr/local/src/ mode=0755 owner=root group=root"
10.10.108.30 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"checksum": "ce9c09f15cb6f62b550f819276d06b0e6cd59110",
"dest": "/usr/local/src/getPasswd.sh",
"gid": 0,
"group": "root",
"mode": "0755",
"owner": "root",
"path": "/usr/local/src/getPasswd.sh",
"secontext": "system_u:object_r:usr_t:s0",
"size": 54,
"state": "file",
"uid": 0
}

# 默認目標節點存在文件會覆蓋,所以最好設置 backup=yes
[root@ayunw ansible-example]# ansible dbsrvs -m copy -a "src=getPasswd.sh dest=/usr/local/src/ mode=0755 owner=root group=root backup=yes"

[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "ls -al /tmp/ | grep 'getPasswd.sh'"
10.10.108.30 | CHANGED | rc=0 >>
-rw-r--r--. 1 root root 54 Aug 9 09:50 getPasswd.sh

[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "cat /tmp/getPasswd.sh"
10.10.108.30 | CHANGED | rc=0 >>
#!/bin/bash
cat /etc/passwd |awk -F ':' '{print $1}'

[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "bash /usr/local/src/getPasswd.sh"
10.10.108.30 | CHANGED | rc=0 >>
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
sshd
postfix

# 拷貝目錄下所有文件到遠程,不包括目錄本身。文件多了以后,速度會非常慢
[root@ayunw ansible-example]# ansible dbsrvs -m copy -a "src=/etc/ansible/ dest=/opt/"
10.10.108.30 | CHANGED => {
"changed": true,
"dest": "/opt/",
"src": "/etc/ansible/"
}

3.5 fetch 模塊

從遠程主機獲取文件到ansible管理節點,但是不支持目錄操作

[root@ayunw ansible-example]# ansible dbsrvs -m fetch -a "src=/etc/yum.repos.d/epel.repo dest=/usr/local/src"
10.10.108.30 | CHANGED => {
"changed": true,
"checksum": "2feedd589b72617f03d75c4b8a6e328cc1aad918",
"dest": "/usr/local/src/10.10.108.30/etc/yum.repos.d/epel.repo",
"md5sum": "bddf35db56cf6be9190fdabeae71c801",
"remote_checksum": "2feedd589b72617f03d75c4b8a6e328cc1aad918",
"remote_md5sum": null
}

[root@ayunw ansible-example]# ls -al /usr/local/src/10.10.108.30/etc/yum.repos.d/
total 4
drwxr-xr-x. 2 root root 23 Aug 11 15:05 .
drwxr-xr-x. 3 root root 25 Aug 11 15:05 ..
-rw-r--r--. 1 root root 664 Aug 11 15:05 epel.repo

3.6 file 模塊

# 創建軟連接
[root@ayunw ansible-example]# ansible test -m file -a 'src=/etc/passwd path=/tmp/passwd.link state=link'

# 查看剛創建的/tmp下的軟連接
[root@ayunw ansible-example]# ansible all -m shell -a 'ls -l /tmp/passwd.link'

# 創建文件。如果文件已經存在,則會更新文件的時間戳
[root@ayunw ansible-example]# ansible all -m file -a 'name=d.txt state=touch'

# 刪除文件
[root@ayunw ansible-example]# ansible test -m file -a 'path=/tmp/cc.txt state=absent'

# 創建目錄(可以遞歸創建,直接加上文件名即可)
# 如果state=directory,那么如果目錄不存在,那么所有的子目錄將被創建(而且提供權限的創建),如果目錄# 已經存在,則不進行任何操作。如果state=file,文件將不會被創建
[root@ayunw ansible-example]# ansible test -m file -a 'path=/tmp/bj state=directory'

# 刪除目錄(可以遞歸刪除,無需任何參數,直接加上)
[root@ayunw ansible-example]# ansible test -m file -a 'path=/tmp/bj state=absent'

# 修改文件權限等屬性
[root@ayunw ansible-example]# ansible test -m file -a 'path=/tmp/bb.txt mode=700 owner=root group=root'

# 遞歸授權目錄權限
ansible dbsrvs -m file -a "path=/data owner=bgx group=bgx recurse=yes"

3.7 hostname 模塊

管理遠程主機上的主機名

# 查看主機名
[root@ayunw ansible-example]# ansible test -m shell -a 'hostname'

# 更改主機名
[root@ayunw ansible-example]# ansible test -m hostname -a 'name=master'

3.8 yum 模塊

# 安裝一個httpd服務,默認安裝最新版
# 使用state=present來安裝,多個包用','分割
[root@ansible-server ~]# ansible dbsrvs -m yum -a 'name=httpd'

[root@ayunw ansible-example]# ansible test -m yum -a 'name=httpd state=present'

# 檢查是否安裝成功
[root@ansible-server ~]# ansible dbsrvs -a 'rpm -qi httpd'

3.9 cron 模塊

# 創建計劃任務
[root@ayunw ansible-example]# ansible test -m cron -a 'minute=*/5 name=Ajob job="/usr/sbin/ntpdate 172.16.8.100 &> /dev/null" state=present'
[root@ayunw ansible-example]# ansible dbsrvs -m cron -a "minute=* hour=* day=* month=* weekday=* job='/bin/sh test.sh'"
[root@ayunw ansible-example]# ansible dbsrvs -m cron -a "job='/bin/sh /server/scripts/test.sh'"

# 設置定時任務注釋信息,防止重復,name設定
ansible dbsrvs -m cron -a "name='cron01' job='/bin/sh /server/scripts/test.sh'"

# 注釋相應定時任務,使定時任務失效
ansible dbsrvs -m cron -a "name='ansible cron01' minute=0 hour=0 job='/bin/sh test.sh' disabled=yes"

# 刪除相應定時任務(怎么創建的就要怎么刪除)
[root@ayunw ansible-example]# ansible test -m cron -a 'minute=*/5 name=Ajob job="/usr/sbin/ntpdate 172.16.8.100 &> /dev/null state=absent"'

# 查看計劃任務
[root@ayunw ansible-example]# ansible test -m shell -a "crontab -l"
172.16.20.115 | SUCCESS | rc=0 >>
#Ansible: Ajob
*/5 * * * * /usr/sbin/ntpdate 172.16.8.100 &> /dev/null

# 刪除任務計劃
[root@ayunw ansible-example]# ansible test -m shell -a "crontab -r"

3.10 service 模塊

用來管理服務器上的服務

# 利用ansible的yum模塊安裝一個nginx
[root@ayunw ansible-example]# ansible test -m yum -a 'name=nginx state=present'

# 啟動nginx
[root@ayunw ansible-example]# ansible test -m shell -a '/etc/init.d/nginx start'

# 或者利用ansible的service模塊(推薦)
[root@ayunw ansible-example]# ansible test -m service -a 'name=nginx state=started'

# 查看狀態
[root@ayunw ansible-example]# ansible test -m shell -a 'service nginx status'
[WARNING]: Consider using service module rather than running service

# 停止nginx服務
[root@ayunw ansible-example]# ansible test -m service -a 'name=nginx state=stopped'
[root@ayunw ansible-example]# ansible test -m shell -a 'service nginx status'
[WARNING]: Consider using service module rather than running service

[root@ayunw ansible-example]# ansible test -m service -a 'name=nginx state=started enabled=yes runlevel=2345'

[root@ayunw ansible-example]# ansible test -m shell -a 'chkconfig --list nginx'

3.11 group 模塊

用于添加遠程主機上的組

[root@ayunw ansible-example]# ansible test -m group -a 'name=hr gid=2000 state=present'

3.12 user 模塊

管理遠程主機上的用戶的賬號

# 創建用戶指定uid和gid,不創建家目錄也不允許登陸
ansible dbsrvs -m user -a "name=ayunw uid=888 group=888 shell=/sbin/nologin create_home=no"
[root@ayunw ansible-example]# ansible dbsrvs -m user -a 'name=martin group=hr groups=root uid=500 shell=/bin/bash home=/home/martin comment="martin user"'

# 刪除用戶
[root@ayunw ansible-example]# ansible dbsrvs -m user -a 'name=martin state=absent remove=yes'

# 給新創建的用戶生成ssh密鑰對
ansible dbsrvs -m user -a "name=oo uid=6677 group=adm generate_ssh_key=yes ssh_key_bits=2048 ssh_key_file=.ssh/id_rsa" -i ./hosts

# 將明文密碼進行hash加密,然后進行用戶創建
ansible dbsrvs -m debug -a "msg={{ '123456' | password_hash('sha512', 'salt') }}"

3.13 setup 模塊

可收集遠程主機的facts變量的信息,相當于收集了目標主機的相關信息(如內核版本、操作系統信息、cpu、…),保存在ansible的內置變量中,之后我們有需要用到時,直接調用變量即可.這在ansible-playbook 中很有用。

[root@ayunw ansible-example]# ansible dbsrvs -m setup

# 使用setup獲取ip地址以及主機名使用filter過濾
ansible dbsrvs -m setup -a 'filter=ansible_default_ipv4'
# 獲取內存信息
ansible dbsrvs -m setup -a 'filter=ansible_memory_mb'

# 獲取主機名
ansible dbsrvs -m setup -a 'filter=ansible_nodename'

# 僅顯示與ansible相關的內存信息
ansible dbsrvs -m setup -a 'filter=ansible_*_mb'

3.14 authorized_key模塊

為特定的用戶賬號添加或刪除 SSH authorized keys

# 方法一
ansible web -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub')}}' path=/root/.ssh/authorized_keys manage_dir=no"

# 方法二、
vim pub_ssh_key.yml
---
- hosts: webs
remote_user: osmgr
become: yes
become_user: root
become_method: sudo
tasks:
- name: deliver authorized_keys
authorized_key:
user: osmgr
key: "{{ lookup('file', '/home/osmgr/.ssh/id_rsa.pub') }}"
state: present

ansible-playbook pub_ssh_key.yml

3.15 synchronize 模塊

使用rsync 模塊,系統必須安裝rsync 包,否則無法使用這個模塊

ansible dbsrvs -m shell -a 'yum -y install rsync'

ansible web -m synchronize -a 'src=time.sh dest=/tmp/'

3.16 lineinfile 模塊

正則匹配,更改某個關鍵參數值。比如這里修改SELINUX的值

ansible dbsrvs -a 'cat /etc/selinux/config | grep ^SELINUX=' 

ansible dbsrvs -m shell -a 'cat /etc/selinux/config|grep "^SELINUX="'
10.10.108.30 | CHANGED | rc=0 >>
SELINUX=enforcing

# 通過lineinfifle模塊修改SELinux的配置信息,改為disable
ansible dbsrvs -m lineinfile -a "path=/etc/selinux/config regexp='^SELINUX=' line='SELINUX=disabled'"

# 或者是使用ansible-playbook
vim set_selinux_disable.yml
---
- hosts: dbsrvs
tasks:
- name: seline modify enforcing
lineinfile:
dest: /etc/selinux/config
regexp: '^SELINUX='
line: 'SELINUX=enforcing'

# 刪除/etc/fstab文件中以#號開頭的行
ansible dbsrvs -m lineinfile -a "dest=/etc/fstab state=absent regexp='^#'"

3.17 replace 模塊

和 sed 命令比較類似,用于正則匹配和替換

# 查看遠端節點的 /etc/fstab 源文件
[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "cat /etc/fstab"
10.10.108.30 | CHANGED | rc=0 >>

#
# /etc/fstab
# Created by anaconda on Tue Jul 5 14:09:37 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=c47c20e8-8ed5-4d86-9209-f0e8876bb9e6 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0

# 使用replace模塊
[root@ayunw ansible-example]# ansible dbsrvs -m replace -a "path=/etc/fstab regexp=^(UUID.*) replace='#\1'"
10.10.108.30 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"msg": "1 replacements made"
}

# 查看結果
[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "cat /etc/fstab"
10.10.108.30 | CHANGED | rc=0 >>

#
# /etc/fstab
# Created by anaconda on Tue Jul 5 14:09:37 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
#UUID=c47c20e8-8ed5-4d86-9209-f0e8876bb9e6 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0

# 將注釋的UUID信息恢復
ansible dbsrvs -m replace -a "path=/etc/fstab regexp='^#(.*)' replace='\1'"

[root@ayunw ansible-example]# ansible dbsrvs -m shell -a "cat /etc/fstab"
10.10.108.30 | CHANGED | rc=0 >>


/etc/fstab
Created by anaconda on Tue Jul 5 14:09:37 2022

Accessible filesystems, by reference, are maintained under '/dev/disk'
See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

/dev/mapper/centos-root / xfs defaults 0 0
UUID=c47c20e8-8ed5-4d86-9209-f0e8876bb9e6 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0

參數說明:

  • \1:表示引用前面的小括號內容
責任編輯:武曉燕 來源: 運維開發故事
相關推薦

2024-11-01 10:30:05

2022-11-23 14:13:03

Ansible條件判斷

2022-11-24 06:58:44

Ansible

2010-03-12 15:13:41

Python常用模塊

2021-09-24 09:30:05

os.path模塊Python

2010-03-22 10:27:28

Python常用模塊I

2025-01-08 07:38:39

setup模塊Ansible網絡

2010-03-22 15:38:46

Python常用模塊

2025-01-16 08:13:43

commandshell模塊Ansible

2009-07-14 17:21:14

Jython方法

2020-01-02 19:00:05

AnsibleGitHubGitLab

2025-05-26 10:05:00

Ansible模塊自動化

2010-02-02 09:49:02

C++模板

2011-05-23 16:50:12

python

2022-11-25 07:59:02

SpringJava

2020-10-29 10:17:24

AnsibleKubernetes容器編排自動化

2023-03-02 07:37:53

2023-12-11 18:15:46

AnsibleMinikubeKubernetes

2021-08-30 06:27:21

工具容器Docker

2009-07-07 16:05:15

Servlet和Jav
點贊
收藏

51CTO技術棧公眾號

中文在线资源观看网站视频免费不卡| 7777久久香蕉成人影院| 国产福利亚洲| 欧美精品一区视频| 欧美三级一级片| 123成人网| 欧美在线观看一区二区| 欧美高清hd18日本| 亚洲人在线观看| yiren22综合网成人| 国产日韩精品一区二区浪潮av| 欧美日韩在线精品| 天天天综合网| 国语自产偷拍精品视频偷| 超碰国产一区| 欧美一区二区在线观看| 一色桃子在线| 亚洲视频每日更新| 免费观看成人在线视频| 高清不卡一区二区| 少妇特黄a一区二区三区| 欧美视频导航| 成人午夜小视频| 欧美色图国产精品| 97色在线视频观看| youjizzjizz亚洲| 久久亚洲综合国产精品99麻豆精品福利| 丁香花在线电影小说观看| 欧美日韩在线播| 日韩三级电影网| 午夜久久久久久久久| 成年人免费看的视频| 国产精品久久久久影院| 成人性生生活性生交12| 久久午夜羞羞影院免费观看| 8v天堂国产在线一区二区| 五十度飞在线播放| 久久综合另类图片小说| 日韩一区二区在线观看视频播放| 亚洲在线免费视频| 女同视频在线观看| 国产一区激情| 国产精品av在线播放| av网站导航在线观看免费| 亚洲美女啪啪| 亚洲网友自拍偷拍| 精品麻豆av| 巨大荫蒂视频欧美另类大| 日韩成人av在线资源| 亚洲国产岛国毛片在线| 亚洲精品mp4| 91猫先生在线| 欧美激情综合在线| 亚洲 国产 欧美一区| 男人的天堂亚洲在线| 日本一区二区三区视频免费看| 一区二区日本视频| 亚欧洲精品在线视频免费观看| 久久电影网电视剧免费观看| 国产精品h视频| 成人av在线网| 日韩精品你懂的| 亚洲一二三区在线观看| 裸体xxxx视频在线| 欧美一区二区视频观看视频| 国产传媒在线| 欧美另类99xxxxx| 日日天天久久| 国产经典一区二区三区| 爽好多水快深点欧美视频| 欧洲xxxxx| 久久久久久久免费视频了| 91人成在线| 欧美日韩一区成人| 成人短视频app| 久久久亚洲国产| 欧美亚洲在线日韩| 久久久水蜜桃| av网站免费线看精品| 日本中文字幕视频| 欧美大片一区二区三区| 国产资源一区| 国产精品高潮在线| 久久精品首页| 一级在线免费视频| 欧美日韩精品三区| 电影一区中文字幕| 成人av男人的天堂| 成人国产视频在线观看| 中文字幕亚洲精品视频| 亚洲成人av中文字幕| 91九色鹿精品国产综合久久香蕉| 99re在线视频观看| 国产·精品毛片| 蜜芽视频在线观看| 亚洲欧美精品一区| 国产一区二区三区四区五区| 日韩电影免费观看高清完整| 欧美激情在线观看视频免费| 成年人在线观看| 在线视频日韩精品| 久久久久国产| 色欲色香天天天综合网www| 亚洲丰满少妇videoshd| 日韩精品影院| 成人美女免费网站视频| 国产成人免费av在线| 伪装者免费全集在线观看 | 国模吧一区二区三区| 国产精品99免费看| 亚洲污视频在线观看| 欧美一区二区三区爱爱| 日韩最新在线| 男人添女荫道口女人有什么感觉| 日本高清不卡aⅴ免费网站| 欧美视频第一| 欧美日韩中文国产一区发布| 亚洲一卡二卡三卡四卡无卡久久| 国产精品高清乱码在线观看| 波多野结衣久草一区| 欧美国产成人精品| 色网在线免费观看| 国产女人水真多18毛片18精品| 亚洲欧洲av另类| 亚洲天堂网站| 在线免费观看成人| 欧美视频完全免费看| 风间由美中文字幕在线看视频国产欧美| 欧美一区国产一区| 精品久久久久久久久久久久久久| 日本高清精品| 男人添女人荫蒂免费视频| 日韩欧美一区二区不卡| 这里只有精品在线| 黄色成人av| 国语自产在线不卡| 久久综合999| 日韩漫画puputoon| 99亚洲精品视频| 精品国产一区a| 久久精品人人做人人爽电影蜜月| 番号在线播放| 91久久大香伊蕉在人线| 亚洲人成在线播放网站岛国 | 午夜dj在线观看高清视频完整版 | 国产一区二区不卡在线| 八戒八戒神马在线电影| 风间由美一区二区三区| 精品国产乱码久久久久久婷婷| 免费福利视频一区| 91日韩视频在线观看| 欧美猛少妇色xxxxx| 91色婷婷久久久久合中文| 欧美天堂一区| 久久精品99国产| 久久久黄色av| 久久久不卡影院| 91在线一区| 白浆爆出在线观看| 国产精品igao视频| 亚洲国产毛片aaaaa无费看| 欧美亚洲精品在线| 亚洲最新合集| 高清不卡日本v二区在线| 欧美视频一二三区| 国产精品嫩草99av在线| 国产成人午夜| 亚洲一二区在线| 亚洲欧美日韩综合| 波多野结衣一区二区三区| 自拍偷拍亚洲| 天天色综合社区| 日本精品va在线观看| 婷婷亚洲久悠悠色悠在线播放| 夜间精品视频| 婷婷在线播放| 17c丨国产丨精品视频| 久久深夜福利免费观看| 欧美经典一区二区三区| 特黄特色欧美大片| 久久久久久久久久久久久国产精品| 欧美激情亚洲视频| 亚洲福利视频一区二区| 欧美1区2区3区| 中日韩高清电影网| 日本福利视频一区| 日本欧美国产在线| 欧美日韩在线亚洲一区蜜芽| 激情另类小说区图片区视频区| 成人精品视频在线观看| 黄页网站在线观看| 日韩精品一区二区三区色偷偷 | 亚洲成人不卡| 99爱视频在线| 国产精品一区二区三区毛片淫片 | 福利一区二区免费视频| av最新网址| 久久综合色一本| 日韩最新中文字幕电影免费看| 亚洲乱码日产精品bd|