3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kerberos体系下的应用(yarn,spark on yarn)

發布時間:2024/1/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kerberos体系下的应用(yarn,spark on yarn) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

kerberos 介紹

閱讀本文之前建議先預讀下面這篇博客
kerberos認證原理---講的非常細致,易懂

Kerberos實際上一個基于Ticket的認證方式。Client想要獲取Server端的資源,先得通過Server的認證;而認證的先決條件是ClientServer提供從KDC獲得的一個有ServerMaster Key進行加密的Session Ticket(Session Key + Client Info)

image.png

?

大體邏輯流程如下:

  • Client向KDC申請TGT(Ticket Granting Ticket)。
  • Client通過獲得TGT向KDC申請用于訪問Server的Ticket。
  • Client最終向為了Server對自己的認證向其提交Ticket。

kerberos 中的幾個概念

  • Principals

簡單的說, principals 類似于多用戶系統中的用戶名,每個server都對應一個 principals

principals由幾個部分的字符串構成。
例如:

component1 / component2 @ REALM

  • @ 后面是一個 principals 必不可少的部分 REALM,為大寫英文字符。
  • @ 前面是一個 principals 的具體身份,它可能由多個部分組成,使用/ 分割。
  • reborn@EXAMPLE.COM
    代表的是一個屬于EXAMPLE.COM領域的用戶reborn
    這類principals 我們稱之為 User Principals。
    還有一類我們稱之為 Service Principals。 它代表的不是具體的user,而是服務:
    yarn/ctum2f0302002.idc.xxx-group.net@IDC.XXX-GROUP.NET
    比如上面的這個, / 前面的部分為 yarn,說明它代表的是 yarn的服務,/ 后面的部分則是DNS域名,@后面的則是每個principals都必須有的 REALM

    上面所提及的 Client通過獲得TGT向KDC申請用于訪問Server的Ticket 就是通過 Service Principals 來向KDC 來申請Ticket的。

    • Keys 和 KeyTab

    每個 principals 都有自己的 Master key 用來證明自己就是 principals的擁有者。同時 在 ClientKDCServerTGTTicket加密。具體方式可才考開篇的 博客鏈接。
    一般來說,User Principals的 key是用戶密碼,Service Principals的key是隨機數串,他們都分別被存放在 KDC中一份,keytab 文件中一份。

    keytab文件就是一個密碼本,除非對該用戶重新生成keytab,否則這個文件是不會過期的,使用該keytab即可以登錄相應的principals

    獲取TGT

    從上面的概念上大家可以看出,為了訪問有kerberos認證的服務,作為Client首先要先向KDC發起請求獲取TGT 得到 KDC的授權,才繼而才能申請對 service 的Ticket。

    • kerberos client 的安裝
      Client 所在的機器環境必須是 kerberos client 環境,具體的安裝操作,網上有很多 �Installing Kerberos ,在安裝的過程中,最普遍出現的問題就是默認的加解密方式 jce不支持,解決方式網上也有java-jce-hadoop-kerberos 要么改變加解密方式,要么給jre打補丁

    • 使用命令行來獲取TGT環境
      這里列出幾個簡單的常用的命令:

      • kinit: 用來獲取TGT的命令, 可以使用密碼來向KDC申請,也可以直接使用keytab
      kinit wanghuan70 Password for wanghuan70@IDC.XXX-GROUP.NET: kinit -kt wanghuan70.keytab wanghuan70
      • kdestroy: 用來銷毀當前的tgt情況
      • klist: 用來展示當前的tgt情況

      如果當前還沒有申請TGT:

      klist klist: Credentials cache file '/tmp/krb5cc_2124' not found

      如果已經通過 kinit 申請過了TGT:

      -sh-4.2$ klist Ticket cache: FILE:/tmp/krb5cc_2124 Default principal: wanghuan70@IDC.XXX-GROUP.NETValid starting Expires Service principal 08/03/2017 09:31:52 08/11/2017 09:31:52 krbtgt/IDC.XXX- GROUP.NET@IDC.XXX-GROUP.NETrenew until 08/10/2017 09:31:52

      klist 中的信息展示的很詳細了,標明Client principal為 wanghuan70@IDC.XXX-GROUP.NET
      Service principal為 krbtgt/IDC.XXX- GROUP.NET@IDC.XXX-GROUP.NET
      這個 Service principal 實際上是 上圖中的 Tickt Granting Service(TGS)的principal。
      TGT是有時效性的,超過過期日期就不可以再使用,但是可以在 renew時間之前 使用

      klist -r

      來刷新。

    • 在代碼中登錄
      首先要保證的是運行代碼的機器上是有kerberos client 環境

      /*** User and group information for Hadoop.* This class wraps around a JAAS Subject and provides methods to determine the* user's username and groups. It supports both the Windows, Unix and Kerberos * login modules.*/ @InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce", "HBase", "Hive", "Oozie"}) @InterfaceStability.Evolving public class UserGroupInformation {

      hadoop-common 的工程下提供了如上的 UserGroupInformation 用于用戶認證。我們在代碼中只需要調用 其中的api即可,簡單舉例子,我們想用 wanghuan70@IDC.XXX-GROUP.NET 這個 principal 來執行后續的代碼, 只需要調用如下api:

      UserGroupInformation.setConfiguration(configuration);System.setProperty("sun.security.krb5.debug", "true");UserGroupInformation.loginUserFromKeytab("wanghuan70", "/home/wanghuan70/wanghuan70.keytab");

      該api會改變當前環境下的tgt。
      如果我們想只對部分代碼使用另一個principal來執行,那么可以使用如下api,然后調用doAs執行:

      ugi = UserGroupInformation.loginUserFromKeytabAndReturnUGI("hbase" , "hbase.keytab");ugi.doAs(new PrivilegedExceptionAction<Void>() {@Overridepublic Void run() throws Exception {try {Connection connection = ConnectionFactory.createConnection(conf);Admin admin = connection.getAdmin();HTableDescriptor[] tables = admin.listTables();for (HTableDescriptor descriptor : tables) {HTable hTable = new HTable();hTable.setTableName(descriptor.getTableName().getNameAsString( ));Collection<HColumnDescriptor> families = descriptor.getFamilies();for (HColumnDescriptor family : families) {hTable.addFamily(family.getNameAsString());}hTables.addhTable(hTable);}} catch (Exception ex) {logger.info("list hbase table internal failed: %s", ex);throw new Exception(ex);}return null;}});

    在業務系統中訪問需要kerberos認證的服務

    這個比較簡單,如上節例子中可以看到,只需要改變當前進程環境下的tgt即可,可以使用 命令行也可以在代碼中實現。該部分暫時不討論 tgt的過期問題,后續會擴展分析。

    編寫yarn application提交到kerberos認證的集群中

    這類業務可能比較少,因為各種框架都自行實現了 xxx on yarn的代碼,比如 spark on yarn、flink on yarn。但是也有一些熱門的框架還沒有來得及實現on yarn。 如 tf on yarn,storm on datax on yarn ,datax on yarn或者apache twill。我們可以自己動手去完成一個 yarn application的工程,繼而可以推測 其他框架的on yarn是怎么去實現的。
    官網的參考文件如下:
    Hadoop: Writing YARN Applications
    YARN應用開發流程
    上述文章已經很詳細的講解了如何編寫 yarn application,我們再這里不再累述,而我們的關注點在于提交到kerberos認證的集群

    image.png

    在上面這個圖大概的描述了我們的 yarn application的邏輯流程,這里需要注意的是:

    • Client Node 需要使用 ApplicationClientProtocol(Client-RM之間的協議) 將應用提交給 RM。
    • AM 需要使用 ApplicationMasterProtocol(AM-RM之間的協議)向RM申請資源。
    • AM需要使用 ContainerManagementProtocol(AM-NM之間的協議)向NM發起啟動container的命令

    也就是說這三次的rpc通訊,我們的應用是需要與Yarn進行通訊的,在kerberos認證的系統中,換句話說,我們需要與yarn service 進行通訊的Ticket

    • Client Node 需要使用ClientNamenodeProtocol(DFSClient-HDFS協議)將應用需要的資源上傳到HDFS上;
    • AM (可能的操作)需要使用ClientNamenodeProtocol(DFSClient-HDFS協議)將資源下載下來;
    • Container 需要使用ClientNamenodeProtocol(DFSClient-HDFS協議)將資源下載下來;

    也就是說這三次的rpc通訊,我們的應用是需要與HDFS進行通訊的,在kerberos認證的系統中,換句話說,我們需要與hdfs service 進行通訊的Ticket

    還有一個問題需要注意的是,在應用中,我們發起RPC通訊 可能在不同的機器上這個時候如何進行構造相同的環境是我們這里需要表述的東西;

    • 從上面的鏈接我們可以知道,Client是如何提交Application到RM,代碼可如下:

      ApplicationId submitApplication(YarnClientApplication app,String appName,ContainerLaunchContext launchContext,Resource resource,String queue) throws Exception {ApplicationSubmissionContext appContext = app.getApplicationSubmissionContext();appContext.setApplicationName(appName);appContext.setApplicationTags(new HashSet<String>());appContext.setAMContainerSpec(launchContext);appContext.setResource(resource);appContext.setQueue(queue);return yarnClient.submitApplication(appContext);}

      Client調用 YarnClientApplication 向RM提交 ApplicationSubmissionContext
      這里包含了

      • 應用的名稱
      • 所依賴的資源
      • 提交的隊列
      • 還有一個重要的東西 ContainerLaunchContext 它是什么東西呢。
      /** * <p><code>ContainerLaunchContext</code> represents all of the information * needed by the <code>NodeManager</code> to launch a container.</p> * * <p>It includes details such as: * <ul> * <li>{@link ContainerId} of the container.</li> * <li>{@link Resource} allocated to the container.</li> * <li>User to whom the container is allocated.</li> * <li>Security tokens (if security is enabled).</li> * <li> * {@link LocalResource} necessary for running the container such * as binaries, jar, shared-objects, side-files etc. * </li> * <li>Optional, application-specific binary service data.</li> * <li>Environment variables for the launched process.</li> * <li>Command to launch the container.</li> * </ul> * </p> * * @see ContainerManagementProtocol#startContainers(org.apache.hadoop .yarn.api.protocolrecords.StartContainersRequest) */

      我們的ApplucationMaster 本身上也是在Container里面執行的,所以也有這個上下文,構造函數如下:

      public static ContainerLaunchContext newInstance(Map<String, LocalResource> localResources,Map<String, String> environment, List<String> commands,Map<String, ByteBuffer> serviceData, ByteBuffer tokens,Map<ApplicationAccessType, String> acls) {ContainerLaunchContext container =Records.newRecord(ContainerLaunchContext.class);container.setLocalResources(localResources);container.setEnvironment(environment);container.setCommands(commands);container.setServiceData(serviceData);container.setTokens(tokens);container.setApplicationACLs(acls);return container; }

      可以從構造函數來看到我們在設置Container中的環境、資源、執行命令等之外,還添加了 ByteBuffer tokens

      * Set security tokens needed by this container.* @param tokens security tokens */ @Public @Stable public abstract void setTokens(ByteBuffer tokens);

      沒錯! 這個tokens就是我們傳遞給container里面的安全信息。

      kerberos 和 Delegation token的關系需要說明一下,我們使用kerberos通過認證后,可以獲取一個帶有時效的委托token,如果我們把這個信息儲存起來,在token沒過期之前,使用這個token就可以直接連接服務,而無需再走kerberos那一套授權流程了。

      那這個值,我們Client是從哪里獲取并賦予給container的呢?

      /*** setup security token given current user* @return the ByeBuffer containing the security tokens* @throws IOException*/private ByteBuffer setupTokens(FileSystem fs) throws IOException {DataOutputBuffer buffer = new DataOutputBuffer();String loc = System.getenv().get("HADOOP_TOKEN_FILE_LOCATION");if ((loc != null && loc.trim().length() > 0)|| (!UserGroupInformation.isSecurityEnabled())) {this.credentials.writeTokenStorageToStream(buffer);} else {// Note: Credentials class is marked as LimitedPrivate for HDFS and MapReduceCredentials credentials = new Credentials();String tokenRenewer = conf.get(YarnConfiguration.RM_PRINCIPAL);if (tokenRenewer == null || tokenRenewer.length() == 0) {throw new IOException("Can't get Master Kerberos principal for the RM to use as renewer");}// For now, only getting tokens for the default file-system.final org.apache.hadoop.security.token.Token<?> tokens[] = fs.addDelegationTokens(tokenRenewer, credentials);if (tokens != null) {for (org.apache.hadoop.security.token.Token<?> token : tokens) {LOG.info("Got dt for " + fs.getUri() + "; " + token);}}credentials.writeTokenStorageToStream(buffer);}return ByteBuffer.wrap(buffer.getData(), 0, buffer.getLength());}

      不同的 xx on yarn可能代碼寫法不同,但是,思路都是一致的:

      /*** Obtain all delegation tokens used by this FileSystem that are not* already present in the given Credentials. Existing tokens will neither* be verified as valid nor having the given renewer. Missing tokens will* be acquired and added to the given Credentials.* * Default Impl: works for simple fs with its own token* and also for an embedded fs whose tokens are those of its* children file system (i.e. the embedded fs has not tokens of its* own).* * @param renewer the user allowed to renew the delegation tokens* @param credentials cache in which to add new delegation tokens* @return list of new delegation tokens* @throws IOException*/ @InterfaceAudience.LimitedPrivate({ "HDFS", "MapReduce" }) public Token<?>[] addDelegationTokens( 17/08/03 15:48:49 INFO client.LaunchCluster: tokenRenewer is yarn/_HOST@IDC.WANDA-GROUP.NET 17/08/03 15:48:49 INFO hdfs.DFSClient: Created HDFS_DELEGATION_TOKEN token 762341 for wanghuan70 on ha-hdfs:nn-idc 17/08/03 15:48:49 INFO client.LaunchCluster: Got dt for hdfs://nn- idc; Kind: HDFS_DELEGATION_TOKEN, Service: ha-hdfs:nn-idc, Ident: (HDFS_DELEGATION_TOKEN token 762341 for wanghuan70) 17/08/03 15:48:49 WARN token.Token: Cannot find class for token kind kms-dt 17/08/03 15:48:49 INFO client.LaunchCluster: Got dt for hdfs://nn- idc; Kind: kms-dt, Service: 10.214.129.150:16000, Ident: 00 0a 77 61 6e 67 68 75 61 6e 37 30 04 79 61 72 6e 00 8a 01 5d a7 14 e1 22 8a 01 5d cb 21 65 22 8d 0d d1 8e 8f d7

      我們這里是生成了訪問hdfs的Token HDFS_DELEGATION_TOKEN 以及 在hdfs上的 KMS的token,
      這里我們可以注意到,在上面的分析中,我們的AM也要去連接RM和NM,但是為什么這里沒有去生成Token呢。我們可以看一下AM里面的 ** UserGroupInformation**的狀態,我們通過在我們的 ApplicationMaster的啟動類中,加入如下代碼:

      LOG.info("isSecurityEnabled: {}", UserGroupInformation.getCurrentUser().isSecurityEnabled());LOG.info("isLoginKeytabBased: {}", UserGroupInformation.getCurrentUser().isLoginKeytabBased());LOG.info("isLoginTicketBased: {}", UserGroupInformation.getCurrentUser().isLoginTicketBased());LOG.info("userName: {}", UserGroupInformation.getCurrentUser().getUserName());for (org.apache.hadoop.security.token.Token<? extends TokenIdentifier> token : UserGroupInformation.getCurrentUser().getTokens()) {LOG.info("Token kind is " + token.getKind().toString()+ " and the token's service name is " + token.getService());}

      讓我們來看下AM端的日志:

    image.png

    可以看到 AM端的 初始UserGroupInformation是不帶要tgt的, 也就是說,沒辦法進行kerberos認證流程,AM端不管是與yarn還是 hdfs的通訊都應該是使用Token的。在圖片中Token列表中,我們看到出現了一個 名字叫 YARN_AM_RM_TOKEN ,這個并不是我們Client加進去的,但是可以確信的是AM使用該token與RM進行通訊,這個token哪里來的呢?

    帶著這個疑問,我們需要從Client開始扒拉一下代碼了,在client端我們使用 YarnClient 將我們的啟動的信息提交給了RM,這個YarnClient是經過kerberos認證的連接,那么我們可以看下RM端是怎么來處理這個 啟動ApplicationMaster請求的。我們提交給RM的是一個名叫ApplicationSubmissionContext, RM要從中創建出ContainerLaunchContext

    image.png

    這RM端的createAMContainerLaunchContext中,我們查到了我們的疑問之處,這里出現了

    // Finalize the containersetupTokens(container, containerID);

    進去看看這個方法做了什么?:

    image.png

    image.png

    我們看到了我們想要的東西,container中新的tokens除了我們老的ContainerLaunchContext中我們從client傳遞過來的tokens,還額外添加了AMRMToken,到了這里我們解決了我們上面的一個疑問:

    AM和RM通訊是使用Token來認證的,這個AMRMToken是RM端啟動am的container的時候加塞進來的。

    現在整理一下我們邏輯,啟動之后AM使用** YARN_AM_RM_TOKEN來和RM通訊,使用 HDFS_DELEGATION_TOKEN**來和hdfs filesystem通訊,那么,AM是怎么通知NN來啟動自己的 excutor的呢?不妨再看一下代碼。

    image.png

    上面的圖很明了了,nmTokens由RM提供給AM,在AM創建NMClientAsync的時候,

    image.png


    從單例 NMTokenCache 中獲取到 nmTokens來進行連接NN。

    ?

    到此,AM中的認證問題,我們已經整明白了,那邊由AM,啟動的其他的container的認證呢?,其實套路是一樣的!

    LOG.info("Launching a new container."+ ", containerId=" + container.getId()+ ", containerNode=" + container.getNodeId().getHost()+ ":" + container.getNodeId().getPort()+ ", containerNodeURI=" + container.getNodeHttpAddress()+ ", containerResourceMemory="+ container.getResource().getMemory()+ ", containerResourceVirtualCores="+ container.getResource().getVirtualCores()+ ", command: " + command);ContainerLaunchContext ctx = ContainerLaunchContext.newInstance(localResources, env, Lists.newArrayList(command), null, setupTokens(), null);appMaster.addContainer(container);appMaster.getNMClientAsync().startContainerAsync(container, ctx);

    只需要把AM中的token做傳遞即可。

    長任務在kerberos系統中執行,以spark為例子

    什么是長任務? 就是long-running services,長時間運行的任務,可能是流也可以不是。
    那么為什么,要把長任務單獨來說呢,因為從上述的yarn應用的描述,我們知道,am和excutor中使用的是token來訪問hdfs和rm 的,token是有時效性的我們是知道的,那么,長時間運行,token肯定會失效,如果token失效的話,肯定就不能訪問hdfs了。所以這個就是 long-running 任務需要考慮的東西。
    spark on yarn模式,分為兩種: 一種是 yarn client模式,一種是yarn cluster模式。一般來說業務上都會使用yarn cluster模式來執行,但是隨著分析類工具的推出,比如zeppelin,jupter的使用, 常駐的yarn client 所以這兩種模式都很重要。為了把事情講清楚,我們兩種方式分類來說明,本章節源碼(1.6.0)通讀可以較多。

    yarn clientyarn cluter 說到底都是yarn application,那么client 和 cluster的區別到底區別在哪呢?-- Spark Driver是在本地運行還是在AM中來執行

    擴展閱讀
    過往記憶
    kerberos_and_hadoop

    yarn cluster 模式

    image.png

    • spark 使用SparkSubmitAction來提交作業

      image.png

      • prepareSubmitEnvironment 根據 master(YARN/STANDALONE/MESOS/LOCAL)和deployMode(CLIENT/CLUSTER)來得到我們需要執行的Class入口
      • runMain 通過反射執行childMainClass中的main函數,因為這里是 cluster模式,所在這里執行的并不是用戶的代碼,而是org.apache.spark.deploy.yarn.Client
    • Client里面執行的是編譯一個yarn application必要的步驟:

      image.png

      • 建立 yarnClient 用于和RM通信
      • 向RM申請一個newApp
      • 創建am需要的containerContext
      • 創建ApplicationSubmissionContext并提交,amClass為
      org.apache.spark.deploy.yarn.ApplicationMaster
      • Client完成;
    • ApplicationMaster

      • 啟動用戶的代碼線程:

      image.png

      • 當SparkContext、Driver初始化完成的時候,通過amClient向ResourceManager注冊ApplicationMaster

      image.png

      • 上面的邏輯是yarn application必須的步驟,我們注意來看看spark 如何來處理 token失效的:
      // If the credentials file config is present, we must periodically renew tokens. So create// a new AMDelegationTokenRenewerif (sparkConf.contains("spark.yarn.credentials.file")) {delegationTokenRenewerOption = Some(new AMDelegationTokenRenewer(sparkConf, yarnConf))// If a principal and keytab have been set, use that to create new credentials for executors// periodicallydelegationTokenRenewerOption.foreach(_.scheduleLoginFromKeytab())}

      1.如果用戶在提交應用的過程中,使用 --keytab 參數上傳了kerberos認證文件的話,AM里面會啟動一個線程專門用來處理,我們可以看看 AMDelegationTokenRenewer 里面都做了什么:

      private[spark] def scheduleLoginFromKeytab(): Unit = {val principal = sparkConf.get("spark.yarn.principal")val keytab = sparkConf.get("spark.yarn.keytab")/*** Schedule re-login and creation of new tokens. If tokens have already expired, this method* will synchronously create new ones.*/def scheduleRenewal(runnable: Runnable): Unit = {val credentials = UserGroupInformation.getCurrentUser.getCredentialsval renewalInterval = hadoopUtil.getTimeFromNowToRenewal(sparkConf, 0.75, credentials)// Run now!if (renewalInterval <= 0) {logInfo("HDFS tokens have expired, creating new tokens now.")runnable.run()} else {logInfo(s"Scheduling login from keytab in $renewalInterval millis.")delegationTokenRenewer.schedule(runnable, renewalInterval, TimeUnit.MILLISECONDS)}}// This thread periodically runs on the driver to update the delegation tokens on HDFS.val driverTokenRenewerRunnable =new Runnable {override def run(): Unit = {try {writeNewTokensToHDFS(principal, keytab)cleanupOldFiles()} catch {case e: Exception =>// Log the error and try to write new tokens back in an hourlogWarning("Failed to write out new credentials to HDFS, will try again in an " +"hour! If this happens too often tasks will fail.", e)delegationTokenRenewer.schedule(this, 1, TimeUnit.HOURS)return}scheduleRenewal(this)}}// Schedule update of credentials. This handles the case of updating the tokens right now// as well, since the renenwal interval will be 0, and the thread will get scheduled// immediately.scheduleRenewal(driverTokenRenewerRunnable) } private def writeNewTokensToHDFS(principal: String, keytab: String): Unit = {// Keytab is copied by YARN to the working directory of the AM, so full path is// not needed.// HACK:// HDFS will not issue new delegation tokens, if the Credentials object// passed in already has tokens for that FS even if the tokens are expired (it really only// checks if there are tokens for the service, and not if they are valid). So the only real// way to get new tokens is to make sure a different Credentials object is used each time to// get new tokens and then the new tokens are copied over the the current user's Credentials.// So:// - we login as a different user and get the UGI// - use that UGI to get the tokens (see doAs block below)// - copy the tokens over to the current user's credentials (this will overwrite the tokens// in the current user's Credentials object for this FS).// The login to KDC happens each time new tokens are required, but this is rare enough to not// have to worry about (like once every day or so). This makes this code clearer than having// to login and then relogin every time (the HDFS API may not relogin since we don't use this// UGI directly for HDFS communication.logInfo(s"Attempting to login to KDC using principal: $principal")val keytabLoggedInUGI = UserGroupInformation.loginUserFromKeytabAndReturnUGI(principal, keytab)logInfo("Successfully logged into KDC.")val tempCreds = keytabLoggedInUGI.getCredentialsval credentialsPath = new Path(credentialsFile)val dst = credentialsPath.getParentkeytabLoggedInUGI.doAs(new PrivilegedExceptionAction[Void] {// Get a copy of the credentialsoverride def run(): Void = {val nns = YarnSparkHadoopUtil.get.getNameNodesToAccess(sparkConf) + dsthadoopUtil.obtainTokensForNamenodes(nns, freshHadoopConf, tempCreds)null}})// Add the temp credentials back to the original ones.UserGroupInformation.getCurrentUser.addCredentials(tempCreds)val remoteFs = FileSystem.get(freshHadoopConf)// If lastCredentialsFileSuffix is 0, then the AM is either started or restarted. If the AM// was restarted, then the lastCredentialsFileSuffix might be > 0, so find the newest file// and update the lastCredentialsFileSuffix.if (lastCredentialsFileSuffix == 0) {hadoopUtil.listFilesSorted(remoteFs, credentialsPath.getParent,credentialsPath.getName, SparkHadoopUtil.SPARK_YARN_CREDS_TEMP_EXTENSION).lastOption.foreach { status =>lastCredentialsFileSuffix = hadoopUtil.getSuffixForCredentialsPath(status.getPath)}}val nextSuffix = lastCredentialsFileSuffix + 1val tokenPathStr =credentialsFile + SparkHadoopUtil.SPARK_YARN_CREDS_COUNTER_DELIM + nextSuffixval tokenPath = new Path(tokenPathStr)val tempTokenPath = new Path(tokenPathStr + SparkHadoopUtil.SPARK_YARN_CREDS_TEMP_EXTENSION)logInfo("Writing out delegation tokens to " + tempTokenPath.toString)val credentials = UserGroupInformation.getCurrentUser.getCredentialscredentials.writeTokenStorageFile(tempTokenPath, freshHadoopConf)logInfo(s"Delegation Tokens written out successfully. Renaming file to $tokenPathStr")remoteFs.rename(tempTokenPath, tokenPath)logInfo("Delegation token file rename complete.")lastCredentialsFileSuffix = nextSuffix }

      代碼很長,邏輯可以概括為如下:
      1.根據token時效判斷是否需要進行token刷新行為;
      2.使用hdfs上的keytab獲取新的tgt -- keytabLoggedInUGI
      3.在新的UserGroupInformation下,重新獲取新的 HDFS_DELEGATION_TOKEN 加到當前的 UserGroupInformation中,這里大家留意一下
      freshHadoopConf

      image.png


      我們后面緊接著會具體講 如何與hdfs通訊的時候分析一下https://issues.apache.org/jira/browse/HDFS-9276
      4.將新的token信息更新到hdfs目錄下。

      ?

      • Excutor的啟動的類為org.apache.spark.executor.org.apache.spark.executor

        image.png

        ?

        如果需要刷新token,excutor會啟動一個更新token程序

      def updateCredentialsIfRequired(): Unit = {try {val credentialsFilePath = new Path(credentialsFile)val remoteFs = FileSystem.get(freshHadoopConf)SparkHadoopUtil.get.listFilesSorted(remoteFs, credentialsFilePath.getParent,credentialsFilePath.getName, SparkHadoopUtil.SPARK_YARN_CREDS_TEMP_EXTENSION).lastOption.foreach { credentialsStatus =>val suffix = SparkHadoopUtil.get.getSuffixForCredentialsPath(credentialsStatus.getPath)if (suffix > lastCredentialsFileSuffix) {logInfo("Reading new delegation tokens from " + credentialsStatus.getPath)val newCredentials = getCredentialsFromHDFSFile(remoteFs, credentialsStatus.getPath)lastCredentialsFileSuffix = suffixUserGroupInformation.getCurrentUser.addCredentials(newCredentials)logInfo("Tokens updated from credentials file.")} else {// Check every hour to see if new credentials arrived.logInfo("Updated delegation tokens were expected, but the driver has not updated the " +"tokens yet, will check again in an hour.")delegationTokenRenewer.schedule(executorUpdaterRunnable, 1, TimeUnit.HOURS)return}}val timeFromNowToRenewal =SparkHadoopUtil.get.getTimeFromNowToRenewal(sparkConf, 0.8, UserGroupInformation.getCurrentUser.getCredentials)if (timeFromNowToRenewal <= 0) {executorUpdaterRunnable.run()} else {logInfo(s"Scheduling token refresh from HDFS in $timeFromNowToRenewal millis.")delegationTokenRenewer.schedule(executorUpdaterRunnable, timeFromNowToRenewal, TimeUnit.MILLISECONDS)}} catch {// Since the file may get deleted while we are reading it, catch the Exception and come// back in an hour to try againcase NonFatal(e) =>logWarning("Error while trying to update credentials, will try again in 1 hour", e)delegationTokenRenewer.schedule(executorUpdaterRunnable, 1, TimeUnit.HOURS)} }

      邏輯也很明了:

    • 從 hdfs相應目錄讀取由AM寫入的token文件信息;
    • 更新到自己的ugi中;
      這里也需要 對
    • ?

      image.png


      也和上述https://issues.apache.org/jira/browse/HDFS-9276有關。

      ?


    至此,實際上啟動的過程大概就是這樣,那么現在我們需要對我們關心的問題來具體分析:

    • 我們的應用是怎么連接到hdfs的?
      在hadoop api中提供 FileSystem 接口用于與各種文件系統進行連接,HDFS也不除外,其具體類為DistributedFileSystem,進入這個類,可以看到連接hdfs的客戶端

      image.png

      DEBUG [2017-07-28 13:24:46,255] ({main} DFSClient.java[<init>]:455) - dfs.client.use.legacy.blockreader.local = false DEBUG [2017-07-28 13:24:46,255] ({main} DFSClient.java[<init>]:458) - dfs.client.read.shortcircuit = false DEBUG [2017-07-28 13:24:46,256] ({main} DFSClient.java[<init>]:461) - dfs.client.domain.socket.data.traffic = false DEBUG [2017-07-28 13:24:46,256] ({main} DFSClient.java[<init>]:464) - dfs.domain.socket.path = /var/run/hdfs- sockets/dn DEBUG [2017-07-28 13:24:46,282] ({main} HAUtil.java[cloneDelegationTokenForLogicalUri]:329) - No HA service delegation token found for logical URI hdfs://nn-idc DEBUG [2017-07-28 13:24:46,282] ({main} DFSClient.java[<init>]:455) - dfs.client.use.legacy.blockreader.local = false DEBUG [2017-07-28 13:24:46,282] ({main} DFSClient.java[<init>]:458) - dfs.client.read.shortcircuit = false DEBUG [2017-07-28 13:24:46,283] ({main} DFSClient.java[<init>]:461) - dfs.client.domain.socket.data.traffic = false DEBUG [2017-07-28 13:24:46,283] ({main} DFSClient.java[<init>]:464) - dfs.domain.socket.path = /var/run/hdfs- sockets/dn DEBUG [2017-07-28 13:24:46,285] ({main} RetryUtils.java[getDefaultRetryPolicy]:75) - multipleLinearRandomRetry = null DEBUG [2017-07-28 13:24:46,290] ({main} ClientCache.java[getClient]:63) - getting client out of cache: org.apache.hadoop.ipc.Client@416b681c DEBUG [2017-07-28 13:24:46,514] ({main} NativeCodeLoader.java[<clinit>]:46) - Trying to load the custom-built native-hadoop library... DEBUG [2017-07-28 13:24:46,515] ({main} NativeCodeLoader.java[<clinit>]:50) - Loaded the native-hadoop library DEBUG [2017-07-28 13:24:46,520] ({Thread-36} DomainSocketWatcher.java[run]:453) - org.apache.hadoop.net.unix.DomainSocketWatcher$2@dbe5911: starting with interruptCheckPeriodMs = 60000 DEBUG [2017-07-28 13:24:46,524] ({main} DomainSocketFactory.java[<init>]:110) - Both short-circuit local reads and UNIX domain socket are disabled. DEBUG [2017-07-28 13:24:46,530] ({main} DataTransferSaslUtil.java[getSaslPropertiesResolver]:183) - DataTransferProtocol not using SaslPropertiesResolver, no QOP found in configuration for dfs.data.transfer.protection DEBUG [2017-07-28 13:24:46,534] ({main} Logging.scala[logDebug]:62) - delegation token renewer is: yarn/ctum2f0302002.idc.xxx-group.net@IDC.XXX-GROUP.NETINFO [2017-07-28 13:24:46,535] ({main} Logging.scala[logInfo]:58) - getting token for namenode: hdfs://nn- idc/user/wanghuan70/.sparkStaging/application_1499341382704_7 8490 DEBUG [2017-07-28 13:24:46,537] ({main} Client.java[<init>]:434) - The ping interval is 60000 ms. DEBUG [2017-07-28 13:24:46,537] ({main} Client.java[setupIOstreams]:704) - Connecting to ctum2f0302002.idc.xxx-group.net/10.214.128.51:8020 DEBUG [2017-07-28 13:24:46,538] ({main} UserGroupInformation.java[logPrivilegedAction]:1715) - PrivilegedAction as:wanghuan70@IDC.XXX-GROUP.NET (auth:KERBEROS) from:org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Cli ent.java:725) DEBUG [2017-07-28 13:24:46,539] ({main} SaslRpcClient.java[sendSaslMessage]:457) - Sending sasl message state: NEGOTIATEDEBUG [2017-07-28 13:24:46,541] ({main} SaslRpcClient.java[saslConnect]:389) - Received SASL message state: NEGOTIATE auths {method: "TOKEN"mechanism: "DIGEST-MD5"protocol: ""serverId: "default"challenge: "realm=\"default\",nonce=\"FsxK1F2sX0QvIYFTYdwpNFYlB+uCuXr x7se1tCAa\",qop=\"auth\",charset=utf-8,algorithm=md5-sess" } auths {method: "KERBEROS"mechanism: "GSSAPI"protocol: "hdfs"serverId: "ctum2f0302002.idc.xxx-group.net" }DEBUG [2017-07-28 13:24:46,541] ({main} SaslRpcClient.java[getServerToken]:264) - Get token info proto:interface org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolPB info:@org.apache.hadoop.security.token.TokenInfo(value=class org.apache.hadoop.hdfs.security.token.delegation.DelegationToken Selector) DEBUG [2017-07-28 13:24:46,542] ({main} SaslRpcClient.java[getServerPrincipal]:291) - Get kerberos info proto:interface org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolPB info:@org.apache.hadoop.security.KerberosInfo(clientPrincipal=, serverPrincipal=dfs.namenode.kerberos.principal) DEBUG [2017-07-28 13:24:46,545] ({main} SaslRpcClient.java[createSaslClient]:236) - RPC Server's Kerberos principal name for protocol=org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProto colPB is hdfs/ctum2f0302002.idc.wanda-group.net@IDC.XXX- GROUP.NETDEBUG [2017-07-28 13:24:46,546] ({main} SaslRpcClient.java[createSaslClient]:247) - Creating SASL GSSAPI(KERBEROS) client to authenticate to service at ctum2f0302002.idc.wanda-group.net DEBUG [2017-07-28 13:24:46,547] ({main} SaslRpcClient.java[selectSaslClient]:176) - Use KERBEROS authentication for protocol ClientNamenodeProtocolPB DEBUG [2017-07-28 13:24:46,564] ({main} SaslRpcClient.java[sendSaslMessage]:457) - Sending sasl message state: INITIATE

      這里摘錄了部分debug日志,這樣就很好的邏輯描述清楚了

    • DFSClient 通過 ClientNamenodeProtocolPB協議來和namenode建立聯系。底層RPC在簡歷連接的時候如果有token則使用token進行建立連接,如果沒有token再進行kerberos認證后建立連接。
    • ?

      image.png


      在dfsclient中使用 DelegationTokenSelector來選取即id為 HDFS_DELEGATION_TOKEN的token。在我們沒有使用

      ?

      YarnSparkHadoopUtil.get.obtainTokensForNamenodes(nns, hadoopConf, credentials)

      當前的UGI中是不能使用token進行連接的。
      在初始化 DFSClient 中,使用的 dfs.client.failover.proxy.provider 是 org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider 在構造過程中會調用

      // The client may have a delegation token set for the logical// URI of the cluster. Clone this token to apply to each of the// underlying IPC addresses so that the IPC code can find it.HAUtil.cloneDelegationTokenForLogicalUri(ugi, uri, addressesOfNns);

      這里的作用在 HA mode下很重要,在HA mode的形式下,我們使用 obtainTokensForNamenodes 生成的 token的 service name 為 ha-hdfs:nn-idc

      DFSClient.java[getDelegationToken]:1066) - Created HDFS_DELEGATION_TOKEN token 735040 for wanghuan70 on ha-hdfs:nn-idc

      但是呢,在rpc連接的時候,使用的host或者ip加port的 service name來尋找 token的,換句話說,即時我們獲取了token,saslRPC在連接的時候也找不到,這里就是使用 HAUtil.java[cloneDelegationTokenForLogicalUri]:329) 將 service name為ha-hdfs:nn-idc 拷貝成和 ip對應的token,這樣
      saslRPC才可以順利使用token。但是要注意的是 只有在DFSClient初始化過程中,才會進行這個token的拷貝。 可是呢,

      ?

      image.png


      在獲取 FileSystem的時候,默認的情況下,這個實例會被cache的,也就是說,DFSClient就不會初始化了,我們更新的token就不會使用 HAUtil.java[cloneDelegationTokenForLogicalUri]:329) 將 service name為ha-hdfs:nn-idc 拷貝成和 ip對應的token,這樣即使這樣
      saslRPC使用仍然是老token,就會過期掉,這就是 https://issues.apache.org/jira/browse/HDFS-9276的描述的問題。針對這個問題,hadoop版本升級后可以修復,還有一個方法就是,如果不cache的話,就會調用 DFSClient 初始化方法,所以,我們可以設置這個默認參數為 true

      ?

    • spark的excutor并不一定一開始就是給定的,是動態的增加的,也就是說一個長應用的AM可能在很長的一段時間內都會和 RM通訊,我們回顧一下上面的內容,我們知道AMRMToken是RM在啟動AM的時候下發的,而且,我們在刷新機制中,僅僅刷新了HDFS_DELEGATION_TOKEN,那邊怎么來處理AMRMToken過期呢,這spark里面其實并沒有在對此做處理,為什么呢?

    建立的saslRPC連接只有空閑時間超過10s中,連接才會被關閉,如果我們的AM保持著對RM的心跳,也就不需要重新與RM建立連接(讀者可以推演一下RM發生準備切換的情景)。

    yarn client 模式

    image.png

    這里只講一下和 yarn cluster的不同之處:

    • 因為Spark Driver是在本地執行,所以在使用SparkSubmit提交的時候 runMain 通過反射執行childMainClass中的main函數,這里的childMainClass 是用戶的代碼。

    • SparkContext生成的過程,根據提交方式,使用YarnClientSchedulerBackend來調度

      image.png

    • 因為用戶的代碼已經本地啟動了,那么啟動的AM里面執行什么呢?
      什么業務代碼都不執行,只負責向RM申請資源。

    • Driver 因為需要獲悉application的執行情況,啟動了一個監控線程,每1s鐘向RM咨詢一次狀態,也不需要刷新token

      image.png


    我們上面所說的 hdfs的token刷新都是在用戶使用 --keytab的方式提交的,如果不是以這種方式提交的長任務,token肯定會失效,會報錯。



    作者:PunyGod
    鏈接:https://www.jianshu.com/p/ae5a3f39a9af
    來源:簡書
    簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

    總結

    以上是生活随笔為你收集整理的kerberos体系下的应用(yarn,spark on yarn)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    yw尤物av无码国产在线观看 | 国产超级va在线观看视频 | 网友自拍区视频精品 | 久激情内射婷内射蜜桃人妖 | 欧美猛少妇色xxxxx | 麻豆国产丝袜白领秘书在线观看 | 人人澡人人妻人人爽人人蜜桃 | 精品夜夜澡人妻无码av蜜桃 | 亚洲伊人久久精品影院 | 日韩精品乱码av一区二区 | 欧美国产日产一区二区 | 久久久国产精品无码免费专区 | 无码av中文字幕免费放 | 麻豆av传媒蜜桃天美传媒 | 日本在线高清不卡免费播放 | 无码人妻丰满熟妇区毛片18 | 中文字幕无码日韩专区 | 清纯唯美经典一区二区 | 未满小14洗澡无码视频网站 | 中文字幕人妻丝袜二区 | 中文字幕人妻丝袜二区 | 一本久久伊人热热精品中文字幕 | 午夜时刻免费入口 | 色欲av亚洲一区无码少妇 | 99久久人妻精品免费二区 | 在线 国产 欧美 亚洲 天堂 | 色五月丁香五月综合五月 | 欧美激情一区二区三区成人 | 999久久久国产精品消防器材 | 国产精品亚洲五月天高清 | 激情亚洲一区国产精品 | 精品久久8x国产免费观看 | 国产精品毛片一区二区 | 欧洲vodafone精品性 | 国产97色在线 | 免 | 国产精品久久久久久无码 | 日韩欧美成人免费观看 | 国产精品久久久一区二区三区 | 天堂亚洲2017在线观看 | 亚洲第一无码av无码专区 | 骚片av蜜桃精品一区 | 人妻中文无码久热丝袜 | 久久无码中文字幕免费影院蜜桃 | 国产97在线 | 亚洲 | 1000部啪啪未满十八勿入下载 | 久久综合狠狠综合久久综合88 | www国产亚洲精品久久久日本 | 久久久国产一区二区三区 | 国产片av国语在线观看 | 日韩 欧美 动漫 国产 制服 | 成熟妇人a片免费看网站 | 亚洲精品一区二区三区大桥未久 | 国产suv精品一区二区五 | 亚洲精品久久久久久一区二区 | 亚洲熟妇色xxxxx欧美老妇y | 青青久在线视频免费观看 | 理论片87福利理论电影 | 亚洲无人区午夜福利码高清完整版 | 国産精品久久久久久久 | 久久精品国产一区二区三区肥胖 | 欧美亚洲国产一区二区三区 | 国内老熟妇对白xxxxhd | 真人与拘做受免费视频 | 在线观看国产午夜福利片 | 亚洲熟妇色xxxxx欧美老妇y | 国产亚洲精品久久久ai换 | 中文无码精品a∨在线观看不卡 | 色诱久久久久综合网ywww | 超碰97人人做人人爱少妇 | 国产精品人人妻人人爽 | 国产精品亚洲а∨无码播放麻豆 | 天堂а√在线中文在线 | 男女猛烈xx00免费视频试看 | 亚洲 日韩 欧美 成人 在线观看 | 97精品人妻一区二区三区香蕉 | 学生妹亚洲一区二区 | 3d动漫精品啪啪一区二区中 | 日欧一片内射va在线影院 | 久久天天躁狠狠躁夜夜免费观看 | 亚洲色欲色欲天天天www | 麻豆蜜桃av蜜臀av色欲av | 中文字幕日产无线码一区 | 理论片87福利理论电影 | 妺妺窝人体色www婷婷 | 无人区乱码一区二区三区 | 亚洲国产精品久久人人爱 | a国产一区二区免费入口 | 夜夜高潮次次欢爽av女 | 国产成人综合美国十次 | 国产成人亚洲综合无码 | 久久久久久av无码免费看大片 | 国产又爽又猛又粗的视频a片 | 日本一区二区三区免费高清 | 国产精品亚洲五月天高清 | 亚洲の无码国产の无码影院 | 精品国偷自产在线视频 | 精品久久综合1区2区3区激情 | 精品一区二区三区无码免费视频 | 国产精品手机免费 | 大肉大捧一进一出视频出来呀 | 久久久久国色av免费观看性色 | 55夜色66夜色国产精品视频 | 狠狠综合久久久久综合网 | 中文字幕亚洲情99在线 | 无遮无挡爽爽免费视频 | 蜜臀aⅴ国产精品久久久国产老师 | 老头边吃奶边弄进去呻吟 | 日韩成人一区二区三区在线观看 | 中文无码精品a∨在线观看不卡 | 色综合久久88色综合天天 | 精品久久8x国产免费观看 | 日日碰狠狠躁久久躁蜜桃 | 久久久精品456亚洲影院 | 水蜜桃亚洲一二三四在线 | 最新国产乱人伦偷精品免费网站 | 在线观看国产午夜福利片 | 亚洲 日韩 欧美 成人 在线观看 | 国产成人无码a区在线观看视频app | 亚洲成a人片在线观看日本 | 欧美一区二区三区视频在线观看 | 丰满人妻翻云覆雨呻吟视频 | 国产免费无码一区二区视频 | 欧美熟妇另类久久久久久多毛 | 亚洲欧美日韩综合久久久 | 中文字幕色婷婷在线视频 | 欧美丰满熟妇xxxx | 伊人久久婷婷五月综合97色 | 久久亚洲中文字幕精品一区 | 午夜精品一区二区三区在线观看 | 精品成在人线av无码免费看 | 国产精品久久国产精品99 | 九九在线中文字幕无码 | 无码人妻精品一区二区三区不卡 | 亚拍精品一区二区三区探花 | 亚洲日韩一区二区三区 | 在线播放免费人成毛片乱码 | 牲欲强的熟妇农村老妇女视频 | 欧美日韩色另类综合 | 亚洲中文字幕在线无码一区二区 | 久久久久久九九精品久 | 午夜精品久久久久久久久 | 午夜嘿嘿嘿影院 | 无码任你躁久久久久久久 | 国产精品久久久一区二区三区 | 人妻熟女一区 | 国产片av国语在线观看 | 国产成人无码专区 | 国产真实伦对白全集 | 一区二区三区乱码在线 | 欧洲 | 在线a亚洲视频播放在线观看 | 亚洲成av人综合在线观看 | 日产精品高潮呻吟av久久 | 精品国产aⅴ无码一区二区 | 亚洲乱亚洲乱妇50p | 无遮挡国产高潮视频免费观看 | 在线亚洲高清揄拍自拍一品区 | 中文毛片无遮挡高清免费 | 内射老妇bbwx0c0ck | 精品国产成人一区二区三区 | 亚洲欧美精品伊人久久 | 男女猛烈xx00免费视频试看 | 久久亚洲中文字幕精品一区 | 久久久久se色偷偷亚洲精品av | 高中生自慰www网站 | 国产成人综合在线女婷五月99播放 | 亚洲午夜无码久久 | 久久综合给合久久狠狠狠97色 | 免费无码一区二区三区蜜桃大 | 水蜜桃av无码 | 窝窝午夜理论片影院 | 色婷婷香蕉在线一区二区 | www国产亚洲精品久久网站 | 国产无遮挡吃胸膜奶免费看 | 无码任你躁久久久久久久 | 亚洲s码欧洲m码国产av | 欧美日韩久久久精品a片 | 久久综合色之久久综合 | 国内精品人妻无码久久久影院 | 国内精品人妻无码久久久影院 | 波多野结衣av一区二区全免费观看 | 77777熟女视频在线观看 а天堂中文在线官网 | 老头边吃奶边弄进去呻吟 | 亚洲午夜福利在线观看 | 97无码免费人妻超级碰碰夜夜 | 国产亚洲精品久久久闺蜜 | 国产亚洲精品久久久久久久 | 欧美大屁股xxxxhd黑色 | 国产亚洲精品久久久ai换 | 国产亚洲日韩欧美另类第八页 | 国内少妇偷人精品视频免费 | 国产成人精品三级麻豆 | 日韩欧美中文字幕在线三区 | 国产色视频一区二区三区 | 欧美第一黄网免费网站 | 亚洲精品一区二区三区四区五区 | 色婷婷综合中文久久一本 | 丰满肥臀大屁股熟妇激情视频 | 久久国产精品二国产精品 | 亚洲精品国产精品乱码不卡 | 国产免费久久久久久无码 | 婷婷丁香五月天综合东京热 | 亚洲精品一区二区三区在线 | 日韩视频 中文字幕 视频一区 | 乱中年女人伦av三区 | 99视频精品全部免费免费观看 | 亚洲成a人一区二区三区 | 国产午夜无码精品免费看 | 在线精品国产一区二区三区 | 亚洲精品中文字幕 | 国产国产精品人在线视 | 伊人久久大香线蕉av一区二区 | 漂亮人妻洗澡被公强 日日躁 | 亚洲日韩精品欧美一区二区 | 欧美35页视频在线观看 | 中文字幕无码免费久久9一区9 | 亚洲综合伊人久久大杳蕉 | 国产综合久久久久鬼色 | 精品久久久久久亚洲精品 | 中国大陆精品视频xxxx | 国产亚洲精品久久久久久大师 | 亚洲男人av天堂午夜在 | 亚洲成在人网站无码天堂 | 内射欧美老妇wbb | 亚洲综合在线一区二区三区 | 宝宝好涨水快流出来免费视频 | 狂野欧美性猛xxxx乱大交 | 无码福利日韩神码福利片 | 免费网站看v片在线18禁无码 | 亚洲色在线无码国产精品不卡 | 奇米影视7777久久精品人人爽 | 日韩人妻无码中文字幕视频 | 欧美丰满熟妇xxxx性ppx人交 | 又大又紧又粉嫩18p少妇 | 国产精品无码一区二区三区不卡 | 亚洲自偷自偷在线制服 | 纯爱无遮挡h肉动漫在线播放 | 欧美xxxxx精品 | 亚洲精品国产精品乱码不卡 | 成人毛片一区二区 | 无码免费一区二区三区 | 久久亚洲国产成人精品性色 | 三上悠亚人妻中文字幕在线 | 成人影院yy111111在线观看 | 亚洲成色在线综合网站 | 国产欧美精品一区二区三区 | 1000部夫妻午夜免费 | 午夜精品久久久久久久 | 欧美熟妇另类久久久久久多毛 | 在线а√天堂中文官网 | 久久久精品国产sm最大网站 | 欧美老人巨大xxxx做受 | 麻豆国产人妻欲求不满谁演的 | 国产精品99久久精品爆乳 | 久久精品国产一区二区三区 | 男人和女人高潮免费网站 | 日韩人妻无码中文字幕视频 | 日韩成人一区二区三区在线观看 | 狠狠噜狠狠狠狠丁香五月 | 一区二区三区乱码在线 | 欧洲 | 好爽又高潮了毛片免费下载 | 欧美熟妇另类久久久久久不卡 | 女人色极品影院 | 亚洲gv猛男gv无码男同 | 四十如虎的丰满熟妇啪啪 | 亚洲精品www久久久 | 999久久久国产精品消防器材 | 精品国产精品久久一区免费式 | 国精品人妻无码一区二区三区蜜柚 | 亚洲精品一区二区三区四区五区 | 欧美 丝袜 自拍 制服 另类 | 国产特级毛片aaaaaa高潮流水 | 曰韩无码二三区中文字幕 | 人人妻人人藻人人爽欧美一区 | 日韩精品无码一本二本三本色 | 国产色视频一区二区三区 | 国产亚洲精品久久久久久久久动漫 | 东北女人啪啪对白 | 67194成是人免费无码 | 欧美日韩一区二区免费视频 | 久久97精品久久久久久久不卡 | aa片在线观看视频在线播放 | 性色av无码免费一区二区三区 | аⅴ资源天堂资源库在线 | 97久久国产亚洲精品超碰热 | 欧美色就是色 | 亚洲精品国产a久久久久久 | 色婷婷久久一区二区三区麻豆 | 国产内射爽爽大片视频社区在线 | 学生妹亚洲一区二区 | 中文字幕无线码免费人妻 | 中国女人内谢69xxxx | 亚洲欧美国产精品专区久久 | 国产明星裸体无码xxxx视频 | 国产精品久久久午夜夜伦鲁鲁 | 精品国精品国产自在久国产87 | 亚洲熟女一区二区三区 | 欧美老熟妇乱xxxxx | 欧美高清在线精品一区 | 给我免费的视频在线观看 | 日韩精品无码免费一区二区三区 | 一个人看的www免费视频在线观看 | 欧美性色19p | 亚洲另类伦春色综合小说 | 国产精品美女久久久 | 人妻无码αv中文字幕久久琪琪布 | 中文精品久久久久人妻不卡 | 中文无码精品a∨在线观看不卡 | 亚洲精品国产a久久久久久 | 久久99精品国产麻豆 | 亚洲色大成网站www国产 | 国产精品亚洲lv粉色 | 国产亚洲精品久久久久久 | 免费中文字幕日韩欧美 | 亚洲日本一区二区三区在线 | 欧美熟妇另类久久久久久不卡 | 国产午夜福利100集发布 | 国产人妻大战黑人第1集 | 骚片av蜜桃精品一区 | 亚洲春色在线视频 | 又大又紧又粉嫩18p少妇 | 国产成人无码a区在线观看视频app | 中文字幕日产无线码一区 | 亚洲国产欧美日韩精品一区二区三区 | 国产性生交xxxxx无码 | 激情人妻另类人妻伦 | 国产黑色丝袜在线播放 | 人妻体内射精一区二区三四 | 国产精品久久久久久久9999 | 蜜桃无码一区二区三区 | 亚洲中文字幕av在天堂 | 自拍偷自拍亚洲精品被多人伦好爽 | 任你躁国产自任一区二区三区 | 在教室伦流澡到高潮hnp视频 | 欧美日本精品一区二区三区 | 久久久成人毛片无码 | 性色av无码免费一区二区三区 | 人妻夜夜爽天天爽三区 | 熟妇女人妻丰满少妇中文字幕 | 欧美日韩在线亚洲综合国产人 | 老熟女重囗味hdxx69 | 久久久久国色av免费观看性色 | 国产美女极度色诱视频www | 精品久久久无码中文字幕 | 国产精品爱久久久久久久 | 久久久久成人精品免费播放动漫 | 狠狠色噜噜狠狠狠7777奇米 | 精品国产乱码久久久久乱码 | 欧美zoozzooz性欧美 | 免费无码av一区二区 | 国产特级毛片aaaaaaa高清 | 正在播放东北夫妻内射 | 亚洲国产精品久久人人爱 | 又黄又爽又色的视频 | 精品午夜福利在线观看 | 亚洲成av人在线观看网址 | 久久国语露脸国产精品电影 | 天下第一社区视频www日本 | 六月丁香婷婷色狠狠久久 | 免费网站看v片在线18禁无码 | 人人妻人人澡人人爽欧美一区 | 波多野结衣 黑人 | 人人妻在人人 | 狠狠色噜噜狠狠狠7777奇米 | 97久久超碰中文字幕 | 色欲av亚洲一区无码少妇 | 夜精品a片一区二区三区无码白浆 | 7777奇米四色成人眼影 | 国产精品亚洲五月天高清 | 精品人妻中文字幕有码在线 | 亚洲成av人片在线观看无码不卡 | 国产卡一卡二卡三 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲第一网站男人都懂 | 国产精品久久久久7777 | 日产精品高潮呻吟av久久 | 久久国产精品偷任你爽任你 | 国产超级va在线观看视频 | 天堂在线观看www | 欧美日韩一区二区免费视频 | 国产午夜精品一区二区三区嫩草 | 日韩亚洲欧美精品综合 | 久久久久亚洲精品中文字幕 | 亚洲综合久久一区二区 | 日本一卡2卡3卡四卡精品网站 | 欧美精品国产综合久久 | 国产高清不卡无码视频 | 亚洲区欧美区综合区自拍区 | 性生交片免费无码看人 | aa片在线观看视频在线播放 | 久久久久久亚洲精品a片成人 | 久久精品人妻少妇一区二区三区 | 熟妇人妻中文av无码 | 精品人妻av区 | 强辱丰满人妻hd中文字幕 | 色综合久久88色综合天天 | 国产小呦泬泬99精品 | 成 人 网 站国产免费观看 | 中文无码伦av中文字幕 | 在线а√天堂中文官网 | 精品一二三区久久aaa片 | 色 综合 欧美 亚洲 国产 | 国产成人无码a区在线观看视频app | 日韩精品一区二区av在线 | 国产精品二区一区二区aⅴ污介绍 | 伊人久久大香线蕉亚洲 | 日本www一道久久久免费榴莲 | 国产亚洲精品久久久久久久 | 嫩b人妻精品一区二区三区 | 99er热精品视频 | 免费无码肉片在线观看 | 伊人久久大香线蕉午夜 | 亚洲国产综合无码一区 | 亚洲成a人片在线观看无码 | 精品成在人线av无码免费看 | 国内揄拍国内精品人妻 | 一本色道久久综合狠狠躁 | 啦啦啦www在线观看免费视频 | 清纯唯美经典一区二区 | 无码成人精品区在线观看 | 2019午夜福利不卡片在线 | 国产69精品久久久久app下载 | 中文字幕人成乱码熟女app | 国产精品沙发午睡系列 | 国产婷婷色一区二区三区在线 | 日韩精品a片一区二区三区妖精 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 中文字幕乱码亚洲无线三区 | 国产成人无码午夜视频在线观看 | 人妻夜夜爽天天爽三区 | 亚洲熟妇自偷自拍另类 | 亚洲最大成人网站 | 国产精品久免费的黄网站 | 国产亚洲视频中文字幕97精品 | 大屁股大乳丰满人妻 | 国产午夜无码精品免费看 | 欧美高清在线精品一区 | 久久午夜无码鲁丝片午夜精品 | 理论片87福利理论电影 | 无码一区二区三区在线观看 | 亚洲精品国产a久久久久久 | 国产乱人伦av在线无码 | 噜噜噜亚洲色成人网站 | 久久久www成人免费毛片 | 日本精品高清一区二区 | 亚洲码国产精品高潮在线 | 欧美zoozzooz性欧美 | 亚洲乱码中文字幕在线 | 熟妇人妻无乱码中文字幕 | 99久久精品日本一区二区免费 | 国产综合在线观看 | 亚洲国产欧美国产综合一区 | 欧美真人作爱免费视频 | 永久免费观看美女裸体的网站 | 亚洲成在人网站无码天堂 | 免费无码肉片在线观看 | 亚洲 a v无 码免 费 成 人 a v | 青春草在线视频免费观看 | www成人国产高清内射 | 久久综合激激的五月天 | 免费国产成人高清在线观看网站 | 亚洲精品成a人在线观看 | 乱码av麻豆丝袜熟女系列 | 夜先锋av资源网站 | 久9re热视频这里只有精品 | 国产精品亚洲а∨无码播放麻豆 | 亚洲呦女专区 | 激情综合激情五月俺也去 | 波多野结衣av一区二区全免费观看 | 精品国产麻豆免费人成网站 | 日韩亚洲欧美精品综合 | 在线观看国产一区二区三区 | 狠狠cao日日穞夜夜穞av | 国产精品人人妻人人爽 | 正在播放东北夫妻内射 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产女主播喷水视频在线观看 | 免费无码一区二区三区蜜桃大 | 欧美成人免费全部网站 | 欧洲熟妇色 欧美 | 国产成人综合色在线观看网站 | 日韩欧美群交p片內射中文 | 特级做a爰片毛片免费69 | 日韩少妇内射免费播放 | 夜夜影院未满十八勿进 | 蜜桃视频插满18在线观看 | 国产真实夫妇视频 | 国产成人一区二区三区别 | 狠狠躁日日躁夜夜躁2020 | 亚洲中文字幕久久无码 | 丝袜美腿亚洲一区二区 | 亚洲精品一区三区三区在线观看 | 亚洲精品国产精品乱码视色 | 激情亚洲一区国产精品 | 丰腴饱满的极品熟妇 | 国产sm调教视频在线观看 | 国产精品二区一区二区aⅴ污介绍 | 亚洲精品一区二区三区在线 | 97久久国产亚洲精品超碰热 | 亚洲精品午夜国产va久久成人 | 久青草影院在线观看国产 | 久久亚洲中文字幕无码 | 久久99精品国产.久久久久 | 俺去俺来也在线www色官网 | 国产sm调教视频在线观看 | av无码不卡在线观看免费 | 少妇一晚三次一区二区三区 | 欧美老妇交乱视频在线观看 | 国产精品亚洲综合色区韩国 | 性欧美videos高清精品 | 亚洲欧洲中文日韩av乱码 | 国产人妻精品午夜福利免费 | 中文字幕人妻无码一夲道 | 国内精品人妻无码久久久影院 | 76少妇精品导航 | 无码国产乱人伦偷精品视频 | 国产精品爱久久久久久久 | 老司机亚洲精品影院 | 国产两女互慰高潮视频在线观看 | 久久精品中文字幕一区 | 98国产精品综合一区二区三区 | 亚洲综合色区中文字幕 | 麻豆国产人妻欲求不满 | 国产午夜亚洲精品不卡 | 撕开奶罩揉吮奶头视频 | 国产内射老熟女aaaa | 欧美亚洲日韩国产人成在线播放 | 国产国语老龄妇女a片 | 国产激情无码一区二区app | 亚洲精品无码人妻无码 | 久久99国产综合精品 | 国产成人精品久久亚洲高清不卡 | 久久久精品欧美一区二区免费 | 国产性生大片免费观看性 | 亚洲精品欧美二区三区中文字幕 | 丝袜足控一区二区三区 | 久久国产精品精品国产色婷婷 | 国产成人精品久久亚洲高清不卡 | 性欧美大战久久久久久久 | 在线观看国产一区二区三区 | 国产无套内射久久久国产 | 国产特级毛片aaaaaa高潮流水 | 国产精品高潮呻吟av久久 | 夜夜高潮次次欢爽av女 | 亚洲欧美日韩成人高清在线一区 | 一个人看的www免费视频在线观看 | 九九热爱视频精品 | 国产乱人伦偷精品视频 | 亚洲精品国产精品乱码视色 | 国产亲子乱弄免费视频 | 日产国产精品亚洲系列 | 色窝窝无码一区二区三区色欲 | 精品国偷自产在线 | 黑人大群体交免费视频 | 亚洲日韩av一区二区三区四区 | 夜夜影院未满十八勿进 | 天堂久久天堂av色综合 | 老头边吃奶边弄进去呻吟 | 亚洲成熟女人毛毛耸耸多 | 亚洲欧美综合区丁香五月小说 | а√天堂www在线天堂小说 | 女人高潮内射99精品 | 女人被爽到呻吟gif动态图视看 | 鲁大师影院在线观看 | 99久久婷婷国产综合精品青草免费 | 成人免费视频视频在线观看 免费 | 日产国产精品亚洲系列 | 色婷婷综合中文久久一本 | 76少妇精品导航 | 日本熟妇大屁股人妻 | 国产精品嫩草久久久久 | 欧美精品一区二区精品久久 | 爆乳一区二区三区无码 | 国产麻豆精品一区二区三区v视界 | 成人欧美一区二区三区 | 2020久久香蕉国产线看观看 | 亚洲欧美日韩成人高清在线一区 | 日本高清一区免费中文视频 | 亚洲精品美女久久久久久久 | 国内精品人妻无码久久久影院蜜桃 | 久久精品国产亚洲精品 | 激情亚洲一区国产精品 | 国产亚洲精品精品国产亚洲综合 | 好男人社区资源 | 激情爆乳一区二区三区 | 无码福利日韩神码福利片 | 少妇久久久久久人妻无码 | 日本高清一区免费中文视频 | 国产亚洲精品久久久闺蜜 | 国产午夜视频在线观看 | 荫蒂被男人添的好舒服爽免费视频 | 漂亮人妻洗澡被公强 日日躁 | 免费播放一区二区三区 | 久久精品中文闷骚内射 | 76少妇精品导航 | 日本爽爽爽爽爽爽在线观看免 | 无码人妻精品一区二区三区下载 | 日韩精品久久久肉伦网站 | 18禁黄网站男男禁片免费观看 | 国产精品怡红院永久免费 | 少妇愉情理伦片bd | 亚洲爆乳无码专区 | 免费男性肉肉影院 | 日韩人妻少妇一区二区三区 | 天天做天天爱天天爽综合网 | 欧美日韩在线亚洲综合国产人 | 一本无码人妻在中文字幕免费 | 无码人妻丰满熟妇区毛片18 | 妺妺窝人体色www在线小说 | 成熟妇人a片免费看网站 | 日本一卡二卡不卡视频查询 | 搡女人真爽免费视频大全 | 国产三级久久久精品麻豆三级 | 无遮挡国产高潮视频免费观看 | 国产亚洲精品久久久ai换 | 亚洲成av人综合在线观看 | 免费无码肉片在线观看 | 性史性农村dvd毛片 | 日韩人妻系列无码专区 | 无码人妻久久一区二区三区不卡 | 亚洲s码欧洲m码国产av | 亚洲无人区午夜福利码高清完整版 | 久久zyz资源站无码中文动漫 | 国产另类ts人妖一区二区 | a在线观看免费网站大全 | 国产精品久久久久7777 | 精品人人妻人人澡人人爽人人 | 婷婷综合久久中文字幕蜜桃三电影 | 天天摸天天碰天天添 | aⅴ在线视频男人的天堂 | 国产艳妇av在线观看果冻传媒 | 欧美日韩在线亚洲综合国产人 | 野外少妇愉情中文字幕 | 无码人妻精品一区二区三区不卡 | 夜精品a片一区二区三区无码白浆 | 内射巨臀欧美在线视频 | 久久久无码中文字幕久... | 国产精品理论片在线观看 | 亚洲综合在线一区二区三区 | 国产成人久久精品流白浆 | 青青青手机频在线观看 | 国产精品高潮呻吟av久久 | 亚洲春色在线视频 | av无码久久久久不卡免费网站 | 精品国产一区二区三区四区在线看 | 亚洲国产精品毛片av不卡在线 | 麻豆蜜桃av蜜臀av色欲av | 国产凸凹视频一区二区 | av无码不卡在线观看免费 | 伊在人天堂亚洲香蕉精品区 | 老熟女乱子伦 | 暴力强奷在线播放无码 | 无码吃奶揉捏奶头高潮视频 | 亚洲乱亚洲乱妇50p | 男女猛烈xx00免费视频试看 | 久久久av男人的天堂 | 免费无码av一区二区 | 亚洲人交乣女bbw | 少妇的肉体aa片免费 | 伊人久久婷婷五月综合97色 | 日本成熟视频免费视频 | 伊在人天堂亚洲香蕉精品区 | 国产精品亚洲专区无码不卡 | 国产精品-区区久久久狼 | 国产av一区二区三区最新精品 | 国产精品久久久午夜夜伦鲁鲁 | 色欲人妻aaaaaaa无码 | 欧美自拍另类欧美综合图片区 | 少妇性l交大片欧洲热妇乱xxx | 少妇人妻av毛片在线看 | 国产精品视频免费播放 | 欧美成人高清在线播放 | 日韩欧美中文字幕在线三区 | 精品少妇爆乳无码av无码专区 | 久久97精品久久久久久久不卡 | 久久午夜无码鲁丝片秋霞 | 狠狠色噜噜狠狠狠狠7777米奇 | 久久久久久久久蜜桃 | 欧美精品一区二区精品久久 | 漂亮人妻洗澡被公强 日日躁 | a在线亚洲男人的天堂 | 国产无遮挡吃胸膜奶免费看 | 亚洲国产精品一区二区美利坚 | 午夜精品一区二区三区的区别 | 黑人粗大猛烈进出高潮视频 | 国产乱人无码伦av在线a | 国产精品国产三级国产专播 | 波多野结衣乳巨码无在线观看 | 久久熟妇人妻午夜寂寞影院 | 色五月丁香五月综合五月 | 国产人妻大战黑人第1集 | 久久99精品国产.久久久久 | 国产成人一区二区三区别 | 国产成人精品三级麻豆 | 领导边摸边吃奶边做爽在线观看 | 中文字幕中文有码在线 | 国产在线精品一区二区高清不卡 | 国产精品高潮呻吟av久久 | 成人动漫在线观看 | 精品国产一区二区三区av 性色 | 色情久久久av熟女人妻网站 | 美女黄网站人色视频免费国产 | 欧洲vodafone精品性 | 久精品国产欧美亚洲色aⅴ大片 | 中文字幕无码免费久久99 | 一本无码人妻在中文字幕免费 | 欧美三级a做爰在线观看 | 天天摸天天透天天添 | 精品偷拍一区二区三区在线看 | 动漫av网站免费观看 | 清纯唯美经典一区二区 | 呦交小u女精品视频 | 天天躁夜夜躁狠狠是什么心态 | 正在播放东北夫妻内射 | 丝袜美腿亚洲一区二区 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产在线一区二区三区四区五区 | 亚洲人交乣女bbw | 精品国精品国产自在久国产87 | 欧美人妻一区二区三区 | 精品无人国产偷自产在线 | 熟妇人妻无乱码中文字幕 | 黑人巨大精品欧美一区二区 | 波多野结衣一区二区三区av免费 | 67194成是人免费无码 | 无码人中文字幕 | 精品久久久无码中文字幕 | 成人无码精品1区2区3区免费看 | 国产成人久久精品流白浆 | 久久精品中文字幕大胸 | 久久精品丝袜高跟鞋 | 波多野结衣av在线观看 | 蜜臀av在线播放 久久综合激激的五月天 | 国产无遮挡又黄又爽又色 | 精品欧洲av无码一区二区三区 | 色综合久久久无码网中文 | 日日摸夜夜摸狠狠摸婷婷 | 久久99精品国产麻豆蜜芽 | av人摸人人人澡人人超碰下载 | 国产午夜无码视频在线观看 | 东京热一精品无码av | 亚洲娇小与黑人巨大交 | 久久99国产综合精品 | 久久午夜无码鲁丝片 | 国产偷国产偷精品高清尤物 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 波多野42部无码喷潮在线 | 亚洲综合伊人久久大杳蕉 | 无码午夜成人1000部免费视频 | 欧美丰满少妇xxxx性 | 精品国产一区二区三区四区 | 国产午夜福利亚洲第一 | 国产精品毛片一区二区 | 香蕉久久久久久av成人 | 中文字幕乱码中文乱码51精品 | 免费观看又污又黄的网站 | 一本精品99久久精品77 | 亚拍精品一区二区三区探花 | 中文字幕精品av一区二区五区 | 荫蒂被男人添的好舒服爽免费视频 | 麻豆果冻传媒2021精品传媒一区下载 | 国产精华av午夜在线观看 | 亚洲精品午夜国产va久久成人 | 欧美35页视频在线观看 | 噜噜噜亚洲色成人网站 | 老子影院午夜精品无码 | 丰满诱人的人妻3 | 无码福利日韩神码福利片 | 久久久中文字幕日本无吗 | 51国偷自产一区二区三区 | 成 人影片 免费观看 | 国产精品无套呻吟在线 | 极品嫩模高潮叫床 | 国产精品亚洲综合色区韩国 | 欧美日韩在线亚洲综合国产人 | 人妻插b视频一区二区三区 | 亚洲七七久久桃花影院 | 精品欧洲av无码一区二区三区 | 四十如虎的丰满熟妇啪啪 | 伊人久久婷婷五月综合97色 | 无码av岛国片在线播放 | 亚洲精品国产第一综合99久久 | 欧美高清在线精品一区 | 亚洲精品无码国产 | 一个人看的视频www在线 | 国产精品香蕉在线观看 | 波多野结衣 黑人 | 中文字幕乱码中文乱码51精品 | 日日鲁鲁鲁夜夜爽爽狠狠 | 欧美自拍另类欧美综合图片区 | 中文字幕色婷婷在线视频 | 少妇激情av一区二区 | 精品国产国产综合精品 | 无人区乱码一区二区三区 | 亚洲人成网站色7799 | 亚洲狠狠婷婷综合久久 | 国产精品久久久 | 亚洲熟女一区二区三区 | 精品欧洲av无码一区二区三区 | 亚洲国产一区二区三区在线观看 | 亚洲一区二区三区国产精华液 | 免费国产黄网站在线观看 | 欧美兽交xxxx×视频 | 国产手机在线αⅴ片无码观看 | 国产精品亚洲а∨无码播放麻豆 | 在线精品国产一区二区三区 | 精品少妇爆乳无码av无码专区 | 亚洲爆乳精品无码一区二区三区 | 亚洲 欧美 激情 小说 另类 | 亚洲国产精品久久久天堂 | 国产人妻精品一区二区三区不卡 | 中文字幕无码热在线视频 | 牲欲强的熟妇农村老妇女 | 中文字幕av无码一区二区三区电影 | 少妇性俱乐部纵欲狂欢电影 | 国产精品亚洲专区无码不卡 | 国产精品va在线播放 | 国产午夜无码视频在线观看 | 亚洲熟悉妇女xxx妇女av | 亚洲狠狠色丁香婷婷综合 | 动漫av网站免费观看 | 99久久人妻精品免费一区 | 欧美丰满熟妇xxxx性ppx人交 | 中文字幕乱码中文乱码51精品 | 久久精品丝袜高跟鞋 | 日本又色又爽又黄的a片18禁 | 久久99精品国产麻豆 | 亚洲七七久久桃花影院 | 丁香花在线影院观看在线播放 | 久久天天躁狠狠躁夜夜免费观看 | 欧美三级a做爰在线观看 | 男女爱爱好爽视频免费看 | 日韩精品无码一本二本三本色 | www国产精品内射老师 | 欧美日本日韩 | 亚洲aⅴ无码成人网站国产app | 久久精品视频在线看15 | 扒开双腿疯狂进出爽爽爽视频 | 又大又紧又粉嫩18p少妇 | 无码人妻少妇伦在线电影 | 欧美性猛交内射兽交老熟妇 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 亚洲综合久久一区二区 | 色婷婷综合激情综在线播放 | 国产精品国产自线拍免费软件 | 亚洲の无码国产の无码影院 | 精品久久久久久亚洲精品 | 国产偷自视频区视频 | 亚洲熟妇色xxxxx欧美老妇 | 精品国产aⅴ无码一区二区 | 一本久道久久综合狠狠爱 | 久久久久久亚洲精品a片成人 | 小sao货水好多真紧h无码视频 | 国产精品无码一区二区桃花视频 | 久久久国产一区二区三区 | 亚洲人成网站免费播放 | 亚洲精品成人福利网站 | 麻豆av传媒蜜桃天美传媒 | 伊人色综合久久天天小片 | 国产亚洲精品久久久久久久 | 欧美人与牲动交xxxx | 在线a亚洲视频播放在线观看 | 久久国产精品萌白酱免费 | 99国产精品白浆在线观看免费 | 最近中文2019字幕第二页 | 国产成人一区二区三区在线观看 | 国产激情无码一区二区 | 国产精品办公室沙发 | 亚洲欧美日韩成人高清在线一区 | 亚洲人成影院在线无码按摩店 | 乱中年女人伦av三区 | 无人区乱码一区二区三区 | 婷婷色婷婷开心五月四房播播 | 激情内射亚州一区二区三区爱妻 | 日本一本二本三区免费 | 国产艳妇av在线观看果冻传媒 | 2019nv天堂香蕉在线观看 | 国产免费久久精品国产传媒 | 少妇久久久久久人妻无码 | 亚洲aⅴ无码成人网站国产app | 99久久人妻精品免费一区 | 无码人妻少妇伦在线电影 | 久久综合网欧美色妞网 | 久久99精品久久久久久动态图 | 丁香啪啪综合成人亚洲 | 女人和拘做爰正片视频 | 7777奇米四色成人眼影 | 又黄又爽又色的视频 | 日韩精品无码一本二本三本色 | 欧美熟妇另类久久久久久多毛 | 人妻夜夜爽天天爽三区 | 高潮毛片无遮挡高清免费 | 亚洲小说春色综合另类 | 中文久久乱码一区二区 | 国産精品久久久久久久 | 九九热爱视频精品 | 国产精品亚洲lv粉色 | 日产精品高潮呻吟av久久 | 亚洲爆乳无码专区 | 色婷婷香蕉在线一区二区 | 亚洲精品一区国产 | 亚洲娇小与黑人巨大交 | 奇米影视888欧美在线观看 | 18无码粉嫩小泬无套在线观看 | 亚洲中文无码av永久不收费 | 亚洲另类伦春色综合小说 | 国产成人精品必看 | 狠狠色丁香久久婷婷综合五月 | 亚洲色在线无码国产精品不卡 | 亚洲经典千人经典日产 | 青青久在线视频免费观看 | 天天摸天天透天天添 | 香蕉久久久久久av成人 | 国产精品99久久精品爆乳 | 色偷偷人人澡人人爽人人模 | 亚洲乱码日产精品bd | 无码播放一区二区三区 | 伊人久久大香线焦av综合影院 | 高清国产亚洲精品自在久久 | 亚洲国产精品无码一区二区三区 | 青草视频在线播放 | 任你躁在线精品免费 | 中文字幕久久久久人妻 | 国产人妻精品一区二区三区 | 精品人妻人人做人人爽 | 狂野欧美性猛xxxx乱大交 | 国产极品美女高潮无套在线观看 | 久久精品国产一区二区三区 | 亚洲精品国偷拍自产在线麻豆 | 丰满肥臀大屁股熟妇激情视频 | 免费观看激色视频网站 | 国产97色在线 | 免 | 少妇高潮喷潮久久久影院 | 成人精品一区二区三区中文字幕 | 国产亚洲人成在线播放 | 性欧美熟妇videofreesex | 日日天日日夜日日摸 | 国产精品久久精品三级 | 亚洲欧美国产精品专区久久 | 国产免费观看黄av片 | 亚洲欧美国产精品久久 | 99久久精品无码一区二区毛片 | 久久天天躁狠狠躁夜夜免费观看 | 久久精品国产一区二区三区肥胖 | 日本大香伊一区二区三区 | 性欧美疯狂xxxxbbbb | 欧美日本免费一区二区三区 | 熟女俱乐部五十路六十路av | 国产成人综合美国十次 | 中文字幕人妻无码一区二区三区 | 国产av无码专区亚洲awww | 国产精品国产三级国产专播 | 中文字幕av伊人av无码av | 亚洲欧美综合区丁香五月小说 | 人人妻人人澡人人爽人人精品 | 色噜噜亚洲男人的天堂 | 亚洲国产日韩a在线播放 | 久久精品女人的天堂av | 男人扒开女人内裤强吻桶进去 | 欧美变态另类xxxx | 国产午夜无码精品免费看 | 日本成熟视频免费视频 | 999久久久国产精品消防器材 | 国产真实伦对白全集 | 兔费看少妇性l交大片免费 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 中文字幕 亚洲精品 第1页 | 日韩av无码一区二区三区 | 国产av久久久久精东av | 亚洲国产综合无码一区 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 免费人成网站视频在线观看 | 亚洲一区二区三区 | 欧美日韩一区二区三区自拍 | 国内少妇偷人精品视频 | 在线精品国产一区二区三区 | 国内精品一区二区三区不卡 | 国产av一区二区三区最新精品 | 国产无遮挡又黄又爽又色 | 欧洲精品码一区二区三区免费看 | 麻豆蜜桃av蜜臀av色欲av | 久久国产精品精品国产色婷婷 | 久久久久99精品成人片 | 一二三四在线观看免费视频 | 西西人体www44rt大胆高清 | 久久国产精品偷任你爽任你 | 女人被爽到呻吟gif动态图视看 | 国产超碰人人爽人人做人人添 | 国产性生大片免费观看性 | 国产一精品一av一免费 | 欧美 丝袜 自拍 制服 另类 | 久久无码中文字幕免费影院蜜桃 | 中文字幕无码av激情不卡 | 国产一区二区三区日韩精品 | 国产片av国语在线观看 | 性欧美videos高清精品 | 亚洲精品一区二区三区婷婷月 | 国产av一区二区三区最新精品 | 欧美第一黄网免费网站 | 国产精品第一区揄拍无码 | 亚洲s码欧洲m码国产av | 国产精品久久久久9999小说 | а√天堂www在线天堂小说 | 国产免费观看黄av片 | 亚洲精品国产a久久久久久 | 国产精品-区区久久久狼 | 精品国产一区二区三区av 性色 | 又大又硬又爽免费视频 | 国产在线aaa片一区二区99 | 欧美老妇与禽交 | 丰满少妇熟乱xxxxx视频 | 国产无遮挡吃胸膜奶免费看 | 樱花草在线社区www | 久在线观看福利视频 | 亚洲熟熟妇xxxx | 国产真实伦对白全集 | 2020久久香蕉国产线看观看 | 婷婷六月久久综合丁香 | 乱人伦中文视频在线观看 | 18精品久久久无码午夜福利 | 成人免费视频一区二区 | 精品国产成人一区二区三区 | 中文字幕无码免费久久9一区9 | 国产精品视频免费播放 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 欧美精品免费观看二区 | 男女猛烈xx00免费视频试看 | 国产在线精品一区二区高清不卡 | 少妇性l交大片欧洲热妇乱xxx | 天天摸天天透天天添 | 蜜桃视频韩日免费播放 | 精品乱子伦一区二区三区 | 人人妻人人澡人人爽精品欧美 | 欧美黑人乱大交 | 国产精品第一国产精品 | 久久精品国产一区二区三区 | 无码国模国产在线观看 | 伊人久久婷婷五月综合97色 | 99久久久无码国产aaa精品 | 男女下面进入的视频免费午夜 | 国产精品欧美成人 | 欧美人与禽zoz0性伦交 | 国产美女精品一区二区三区 | 熟妇人妻中文av无码 | 久久无码中文字幕免费影院蜜桃 | 色窝窝无码一区二区三区色欲 | 亚洲欧洲日本综合aⅴ在线 | 精品国精品国产自在久国产87 | 日本护士xxxxhd少妇 | 无码av免费一区二区三区试看 | 97久久国产亚洲精品超碰热 | 三上悠亚人妻中文字幕在线 | 黑人大群体交免费视频 | 中文字幕无码热在线视频 | 在线精品亚洲一区二区 | 成人综合网亚洲伊人 | 欧美成人午夜精品久久久 | 国产成人综合美国十次 | 丝袜人妻一区二区三区 | 亚洲精品国产a久久久久久 | 麻豆人妻少妇精品无码专区 | 九月婷婷人人澡人人添人人爽 | 欧美丰满熟妇xxxx | 高潮毛片无遮挡高清免费视频 | 国产免费久久精品国产传媒 | 亚洲国产精品毛片av不卡在线 | 国产无套粉嫩白浆在线 | 午夜成人1000部免费视频 | 亚洲精品www久久久 | 一二三四在线观看免费视频 | 国产亚洲日韩欧美另类第八页 | 中文字幕乱码人妻二区三区 | 亚洲欧洲日本无在线码 | 久久国内精品自在自线 | 欧美黑人乱大交 | 俺去俺来也在线www色官网 | 欧美日韩亚洲国产精品 | 欧美日韩一区二区免费视频 | 成在人线av无码免费 | 亚洲理论电影在线观看 | 天天av天天av天天透 | 色欲人妻aaaaaaa无码 | 国产激情无码一区二区app | 久久久久成人精品免费播放动漫 | 久久99久久99精品中文字幕 | 麻豆果冻传媒2021精品传媒一区下载 | 欧美放荡的少妇 | 国产亚洲精品久久久久久久 | 天天做天天爱天天爽综合网 | 国内精品人妻无码久久久影院蜜桃 | 欧美人妻一区二区三区 | 久久精品国产一区二区三区肥胖 | 国产手机在线αⅴ片无码观看 | 亚洲自偷自偷在线制服 | 国产精品人人爽人人做我的可爱 | 国产无遮挡又黄又爽免费视频 | 国产精品亚洲一区二区三区喷水 | 无遮挡啪啪摇乳动态图 | 红桃av一区二区三区在线无码av | 色一情一乱一伦一区二区三欧美 | 夜先锋av资源网站 | 男女超爽视频免费播放 | 18无码粉嫩小泬无套在线观看 | 一区二区传媒有限公司 | 亚洲精品国产a久久久久久 | 欧美亚洲国产一区二区三区 | 成在人线av无码免观看麻豆 | 天天躁夜夜躁狠狠是什么心态 | 中文精品无码中文字幕无码专区 | 成人性做爰aaa片免费看不忠 | www成人国产高清内射 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 中文字幕精品av一区二区五区 | aⅴ亚洲 日韩 色 图网站 播放 | 亚洲综合无码一区二区三区 | 久久精品人人做人人综合试看 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲成av人在线观看网址 | 亚洲色欲色欲欲www在线 | 精品久久久无码中文字幕 | 波多野结衣 黑人 | 国产亚洲精品久久久久久国模美 | 99久久精品无码一区二区毛片 | 久久久精品人妻久久影视 | 亚洲熟妇色xxxxx欧美老妇 | 久久精品成人欧美大片 | 精品少妇爆乳无码av无码专区 | 亚洲s码欧洲m码国产av | 欧美国产日产一区二区 | 最新国产麻豆aⅴ精品无码 | 国产香蕉尹人视频在线 | 国产精品人人爽人人做我的可爱 | a片在线免费观看 | 国产真实乱对白精彩久久 | 久久久久久亚洲精品a片成人 | 国产suv精品一区二区五 | 人人妻人人澡人人爽人人精品浪潮 | 国内揄拍国内精品少妇国语 | 国产精品久久久久久久9999 | 无码成人精品区在线观看 | 丰满少妇熟乱xxxxx视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 蜜桃臀无码内射一区二区三区 | 欧美第一黄网免费网站 | 高潮喷水的毛片 | 蜜臀aⅴ国产精品久久久国产老师 | 成人女人看片免费视频放人 | 日韩精品成人一区二区三区 | 亚洲色欲色欲欲www在线 | 激情亚洲一区国产精品 | 人人妻人人澡人人爽精品欧美 | 日本va欧美va欧美va精品 | 午夜不卡av免费 一本久久a久久精品vr综合 | 国产香蕉尹人视频在线 | 精品一区二区三区波多野结衣 | 国产午夜福利亚洲第一 | 丰满岳乱妇在线观看中字无码 | 亚洲色成人中文字幕网站 | 人人妻人人澡人人爽精品欧美 | 国产麻豆精品一区二区三区v视界 | 天天av天天av天天透 | 成人三级无码视频在线观看 | 日韩av激情在线观看 | 亚洲欧洲日本综合aⅴ在线 | 乱人伦人妻中文字幕无码久久网 | 精品无码av一区二区三区 | 国产色精品久久人妻 | 国产精品久久国产三级国 | 成熟人妻av无码专区 | 亚洲一区二区三区在线观看网站 | 久久久久久久女国产乱让韩 | 国产精品人人爽人人做我的可爱 | 欧美熟妇另类久久久久久多毛 | 日日麻批免费40分钟无码 | 亚洲爆乳大丰满无码专区 | 又大又硬又黄的免费视频 | 亚洲狠狠色丁香婷婷综合 | 欧美怡红院免费全部视频 | 在线欧美精品一区二区三区 | 精品人妻人人做人人爽夜夜爽 | 国产精品亚洲lv粉色 | 亚洲乱亚洲乱妇50p | 欧美亚洲日韩国产人成在线播放 | 东京热无码av男人的天堂 | 日韩少妇内射免费播放 | 欧美老人巨大xxxx做受 | 国产香蕉97碰碰久久人人 | 三上悠亚人妻中文字幕在线 | 精品国产av色一区二区深夜久久 | 精品国产麻豆免费人成网站 | 中文精品无码中文字幕无码专区 | 久久熟妇人妻午夜寂寞影院 | 亚洲狠狠色丁香婷婷综合 | 久久久精品成人免费观看 | 性色av无码免费一区二区三区 | 亚洲无人区午夜福利码高清完整版 | av无码不卡在线观看免费 | 日本熟妇人妻xxxxx人hd | 亚欧洲精品在线视频免费观看 | 国语自产偷拍精品视频偷 | 亚洲无人区午夜福利码高清完整版 | 国产9 9在线 | 中文 | 国产人妻人伦精品1国产丝袜 | 色婷婷香蕉在线一区二区 | 亚洲色偷偷男人的天堂 | 精品欧美一区二区三区久久久 | 国产精品亚洲一区二区三区喷水 | 狠狠色欧美亚洲狠狠色www | 亚洲色大成网站www国产 | 久久综合激激的五月天 | 无码精品人妻一区二区三区av | 国产又爽又猛又粗的视频a片 | 青春草在线视频免费观看 | 欧美老妇交乱视频在线观看 | 九九热爱视频精品 | 无码人妻出轨黑人中文字幕 | 女高中生第一次破苞av | 成 人 网 站国产免费观看 | 激情国产av做激情国产爱 | 女高中生第一次破苞av | 综合激情五月综合激情五月激情1 | 欧洲熟妇色 欧美 | 欧美亚洲日韩国产人成在线播放 | 377p欧洲日本亚洲大胆 | 在教室伦流澡到高潮hnp视频 | 亚洲精品久久久久avwww潮水 | 乌克兰少妇性做爰 | 男女作爱免费网站 | 亚洲中文字幕在线无码一区二区 | 亚洲热妇无码av在线播放 | 亚洲精品国偷拍自产在线麻豆 | 国产办公室秘书无码精品99 | 又大又黄又粗又爽的免费视频 | 日韩精品无码一本二本三本色 | 国产黑色丝袜在线播放 | 成人无码精品一区二区三区 | 又湿又紧又大又爽a视频国产 | 无码国产乱人伦偷精品视频 | 亚洲人亚洲人成电影网站色 | 婷婷五月综合缴情在线视频 | 帮老师解开蕾丝奶罩吸乳网站 | 人妻少妇被猛烈进入中文字幕 | 日本丰满护士爆乳xxxx | 午夜肉伦伦影院 | 日本精品人妻无码77777 天堂一区人妻无码 | 亚洲日本va午夜在线电影 | 精品国产成人一区二区三区 | 久久综合激激的五月天 | 色综合久久久无码网中文 | 国产内射老熟女aaaa | 久久国产36精品色熟妇 | 国产精品99爱免费视频 | 清纯唯美经典一区二区 | 国产精品-区区久久久狼 | 欧美乱妇无乱码大黄a片 | 女人色极品影院 | 纯爱无遮挡h肉动漫在线播放 | 日韩欧美中文字幕公布 | 无码毛片视频一区二区本码 | 99久久精品国产一区二区蜜芽 | a片在线免费观看 | 亚洲精品午夜国产va久久成人 | 装睡被陌生人摸出水好爽 | 亚洲欧美日韩成人高清在线一区 | 小鲜肉自慰网站xnxx | 成熟妇人a片免费看网站 | 精品成人av一区二区三区 | 在线播放免费人成毛片乱码 | 久久久久成人精品免费播放动漫 | 天天躁日日躁狠狠躁免费麻豆 | 一本一道久久综合久久 | yw尤物av无码国产在线观看 | 国産精品久久久久久久 | 在线观看国产一区二区三区 | 日本肉体xxxx裸交 | 人人妻人人澡人人爽欧美精品 | 国产成人精品优优av | 亚洲国产精品毛片av不卡在线 | 男人的天堂2018无码 | 亚洲 日韩 欧美 成人 在线观看 | 国产精品免费大片 | 99国产欧美久久久精品 | 波多野结衣av在线观看 | 国产午夜手机精彩视频 | 人妻无码αv中文字幕久久琪琪布 | 久久aⅴ免费观看 | 日本精品少妇一区二区三区 | 激情爆乳一区二区三区 | 国内精品人妻无码久久久影院 | 国产午夜手机精彩视频 | 久久亚洲国产成人精品性色 | 亚洲中文字幕无码中文字在线 | 中文字幕中文有码在线 | 国产内射爽爽大片视频社区在线 | 2020最新国产自产精品 | 无码国产乱人伦偷精品视频 | 99久久精品午夜一区二区 | 欧美性猛交内射兽交老熟妇 | 18禁止看的免费污网站 | 久9re热视频这里只有精品 | 亚洲欧洲日本综合aⅴ在线 | 精品无码一区二区三区的天堂 | 好屌草这里只有精品 | 性色欲网站人妻丰满中文久久不卡 | 午夜时刻免费入口 | 欧美 丝袜 自拍 制服 另类 | 精品久久久久久人妻无码中文字幕 | 狠狠噜狠狠狠狠丁香五月 | 亚洲理论电影在线观看 | 欧美一区二区三区 | 最近中文2019字幕第二页 | 日本丰满护士爆乳xxxx | 国产精品亚洲专区无码不卡 | 日本免费一区二区三区最新 | 亚洲精品一区二区三区大桥未久 | 中文字幕日韩精品一区二区三区 | 樱花草在线播放免费中文 | 亚洲国产成人a精品不卡在线 | 国产精品va在线播放 | 精品国产一区av天美传媒 | 国产午夜亚洲精品不卡下载 | 狠狠躁日日躁夜夜躁2020 | 沈阳熟女露脸对白视频 | 国产精品亚洲五月天高清 | 国产熟女一区二区三区四区五区 | 少妇一晚三次一区二区三区 | 老头边吃奶边弄进去呻吟 | 偷窥村妇洗澡毛毛多 | 国产片av国语在线观看 | 日本大乳高潮视频在线观看 | 一本久道久久综合婷婷五月 | 亚洲乱亚洲乱妇50p | 老子影院午夜精品无码 | 国产精品无码永久免费888 | 久久亚洲精品中文字幕无男同 | 双乳奶水饱满少妇呻吟 | 妺妺窝人体色www在线小说 | 精品国产精品久久一区免费式 | 性欧美牲交xxxxx视频 | 亚洲精品国产a久久久久久 | 成人毛片一区二区 | 国产在线精品一区二区三区直播 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产九九九九九九九a片 | 亚洲国产精品一区二区第一页 | 久久久久久亚洲精品a片成人 | 成人无码精品一区二区三区 | 精品欧洲av无码一区二区三区 | 国产在线精品一区二区高清不卡 | 日本乱偷人妻中文字幕 | 无码毛片视频一区二区本码 | 少妇高潮喷潮久久久影院 | 久久精品女人天堂av免费观看 | 人人妻人人藻人人爽欧美一区 | 清纯唯美经典一区二区 | 久久 国产 尿 小便 嘘嘘 | 中文精品久久久久人妻不卡 | 牲欲强的熟妇农村老妇女 | 性啪啪chinese东北女人 | 国产无遮挡又黄又爽免费视频 | 午夜不卡av免费 一本久久a久久精品vr综合 | a片免费视频在线观看 | 久久熟妇人妻午夜寂寞影院 | 欧美丰满少妇xxxx性 | 国产片av国语在线观看 | √天堂资源地址中文在线 | 国产乱人伦av在线无码 | 丰满人妻一区二区三区免费视频 | 高中生自慰www网站 | 动漫av一区二区在线观看 | 亚洲色欲色欲天天天www | 成人一在线视频日韩国产 | 88国产精品欧美一区二区三区 | 5858s亚洲色大成网站www | 亚洲精品午夜国产va久久成人 | 国产精品怡红院永久免费 | 国产av剧情md精品麻豆 | 久久久精品成人免费观看 | 中文久久乱码一区二区 | 日本免费一区二区三区最新 | 久久久中文久久久无码 | 天干天干啦夜天干天2017 | 欧美丰满少妇xxxx性 | 人人爽人人澡人人高潮 | 人人爽人人澡人人高潮 | 99麻豆久久久国产精品免费 | 国产香蕉尹人综合在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 成人精品视频一区二区 | 麻豆国产97在线 | 欧洲 | 亚洲精品中文字幕乱码 | 国产精品怡红院永久免费 | 精品亚洲韩国一区二区三区 | 国产精品国产自线拍免费软件 | 亚洲啪av永久无码精品放毛片 | 欧美 日韩 亚洲 在线 | 欧美兽交xxxx×视频 | 女人色极品影院 | 国产乱人伦av在线无码 | 国产成人无码av一区二区 | 日产国产精品亚洲系列 | 成人毛片一区二区 | 老子影院午夜伦不卡 | 狠狠cao日日穞夜夜穞av | 久久午夜无码鲁丝片秋霞 | 少妇愉情理伦片bd | 免费国产成人高清在线观看网站 | 亚洲一区av无码专区在线观看 | 日本护士毛茸茸高潮 | 国产av无码专区亚洲a∨毛片 | 色综合久久久无码网中文 | 久久久久人妻一区精品色欧美 | 国产午夜亚洲精品不卡 | 日本一卡2卡3卡四卡精品网站 | 国产高潮视频在线观看 | 精品国产乱码久久久久乱码 | 中文字幕中文有码在线 | 好男人www社区 | 欧美阿v高清资源不卡在线播放 | 亚洲人成无码网www | 熟女少妇人妻中文字幕 | 亚洲阿v天堂在线 | 伊人久久大香线蕉av一区二区 | 精品人人妻人人澡人人爽人人 | 国产精品-区区久久久狼 | 国产乱码精品一品二品 | 国产乱人偷精品人妻a片 | 亚洲a无码综合a国产av中文 | а天堂中文在线官网 | 丰满少妇熟乱xxxxx视频 | 精品偷拍一区二区三区在线看 | 亚洲欧美国产精品久久 | 亚洲国精产品一二二线 | 久久97精品久久久久久久不卡 | 久久99精品国产麻豆蜜芽 | 色综合久久网 | 亚洲熟妇色xxxxx欧美老妇y | 中文字幕av日韩精品一区二区 | 精品一区二区三区波多野结衣 | 久久人妻内射无码一区三区 | 无遮无挡爽爽免费视频 | 久久综合九色综合97网 | 精品国产av色一区二区深夜久久 | 水蜜桃色314在线观看 | 免费观看的无遮挡av | 国产亚洲精品久久久闺蜜 | 国产真实伦对白全集 | 四虎影视成人永久免费观看视频 | 亚洲第一网站男人都懂 | 日韩av无码一区二区三区 | 国产精品久久久一区二区三区 | 乱人伦人妻中文字幕无码久久网 | 扒开双腿疯狂进出爽爽爽视频 | 久久综合久久自在自线精品自 | 亚洲熟妇色xxxxx欧美老妇 | 国产成人无码专区 | 国产婷婷色一区二区三区在线 | 女人和拘做爰正片视频 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 亚洲人成影院在线观看 | 亚洲欧美国产精品专区久久 | 国产精品久久久久久无码 | 日韩欧美中文字幕在线三区 | аⅴ资源天堂资源库在线 | 久久久久久a亚洲欧洲av冫 | 天堂无码人妻精品一区二区三区 | 中文字幕无码日韩欧毛 | 久久精品人人做人人综合 | 午夜熟女插插xx免费视频 | 精品无人国产偷自产在线 | 中文字幕无码av激情不卡 | 无码毛片视频一区二区本码 | 丁香啪啪综合成人亚洲 | 亚洲阿v天堂在线 | 成人欧美一区二区三区黑人 | 亚洲a无码综合a国产av中文 | 久久精品无码一区二区三区 | 成人影院yy111111在线观看 | av无码久久久久不卡免费网站 | 在线看片无码永久免费视频 | 狠狠色丁香久久婷婷综合五月 | 国产精品无码一区二区桃花视频 | 天天爽夜夜爽夜夜爽 | 免费播放一区二区三区 | 国产成人无码av片在线观看不卡 | www国产亚洲精品久久网站 | 波多野结衣乳巨码无在线观看 | 少妇被黑人到高潮喷出白浆 | 伊人久久大香线蕉亚洲 | 亚洲成色www久久网站 | 性欧美牲交xxxxx视频 | 中文字幕av伊人av无码av | 午夜男女很黄的视频 | 狠狠cao日日穞夜夜穞av | 国产精品怡红院永久免费 | 漂亮人妻洗澡被公强 日日躁 | 高潮毛片无遮挡高清免费视频 | 一区二区三区高清视频一 | 欧美自拍另类欧美综合图片区 | 色诱久久久久综合网ywww | 午夜精品一区二区三区的区别 | 水蜜桃亚洲一二三四在线 | 麻豆人妻少妇精品无码专区 | 男人扒开女人内裤强吻桶进去 | 亚洲精品国偷拍自产在线观看蜜桃 | 精品一区二区三区波多野结衣 | 久久精品成人欧美大片 | 欧美阿v高清资源不卡在线播放 | 欧美人与物videos另类 | 久久午夜夜伦鲁鲁片无码免费 | 99久久久国产精品无码免费 | 乌克兰少妇xxxx做受 | 色综合天天综合狠狠爱 | 影音先锋中文字幕无码 | 四虎永久在线精品免费网址 | 久久精品中文字幕大胸 | 亚洲成在人网站无码天堂 | 亚洲午夜久久久影院 | 国内丰满熟女出轨videos | 国产艳妇av在线观看果冻传媒 | 国产色视频一区二区三区 | 亚洲国产综合无码一区 | 中文字幕乱妇无码av在线 | 在线播放亚洲第一字幕 | 久久97精品久久久久久久不卡 | 亚洲熟妇色xxxxx欧美老妇 | 欧美黑人巨大xxxxx | 国产精品手机免费 | 色老头在线一区二区三区 | 国产精品久久久久久亚洲毛片 | 亚洲の无码国产の无码步美 | 久久熟妇人妻午夜寂寞影院 | 高潮毛片无遮挡高清免费视频 | 131美女爱做视频 | 乌克兰少妇xxxx做受 | 又湿又紧又大又爽a视频国产 | 噜噜噜亚洲色成人网站 | 午夜不卡av免费 一本久久a久久精品vr综合 | 欧美老熟妇乱xxxxx | 久久久中文字幕日本无吗 | 国产激情无码一区二区app | 无码一区二区三区在线 | 日本一卡二卡不卡视频查询 | 乱码av麻豆丝袜熟女系列 | 欧美35页视频在线观看 | 欧美高清在线精品一区 | 国产精品99久久精品爆乳 | 一二三四在线观看免费视频 | 一本精品99久久精品77 | 在线а√天堂中文官网 | 国产精品无码成人午夜电影 | 少妇久久久久久人妻无码 | 国产亚洲精品久久久久久大师 | 国内丰满熟女出轨videos | 东京一本一道一二三区 | 亚洲国产av精品一区二区蜜芽 | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美国产日韩亚洲中文 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产精品久久精品三级 | 一个人看的www免费视频在线观看 | 久久午夜无码鲁丝片 | 国产精品久久久久久久影院 | 男人和女人高潮免费网站 | 精品欧洲av无码一区二区三区 | 亚洲成熟女人毛毛耸耸多 | 日欧一片内射va在线影院 | 波多野42部无码喷潮在线 | 久久综合激激的五月天 | 亚洲欧洲中文日韩av乱码 | 日欧一片内射va在线影院 | 疯狂三人交性欧美 | av小次郎收藏 | 熟女俱乐部五十路六十路av | 久久成人a毛片免费观看网站 | 青草视频在线播放 | 美女张开腿让人桶 | 成在人线av无码免观看麻豆 | 蜜臀av无码人妻精品 | 精品一区二区三区波多野结衣 | 国产人妻大战黑人第1集 | 国产97人人超碰caoprom | 又湿又紧又大又爽a视频国产 | 97夜夜澡人人双人人人喊 | 丰满人妻一区二区三区免费视频 | √8天堂资源地址中文在线 | 国产真实伦对白全集 | av无码电影一区二区三区 | 国产亚洲欧美在线专区 | 鲁鲁鲁爽爽爽在线视频观看 | 中文字幕乱妇无码av在线 | 国产后入清纯学生妹 | 无套内谢的新婚少妇国语播放 | 在线播放亚洲第一字幕 | 日本一卡二卡不卡视频查询 | 亚洲高清偷拍一区二区三区 | 内射巨臀欧美在线视频 | 人妻插b视频一区二区三区 | 亚洲欧美国产精品久久 | 女人被爽到呻吟gif动态图视看 | 久久精品国产日本波多野结衣 | 在线观看国产午夜福利片 | www国产精品内射老师 | 欧美日韩久久久精品a片 | 18禁黄网站男男禁片免费观看 | 成人欧美一区二区三区黑人 | 国产成人无码a区在线观看视频app | 久久精品丝袜高跟鞋 | 精品日本一区二区三区在线观看 | 亚洲精品一区二区三区在线观看 | 精品国偷自产在线视频 | 最近免费中文字幕中文高清百度 | 欧美乱妇无乱码大黄a片 | 亚洲国产精品一区二区美利坚 | 九九在线中文字幕无码 | 精品国精品国产自在久国产87 | 亚洲欧美色中文字幕在线 | 国产熟女一区二区三区四区五区 | 亚洲国产成人av在线观看 | 天天摸天天透天天添 | 男女下面进入的视频免费午夜 | 亚洲自偷自拍另类第1页 | 亚洲一区二区三区无码久久 | 99久久精品无码一区二区毛片 | 狠狠噜狠狠狠狠丁香五月 | 少妇被黑人到高潮喷出白浆 | 国产激情精品一区二区三区 | 精品国产福利一区二区 | 一本色道久久综合亚洲精品不卡 | 人妻少妇精品无码专区动漫 | 男女超爽视频免费播放 | 亚洲乱码日产精品bd | 成人无码视频在线观看网站 | 国产激情一区二区三区 | 中文字幕无码人妻少妇免费 | 无码av最新清无码专区吞精 | 又大又硬又爽免费视频 | 国产精品久久国产精品99 | 亚洲熟熟妇xxxx | 国产高清av在线播放 | 日韩精品无码一区二区中文字幕 | 亚洲成av人片天堂网无码】 | а√天堂www在线天堂小说 | 国产无遮挡吃胸膜奶免费看 | 亚洲国产精品无码久久久久高潮 | 极品尤物被啪到呻吟喷水 | 国产亚洲精品久久久久久大师 | 小泽玛莉亚一区二区视频在线 | 在线а√天堂中文官网 | 狠狠综合久久久久综合网 | 亚洲国产午夜精品理论片 | 亚洲午夜久久久影院 | ass日本丰满熟妇pics | 国产又粗又硬又大爽黄老大爷视 | 天下第一社区视频www日本 | 国产深夜福利视频在线 | 成人免费视频视频在线观看 免费 | 久精品国产欧美亚洲色aⅴ大片 | 精品国产av色一区二区深夜久久 | 色综合久久久无码中文字幕 | 漂亮人妻洗澡被公强 日日躁 | 成人性做爰aaa片免费看不忠 | 亚洲熟女一区二区三区 | 日韩 欧美 动漫 国产 制服 | 无码乱肉视频免费大全合集 | 国产超碰人人爽人人做人人添 | 2020久久香蕉国产线看观看 | 97夜夜澡人人双人人人喊 | 丁香花在线影院观看在线播放 | 精品成在人线av无码免费看 | 欧美三级a做爰在线观看 | 亚洲 欧美 激情 小说 另类 | 成人性做爰aaa片免费看 | 人妻无码久久精品人妻 | 亚洲精品久久久久avwww潮水 | 51国偷自产一区二区三区 | 丁香啪啪综合成人亚洲 |