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

Ansible常用模塊介紹和使用

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


一、簡(jiǎn)介

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

二、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模塊執(zhí)行成功后,會(huì)給你返回綠色的消息,并且有一個(gè)pong響應(yīng)。all代表所有被管理的主機(jī)。

[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 模塊

因?yàn)閍nsible的默認(rèn)模塊是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模塊也是不支持的。但是可以將命令寫在一個(gè)腳本,將腳本拷貝到遠(yuǎn)端執(zhí)行,然后執(zhí)行shell模塊獲取結(jié)果。

[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

# 會(huì)報(bào)錯(cuò),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

注意: 你可能會(huì)注意到上面出現(xiàn)了WARNING?警告。這不是報(bào)錯(cuò),它只是告訴你,應(yīng)該選擇file?模塊進(jìn)行創(chuàng)建文件的操作會(huì)更好,而不是使用shell?模塊操作。當(dāng)然它還告訴你可以在ansible.cfg?配置文件中設(shè)置command_warnings=False以關(guān)閉警告。

3.4 copy 模塊

從ansible管理節(jié)點(diǎn)拷貝文件到遠(yuǎn)程主機(jī)。

[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
}

# 默認(rèn)目標(biāo)節(jié)點(diǎn)存在文件會(huì)覆蓋,所以最好設(shè)置 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

# 拷貝目錄下所有文件到遠(yuǎn)程,不包括目錄本身。文件多了以后,速度會(huì)非常慢
[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 模塊

從遠(yuǎn)程主機(jī)獲取文件到ansible管理節(jié)點(diǎn),但是不支持目錄操作

[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 模塊

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

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

# 創(chuàng)建文件。如果文件已經(jīng)存在,則會(huì)更新文件的時(shí)間戳
[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'

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

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

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

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

3.7 hostname 模塊

管理遠(yuǎn)程主機(jī)上的主機(jī)名

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

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

3.8 yum 模塊

# 安裝一個(gè)httpd服務(wù),默認(rèn)安裝最新版
# 使用state=present來安裝,多個(gè)包用','分割
[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 模塊

# 創(chuàng)建計(jì)劃任務(wù)
[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'"

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

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

# 刪除相應(yīng)定時(shí)任務(wù)(怎么創(chuàng)建的就要怎么刪除)
[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"'

# 查看計(jì)劃任務(wù)
[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

# 刪除任務(wù)計(jì)劃
[root@ayunw ansible-example]# ansible test -m shell -a "crontab -r"

3.10 service 模塊

用來管理服務(wù)器上的服務(wù)

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

# 啟動(dòng)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'

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

# 停止nginx服務(wù)
[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 模塊

用于添加遠(yuǎn)程主機(jī)上的組

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

3.12 user 模塊

管理遠(yuǎn)程主機(jī)上的用戶的賬號(hào)

# 創(chuàng)建用戶指定uid和gid,不創(chuàng)建家目錄也不允許登陸
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'

# 給新創(chuàng)建的用戶生成ssh密鑰對(duì)
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

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

3.13 setup 模塊

可收集遠(yuǎn)程主機(jī)的facts變量的信息,相當(dāng)于收集了目標(biāo)主機(jī)的相關(guān)信息(如內(nèi)核版本、操作系統(tǒng)信息、cpu、…),保存在ansible的內(nèi)置變量中,之后我們有需要用到時(shí),直接調(diào)用變量即可.這在ansible-playbook 中很有用。

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

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

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

# 僅顯示與ansible相關(guān)的內(nèi)存信息
ansible dbsrvs -m setup -a 'filter=ansible_*_mb'

3.14 authorized_key模塊

為特定的用戶賬號(hào)添加或刪除 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 模塊,系統(tǒng)必須安裝rsync 包,否則無法使用這個(gè)模塊

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

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

3.16 lineinfile 模塊

正則匹配,更改某個(gè)關(guān)鍵參數(shù)值。比如這里修改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文件中以#號(hào)開頭的行
ansible dbsrvs -m lineinfile -a "dest=/etc/fstab state=absent regexp='^#'"

3.17 replace 模塊

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

# 查看遠(yuǎn)端節(jié)點(diǎn)的 /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"
}

# 查看結(jié)果
[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信息恢復(fù)
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

參數(shù)說明:

  • \1:表示引用前面的小括號(hào)內(nèi)容
責(zé)任編輯:武曉燕 來源: 運(yùn)維開發(fā)故事
相關(guān)推薦

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網(wǎng)絡(luò)

2010-03-22 15:38:46

Python常用模塊

2025-01-16 08:13:43

commandshell模塊Ansible

2009-07-14 17:21:14

Jython方法

2025-05-26 10:05:00

Ansible模塊自動(dòng)化

2020-01-02 19:00:05

AnsibleGitHubGitLab

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容器編排自動(dòng)化

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
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美日韩国产传媒| 理论不卡电影大全神| 狠狠狠色丁香婷婷综合久久五月| 久久影院免费观看| 少妇献身老头系列| 韩漫成人漫画| 亚洲免费观看高清完整版在线观看 | 91麻豆精品国产91久久久更新时间| 欧洲精品视频在线| 黄色免费在线播放| 国产电影一区在线| 欧美野外猛男的大粗鳮| 午夜国产小视频| 日韩av中文字幕一区| 欧美日韩国产天堂| 浮妇高潮喷白浆视频| 久久99精品久久| 久久久午夜电影| 高清国产在线一区| 曰批又黄又爽免费视频| 亚洲一区成人| 欧美激情女人20p| 四虎影视一区二区| 香蕉久久精品| 亚洲国产第一页| 中国黄色片一级| 欧美精品总汇| 欧美日韩国内自拍| 日韩一级片免费视频| 激情在线小视频| 国产精品系列在线| 免费看成人片| 日色在线视频| 成人avav在线| 国产精品中出一区二区三区| 国产免费av观看| 麻豆国产精品视频| 国产精品精品一区二区三区午夜版| 精品无码m3u8在线观看| 一本精品一区二区三区| 色777狠狠综合秋免鲁丝| 少妇精品一区二区三区| 欧美性生活一级片| 亚洲第一中文字幕在线观看| 国产吃瓜黑料一区二区| 日韩高清在线观看一区二区| 欧美日韩大陆一区二区| 亚洲欧美久久久久| 福利一区和二区| 欧美三级电影在线观看| 在线免费观看视频黄| 亚洲日本在线观看视频| 欧美自拍丝袜亚洲| www.色就是色| 韩国精品视频在线观看| 欧美精品久久天天躁| 青青草原国产在线视频| 91麻豆精品一二三区在线| 欧美日韩国产高清一区二区三区 | 无码人妻精品一区二区蜜桃色欲| 国产免费成人| 国产精品激情自拍| 91精品视频免费在线观看| 精品中文字幕一区二区| 亚洲一区二区久久久久久| 国产ts人妖调教重口男| 国产成人精品免费在线| 国产乱码精品一区二区三区中文| 欧美特级特黄aaaaaa在线看| 99riav一区二区三区| 免费亚洲精品视频| 成人免费高清在线播放| 国产精品国模大尺度视频| 色香蕉在线观看| 欧美xxxx做受欧美88bbw| 亚洲综合成人在线视频| 黄色www网站| 成人国产精品| 日韩欧美一级二级三级久久久| www.四虎精品| 久久93精品国产91久久综合| 日韩在线免费观看视频| 亚洲精品国产精品乱码在线观看| 久久久久久久久丰满| 久久久亚洲国产天美传媒修理工| 中文字幕黄色片| 久久精品99国产精品日本| 99一区二区| 免费在线国产| 亚洲日本一区二区| 香港三级韩国三级日本三级| 四虎国产精品免费久久| 亚洲成人999| 九九热免费在线| 国产精品va| 日韩av色综合| 99久久国产免费| 91久色porny| 中文字幕av久久| 欧美aa一级| 制服视频三区第一页精品| 一区二区三区少妇| 四虎国产精品免费观看| 668精品在线视频| 国产精品视频在线观看免费| 99精品久久只有精品| 日本一级淫片演员| 亚洲精品一级二级| 亚洲成av人片在线观看香蕉| www.av免费| 日韩精品每日更新| 国产中文一区二区| 搞黄网站在线观看| 欧洲一区在线观看| 欲求不满的岳中文字幕| 91成人免费| 国产精品久久一区主播| 日韩中文字幕免费观看| 亚洲视频在线一区| 亚洲最大成人在线观看| 亚洲调教一区| 久久久免费高清电视剧观看| 国产麻豆91视频| 国产偷国产偷亚洲高清人白洁 | 美女av免费看| 亚洲一区二区毛片| 国产传媒欧美日韩| 一级毛片视频在线观看| 欧美性猛交xxxx黑人猛交| 国产精品一级无码| 婷婷伊人综合| 国产精品一区久久久| 免费看男男www网站入口在线| 亚洲韩国精品一区| 亚洲精品一二三四| 久久久久久久久久久9不雅视频| 国产999在线观看| 天天色天天操天天射| 亚洲欧美日本韩国| 污视频网站观看| 精品国产91久久久久久浪潮蜜月| 久久久亚洲国产| 日本高清视频免费看| 亚洲激情欧美激情| 亚洲天堂网站在线| 91成人精品| 日韩一级视频免费观看在线| 国产乱码精品一区二区三区中文 | 欧美黑人巨大精品一区二区| 91精品在线视频观看| 中文字幕第一区综合| 一级黄色香蕉视频| 国产影视一区| 国产精品久久久久久久美男 | aaa国产视频| 亚洲特黄一级片| 两女双腿交缠激烈磨豆腐| 综合视频在线| 国产专区一区二区| 美女日韩欧美| 中文字幕成人在线| 91国产精品一区| 亚洲精品综合在线| 娇妻高潮浓精白浆xxⅹ| 中文字幕精品三级久久久| 国产成人亚洲综合色影视| 国产精品一色哟哟| 香蕉久久精品| 国产日韩欧美视频| 在线观看操人| 日韩大片免费观看视频播放| 久久亚洲精品国产| 亚洲国产精品成人综合色在线婷婷| 中文字幕亚洲欧洲| 亚洲视频免费| 日本不卡在线观看| 91久久青草| 97久久精品人搡人人玩| 国产福利片在线| 日韩一区二区三区四区五区六区 | 2021av在线| 日韩一区二区影院| 一级片中文字幕| 欧美韩国日本不卡| 两女双腿交缠激烈磨豆腐| 一区二区三区精品视频在线观看| 日本一区二区精品视频| 免费一区二区三区在线视频| 51精品在线观看| 日韩伦理在线电影| 亚洲国产精品va在看黑人| 国产无遮挡又黄又爽又色视频| 亚洲人成精品久久久久久| 97精品人妻一区二区三区蜜桃| 午夜在线一区二区| 不卡中文字幕在线| 黑色丝袜福利片av久久| 国产精品pans私拍| 日韩三级免费| 亚洲一二三在线| www.激情五月.com| 在线观看一区二区视频| 久久亚洲成人av| 国产精品丝袜一区| 久久久午夜精品福利内容| 久久精品国产999大香线蕉| 六月丁香激情网| 综合精品久久| 亚洲a∨一区二区三区| 国产精品对白久久久久粗| 国产精品夜色7777狼人| 乱馆动漫1~6集在线观看| 久久久成人精品视频| 天堂在线一二区| 欧美成人猛片aaaaaaa| 在线观看亚洲黄色| 天天影视涩香欲综合网| 四虎永久免费在线| 国产精品三级av在线播放| ass精品国模裸体欣赏pics| 国产激情视频一区二区在线观看| 久久久国产欧美| 久久亚洲欧洲| 国产99久久九九精品无码| 激情久久久久久| 免费在线精品视频| 色97色成人| 亚洲成人a**址| 视频精品在线观看| 久久国产欧美精品| 久久精品色播| 精品高清视频| 久久99国产精品久久99大师| 成人欧美一区二区三区视频| 久久综合给合| 7777精品久久久大香线蕉小说| 亚洲高清国产拍精品26u| 国产精品久久久久久中文字| 制服诱惑亚洲| 国产精品xxx视频| 成人看片网页| 国产精品免费久久久久久| 成人免费网站www网站高清| 国产不卡av在线| 在线观看精品| 国产啪精品视频| 亚洲国产精选| 91天堂在线观看| 精品国产亚洲日本| 91丝袜脚交足在线播放| 91麻豆精品激情在线观看最新| 999日本视频| japanese色系久久精品| 国产精品sss| 青青草原在线亚洲| 蜜桃av噜噜一区二区三| 国产免费久久| 亚洲欧美国产一区二区| 99久久精品费精品国产| 国产日本欧美在线| 欧美日本一区| 亚洲熟妇国产熟妇肥婆| 久久久久看片| 超碰在线公开97| 国产一区二区三区综合| 成人做爰69片免费| 91视频免费看| 日本黄色激情视频| 亚洲精品视频在线| 日韩成年人视频| 色婷婷精品久久二区二区蜜臂av | 亚洲国产精品日韩| 成人一区而且| 中文字幕精品在线播放| 日韩天天综合| 91看片在线免费观看| 国产一区二区在线视频| 国产十八熟妇av成人一区| 久久久久久一级片| 神马久久精品综合| 亚洲va欧美va人人爽| 免费无码国产精品| 欧美一级生活片| 日韩一区二区三区中文字幕| 最近2019年日本中文免费字幕 | 欧美成熟毛茸茸| 综合久久五月天| 激情影院在线| 国产精品吹潮在线观看| 久久精品九色| 清纯唯美一区二区三区| 中文字幕免费一区二区| 国产麻花豆剧传媒精品mv在线| 精品一区二区三区视频| 性欧美成人播放77777| 17c精品麻豆一区二区免费| 五月婷婷开心网| 欧美一区二区久久久| 嫩草研究院在线观看| 欧美丰满少妇xxxx| 2019年精品视频自拍| 国内一区二区三区在线视频| 欧美手机视频| 国产亚洲综合视频| 国产成人啪午夜精品网站男同| a天堂中文字幕| 午夜天堂影视香蕉久久| 97免费观看视频| 亚洲精品国产综合久久| www久久日com| 国产精品久久久久久久久男| 免费看成人人体视频| 成人在线观看毛片| 麻豆精品一区二区综合av| 亚洲一区二区三区无码久久| 亚洲精品视频一区二区| 一级黄色片免费| 国产亚洲a∨片在线观看| 女海盗2成人h版中文字幕| 俄罗斯精品一区二区三区| 欧美丰满日韩| 欧美婷婷精品激情| 久久久久国产一区二区三区四区| 精品无码久久久久久久久| 日韩一区二区免费视频| avtt亚洲| 国产精品福利片| 日韩高清在线免费观看| 91免费黄视频| 成人性生交大片免费看中文 | 国模一区二区三区| 色噜噜狠狠一区二区三区狼国成人| 国产欧美视频一区二区| 国产精品人人人人| 亚洲精品99999| 不卡专区在线| 狠狠干一区二区| 一本一本久久| 成年人的黄色片| 亚瑟在线精品视频| 日本国产在线观看| 韩国精品美女www爽爽爽视频| 日韩在线观看一区二区三区| 最新av网址在线观看| 国产精品综合av一区二区国产馆| 免费看特级毛片| 日韩一区二区三区三四区视频在线观看| 99精品老司机免费视频| 国产热re99久久6国产精品| 日韩88av| 国内国产精品天干天干| 亚洲精品中文字幕乱码三区| 亚洲AV无码精品色毛片浪潮| 欧美激情啊啊啊| 欧美一区二区三区久久| 超碰97人人射妻| 国产欧美一区二区精品性| 中文字幕乱码一区二区| 播播国产欧美激情| 久久久久毛片免费观看| www插插插无码免费视频网站| 成人精品免费网站| av大片在线免费观看| 亚洲天堂男人天堂| 色999韩欧美国产综合俺来也| 99久re热视频精品98| 国产999精品久久| 三级视频在线观看| 国产一区二区三区在线视频| 中文字幕综合| 91免费黄视频| 国产色一区二区| 99精品在线看| 欧美制服第一页| 91精品国产乱码久久久久久久 | 国产三级自拍视频| 久久人人爽人人| 国产一区二区三区不卡视频网站| 日本肉体xxxx裸体xxx免费| 一区二区在线免费| 亚州视频一区二区三区| 国产精品偷伦视频免费观看国产| 欧美激情一级片一区二区| 中出视频在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲天堂网一区二区| 精品视频在线免费观看| 岛国中文字幕在线| 久久一区二区三区av| 久久99久久99小草精品免视看| 久久久精品一区二区涩爱| 亚洲人在线视频| 精品中文在线| 日韩在线xxx| 一区二区三区免费看视频| 可以免费看污视频的网站在线| 亚洲一区二区中文字幕| 久久午夜激情| 国产乡下妇女做爰| 久久精品99久久久香蕉|