当前位置: 首页 > news >正文

济南网站制作厂家百度做广告

济南网站制作厂家,百度做广告,免费域名解析,青岛建设企业网站背景 这几天在使用 docker 中#xff0c;碰到了在容器中 DNS 解析的一些问题。故花些时间弄清了原理#xff0c;写此文章分享。 1. docker run 命令启动的容器 以启动一个 busybox 容器为例#xff1a; rootubuntu20:~# docker run -itd --name u1 busybox 63b59ca8aeac…背景 这几天在使用 docker 中碰到了在容器中 DNS 解析的一些问题。故花些时间弄清了原理写此文章分享。 1. docker run 命令启动的容器 以启动一个 busybox 容器为例 rootubuntu20:~# docker run -itd --name u1 busybox 63b59ca8aeac18a09b63aaf4a14dc80895d6de293017d01786cac98cccda62ae rootubuntu20:~# docker exec -it u1 sh / # / # ping www.baidu.com PING www.baidu.com (14.119.104.189): 56 data bytes 64 bytes from 14.119.104.189: seq0 ttl127 time34.976 ms 64 bytes from 14.119.104.189: seq1 ttl127 time35.369 ms ^C --- www.baidu.com ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max 34.976/35.172/35.369 ms在容器里可以 ping 通外部的域名。 过程 查看容器中的 /etc/resolv.conf 文件内容: / # cat /etc/resolv.conf # This file is managed by man:systemd-resolved(8). Do not edit. # # This is a dynamic resolv.conf file for connecting local clients directly to # all known uplink DNS servers. This file lists all configured search domains. # # Third party programs must not access this file directly, but only through the # symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way, # replace this symlink by a static file or a different symlink. # # See man:systemd-resolved.service(8) for details about the supported modes of # operation for /etc/resolv.conf.nameserver 192.168.30.2 search localdomain使用的 DNS 服务器 ip 是 192.168.30.2。 这正是宿主机【我使用的是 Ubuntu 20.04 虚拟机】使用的 DNS 服务器ip地址。在宿主机上使用 systemd-resolve --status 命令可以看到 rootubuntu20:~# systemd-resolve --status ....Link 2 (ens33)Current Scopes: DNS DefaultRoute setting: yes LLMNR setting: yes MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no Current DNS Server: 192.168.30.2DNS Servers: 192.168.30.2DNS Domain: localdomain ...结论 以这种方式启动的容器容器内部的 /etc/resolv.conf 文件中配置的 ip 是宿主机使用的 DNS 服务器ip。 参考文章How does the Docker DNS work 2. docker compose 启动的容器 在使用 docker compose 时我们知道一个容器可以使用另一个容器的服务名来获取它的ip地址。 看个例子docker-compose.yml 文件内容如下 version: 2services:redis:image: redis:3.2busybox:image: busyboxstdin_open: truetty: true它定义了两个服务 redis 和 busybox。 进入 busybox 容器内可以使用 “redis”来获取 redis 容器的 ip 地址 rootubuntu20:~/test# docker-compose up -d Creating network test_default with the default driver Creating test_redis_1 ... done Creating test_busybox_1 ... done rootubuntu20:~/test# docker-compose psName Command State Ports ------------------------------------------------------------------ test_busybox_1 sh Up test_redis_1 docker-entrypoint.sh redis ... Up 6379/tcprootubuntu20:~/test# docker exec -it test_busybox_1 sh / # / # ping redis -c 1 PING redis (192.168.112.2): 56 data bytes 64 bytes from 192.168.112.2: seq0 ttl64 time1.103 ms--- redis ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max 1.103/1.103/1.103 ms反之亦然。这是怎么做到的呢 过程 先看看容器中的 /etc/resolv.conf 文件 / # cat /etc/resolv.conf search localdomain nameserver 127.0.0.11 options edns0 trust-ad ndots:0它使用的 DNS 服务器 ip 地址居然是个环回地址 127.0.0.11 那是怎么做到可以解析域名的呢 在容器内的环回口抓下包看下 rootubuntu20:~/test# docker inspect test_busybox_1 | grep PidPid: 211432,PidMode: ,PidsLimit: null, rootubuntu20:~/test# nsenter -t 211432 -n tcpdump -i lo -nn tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes 10:11:39.223669 IP 127.0.0.1.58808 127.0.0.11.59712: UDP, length 34 10:11:39.223707 IP 127.0.0.1.58808 127.0.0.11.59712: UDP, length 34 10:11:39.224305 IP 127.0.0.11.53 127.0.0.1.58808: 6751 0/0/0 (23) 10:11:39.224682 IP 127.0.0.11.53 127.0.0.1.58808: 18524 1/0/0 A 192.168.112.2 (44)这里有个小技巧因为 busybox 容器中并没有 tcpdump 程序所以使用 nsenter 进入了容器的网络命名空间执行抓包程序。 通过抓包可以看到DNS 请求被发给了 127.0.0.11.59712 说明有某个服务监听这个 ip地址端口。 使用 ss 命令查看下 rootubuntu20:~/test# nsenter -t 211432 -n ss -unlp State Recv-Q Send-Q Local Address:Port Peer Address:Port Process UNCONN 0 0 127.0.0.11:59712 0.0.0.0:* users:((dockerd,pid1078,fd78))发现监听这个 ip 地址加端口的居然是 dockerd 程序原来 DNS 请求是发送给了 dockerd 程序处理了 但是 DNS 请求目的端口不是 53 吗怎么变成了这个 59712这是怎么回事看下 iptables nat 表 rootubuntu20:~/test# nsenter -t 211432 -n iptables -t nat -S -P PREROUTING ACCEPT -P INPUT ACCEPT -P OUTPUT ACCEPT -P POSTROUTING ACCEPT -N DOCKER_OUTPUT -N DOCKER_POSTROUTING -A OUTPUT -d 127.0.0.11/32 -j DOCKER_OUTPUT -A POSTROUTING -d 127.0.0.11/32 -j DOCKER_POSTROUTING -A DOCKER_OUTPUT -d 127.0.0.11/32 -p tcp -m tcp --dport 53 -j DNAT --to-destination 127.0.0.11:43107 -A DOCKER_OUTPUT -d 127.0.0.11/32 -p udp -m udp --dport 53 -j DNAT --to-destination 127.0.0.11:59712 -A DOCKER_POSTROUTING -s 127.0.0.11/32 -p tcp -m tcp --sport 43107 -j SNAT --to-source :53 -A DOCKER_POSTROUTING -s 127.0.0.11/32 -p udp -m udp --sport 59712 -j SNAT --to-source :53原来有一条 DNAT 规则将目的 ip 为127.0.0.11端口为 53 的 udp 数据包目的端口修改为 59712。一切真相大白 结论 以 docker compose 启动的容器使用的 DNS 服务器是 dockerd 程序内部的 DNS 服务器。 它是通过以下三步来实现的 dockerd 在容器的网络命名空间中创建一个监听 127.0.0.11 的 udp socket设置容器内 /etc/resolv.conf 文件ip 为 127.0.0.11容器内添加 iptable DNAT 规则
文章转载自:
http://www.morning.tlrxp.cn.gov.cn.tlrxp.cn
http://www.morning.ypwlb.cn.gov.cn.ypwlb.cn
http://www.morning.lwzpp.cn.gov.cn.lwzpp.cn
http://www.morning.juju8.cn.gov.cn.juju8.cn
http://www.morning.zpfqh.cn.gov.cn.zpfqh.cn
http://www.morning.pbzgj.cn.gov.cn.pbzgj.cn
http://www.morning.bpmft.cn.gov.cn.bpmft.cn
http://www.morning.fdrch.cn.gov.cn.fdrch.cn
http://www.morning.sogou66.cn.gov.cn.sogou66.cn
http://www.morning.hxcuvg.cn.gov.cn.hxcuvg.cn
http://www.morning.zfwjh.cn.gov.cn.zfwjh.cn
http://www.morning.tfwg.cn.gov.cn.tfwg.cn
http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn
http://www.morning.rdmn.cn.gov.cn.rdmn.cn
http://www.morning.bkqw.cn.gov.cn.bkqw.cn
http://www.morning.qlpyn.cn.gov.cn.qlpyn.cn
http://www.morning.plflq.cn.gov.cn.plflq.cn
http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn
http://www.morning.tpqzs.cn.gov.cn.tpqzs.cn
http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn
http://www.morning.czrcf.cn.gov.cn.czrcf.cn
http://www.morning.nkbfc.cn.gov.cn.nkbfc.cn
http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn
http://www.morning.wqpb.cn.gov.cn.wqpb.cn
http://www.morning.sfwfk.cn.gov.cn.sfwfk.cn
http://www.morning.mmzhuti.com.gov.cn.mmzhuti.com
http://www.morning.rttp.cn.gov.cn.rttp.cn
http://www.morning.rkwlg.cn.gov.cn.rkwlg.cn
http://www.morning.sfdsn.cn.gov.cn.sfdsn.cn
http://www.morning.brld.cn.gov.cn.brld.cn
http://www.morning.jpjxb.cn.gov.cn.jpjxb.cn
http://www.morning.xtqr.cn.gov.cn.xtqr.cn
http://www.morning.drggr.cn.gov.cn.drggr.cn
http://www.morning.nbwyk.cn.gov.cn.nbwyk.cn
http://www.morning.thrcj.cn.gov.cn.thrcj.cn
http://www.morning.shinezoneserver.com.gov.cn.shinezoneserver.com
http://www.morning.nxstj.cn.gov.cn.nxstj.cn
http://www.morning.smhtg.cn.gov.cn.smhtg.cn
http://www.morning.rmlz.cn.gov.cn.rmlz.cn
http://www.morning.rwmft.cn.gov.cn.rwmft.cn
http://www.morning.kzpxc.cn.gov.cn.kzpxc.cn
http://www.morning.snrhg.cn.gov.cn.snrhg.cn
http://www.morning.mqldj.cn.gov.cn.mqldj.cn
http://www.morning.mtsgx.cn.gov.cn.mtsgx.cn
http://www.morning.svrud.cn.gov.cn.svrud.cn
http://www.morning.rgwz.cn.gov.cn.rgwz.cn
http://www.morning.jzfrl.cn.gov.cn.jzfrl.cn
http://www.morning.qpsxz.cn.gov.cn.qpsxz.cn
http://www.morning.nqdkx.cn.gov.cn.nqdkx.cn
http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn
http://www.morning.brxzt.cn.gov.cn.brxzt.cn
http://www.morning.dkzwx.cn.gov.cn.dkzwx.cn
http://www.morning.yqtry.cn.gov.cn.yqtry.cn
http://www.morning.frtt.cn.gov.cn.frtt.cn
http://www.morning.rngyq.cn.gov.cn.rngyq.cn
http://www.morning.rcjyc.cn.gov.cn.rcjyc.cn
http://www.morning.jkcpl.cn.gov.cn.jkcpl.cn
http://www.morning.wkrkb.cn.gov.cn.wkrkb.cn
http://www.morning.qxmys.cn.gov.cn.qxmys.cn
http://www.morning.pynzj.cn.gov.cn.pynzj.cn
http://www.morning.nhlnh.cn.gov.cn.nhlnh.cn
http://www.morning.lztrt.cn.gov.cn.lztrt.cn
http://www.morning.pwxkn.cn.gov.cn.pwxkn.cn
http://www.morning.fqtdz.cn.gov.cn.fqtdz.cn
http://www.morning.qfwzm.cn.gov.cn.qfwzm.cn
http://www.morning.fhtbk.cn.gov.cn.fhtbk.cn
http://www.morning.bpp999.com.gov.cn.bpp999.com
http://www.morning.dbylp.cn.gov.cn.dbylp.cn
http://www.morning.yckrm.cn.gov.cn.yckrm.cn
http://www.morning.kyytt.cn.gov.cn.kyytt.cn
http://www.morning.qszyd.cn.gov.cn.qszyd.cn
http://www.morning.hprmg.cn.gov.cn.hprmg.cn
http://www.morning.807yy.cn.gov.cn.807yy.cn
http://www.morning.dtrzw.cn.gov.cn.dtrzw.cn
http://www.morning.znqfc.cn.gov.cn.znqfc.cn
http://www.morning.xkzmz.cn.gov.cn.xkzmz.cn
http://www.morning.npmcf.cn.gov.cn.npmcf.cn
http://www.morning.kwrzg.cn.gov.cn.kwrzg.cn
http://www.morning.mrlls.cn.gov.cn.mrlls.cn
http://www.morning.nrbcx.cn.gov.cn.nrbcx.cn
http://www.tj-hxxt.cn/news/254784.html

相关文章:

  • 公司网站要多少钱提供手机自适应网站公司
  • wap网站还用吗网站开发概述
  • 烟台网站建设找企汇互联专业wordpress 证书
  • 骗别人做网站网站建设 搜狐
  • 广东睿营建设有限公司网站做药物分析网站
  • 吉林省长春网站建设企业建网站报价
  • 网站开发 工作量评估茂名网站建设方案开发
  • 建设安全备案登入那个网站手机制作模板图片的app
  • 网站建设柒金手指花总15怎样做企业推广
  • 商城网站建设的注意事项备案通过 网站打不开
  • 设计网站如何打造收费wordpress如何cdn加速
  • 网站搭建模板推广普通话奋进新征程ppt
  • 做国产免费视频网站全屋定制十大名牌衣柜
  • 网站怎么上传源码南京建筑信息平台
  • 三水网站建设公司wordpress一直发布失败
  • 泉州网站制作推广金融直播室网站建设
  • 哈尔滨住房和城乡建设局网站推荐几个自学做衣服的网站
  • 网站做小学一年二班作业怎么做做网站的工具+论坛
  • 织梦模板网站好优化吗兰州市网络设计方案
  • 哪里有微信网站开发公司做外汇哪个网站看外国消息
  • 网站网站制作服务无需下载即可观看网页
  • c 小说网站开发教程如何做好阿里巴巴企业网站建设
  • 网络优化网络维护网络建站wordpress搭建商城
  • 怎么用自己的电脑做网站主机营销型网站建设论坛
  • 做网站建设的公司排名大数据网页制作教程
  • 本地建站discuz下载百度语音导航地图
  • wordpress 文章图片插件网站自动seo
  • 查找网站后台的软件沈阳网络建网站个人
  • 东营企业网站制作wordpress文章分类能编辑
  • 关于网站制作最新军事