1写在前面 ---- 分享一些通过 Bind9 配置DNS服务器的笔记 博文内容涉及 一个基本的 DNS 权威服务器 配置流程 理解不足小伙伴帮忙指正 我承认爱情是空幻的,只有情感才是真实的,是情感在促使我们去追求 BIND9 (Berkeley Internet Name Domain)可以实现权威的 DNS 服务器。 3部署 Bind9 权威服务器 基本步骤 安装 bind 软件 修改配置文件 /etc/named.conf 启用并启动服务 named.service 开通防火墙 dns 虽然名字叫 bind,但主要服务 logging { // 定义一个名为 default_debug 的日志通道,将日志输出到 data/named.run 文件中 channel default_debug requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 7e67c9a9f9d30b3df695a33864c64a1bb0d653a623775fd6
DNS的正向解析 在DNS域名解析服务中,正向解析是指根据域名(主机名)查找到对应的IP地址。也就是说,当用户输入了一个域名后,bind服务程序会自动进行查找,并将匹配到的IP地址返给用户。 这也是最常用的DNS工作模式。 正向解析: 根据主机名(域名)查找对应的IP地址。 例子: @ 600 IN SOA dns.boysec.cn. 服务器无法联系上主DNS服务器时,辅助DNS服务器可以在多长时间内认为其缓存是有效的,并供用户查询。 +short k8s-dns.boysec.cn. ## 方法二 [root@k8s-dns etc]# dig -x 10.1.1.250 @10.1.1.250 +short k8s-dns.boysec.cn
BIND9 BIND9是用于搭建DNS服务器的一个软件应用。 fedoraproject.org/wiki/Changes/CryptoPolicy */ include "/etc/crypto-policies/back-ends/bind.config"; }; // 日志相关内容 记录写法为:主机名 TTL值 IN 记录类型 值 在bind9里的所有配置文件中 所有的域名最后都必须带有".",这个"."意味着根域的意思所以必须要有,不然启动服务的时候会报语法错误。 root@localhost ~]# dig -t A server.host.com @192.168.0.105 +short 是用这个命令不会在自己创建的记录文件里添加记录,而是会生成一个jnl日志文件 rndc可以对bind9进行热更新,可以对某个域的解析单独进行重载。
1写在前面---- 分享一些 使用 bind9 配置主从权威DNS服务器的笔记 理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。 注册服务商将该信息放在父域的区域文件中(如NS,A和AAAA记录),以便DNS解析器可以找到您的名称服务器。 为了帮助确保可靠性,应该至少有两个公共DNS服务器,并且它们应位于不同的站点,以避免由于网络故障而造成的中断。 外部主机如何通过缓存名称服务器和权威名称服务器进行 DNS 解析,对记录执行DNS查找。 部署 配置主 DNS 服务器 安装 bind9 [root@serverb ~]# yum install bind -y 一些准备工作 [root@serverb ~]# vim /etc/named.conf requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 7e67c9a9f9d30b3df695a33864c64a1bb0d653a623775fd6
安装 LogAnalyzer LogAnalyzer 的下载地址可以参考 下载 ,安装过程可以参考 安装 ---- 下载 LogAnalyzer [root@h105 src]# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.6.tar.gz --2016-05-10 22:15:18-- http://download.adiscon.com/loganalyzer/loganalyzer-3.6.6.tar.gz Resolv
127.0.0.1; }; }; 重新启动named service named restart 在Prometheus的yml文件中添加如下job,重新启动Prometheus即可 - job_name: dns-master static_configs: - targets: ['10.85.6.66:9119'] labels: alias: dns-master 参考: https://grafana.com/dashboards/1666 https://computingforgeeks.com/how-to-monitor-bind-dns-server-with-prometheus-and-grafana
183.131.200.61 1.81.5.178 1.81.5.179 183.131.200.68 183.131.200.69 183.131.200.72 183.131.200.74 学习部署bind9 _64 GNU/Linux 安装bind9 配置yum源 使用centos6自带的yum源即可,同时确保机器可以解析外网域名,并能连接公网 yum install -y bind-utils bind bind-devel bind-chroot bind9主配置文件 options{ //全局选项 } zone "zone name" { //定义区域 } logging{ //日志文件 } include:加载别的文件 主配置文件的配置注意事项 语法严格,分号,空格 文件的权限,属主:root,属组:named,640 [root@k8s-dns ~]# cat /etc 加载自定义区域文件 include "/etc/named.root.key"; 检查配置文件 # named-checkconf -z /etc/named.conf 没有报错就属于正常 启动bind9服务
使用各种奇淫巧技去减少资源的开销,增加资源的复用性,然后这过程总是不经意的会感叹,“原来那时候的制作者是这样的心情啊”的感觉。
这个被称为Quad9(在服务获得的9.9.9.9互联网协议地址之后)的免费公共域名服务系统,旨在阻止与僵尸网络,网络钓鱼攻击和其他恶意Internet主机相关的域名该服务和那些不运行自己的DNS黑名单和白名单服务的组织 Quad9由全球网络联盟执法和研究机构建立(GCA)-an组织、与IBM和合作数据包交换所联合推出。 Quad9还会生成一个永不禁止的域白名单。它使用了一百万个被请求的域名列表。 “ 由于威胁行为在全球每天更新一至两次,因此Quad9可能不会对使用快速转换的DNS地址进行命令和控制的恶意软件产生太大影响。 而且组织可以很容易地记录来自Quad9的响应,通过记录NXDOMAIN响应来识别自己网络中可能具有恶意软件的系统,也可能是针对网络钓鱼攻击的系统。
今天跑来连云港出差了,说是要看一下这边后面软件开发的需求,这次老板,加我负责软件,另一个工程师负责机械,我们三个一起来看设备,了解之后的需求。
后端10台机器:qps 4.44k,错误率6% ,504超时(Node等待后端超时) jmeter -> node接入层 -> ip:port -> 后端单台机器:qps 9.43k 1.png 9. 研发同学结合经验推测问题可能出现在DNS域名解析服务上。 17.png 4.在母机上使用iptables -t mangle -nvL ,确认是DNS限频问题。 18.png 5.在子机上尝试打开DNS缓存服务。 【附】开启NSCD DNS缓存服务的优点和缺点 优点 本地缓存DNS解析信息,提供解析速度。 DNS服务挂了也没有问题,在缓存服务时间范围内,解析依旧正常。 缺点 DNS解析信息会滞后,如域名解析更改需要手动刷新缓存,NSCD不适合做实时的切换的应用,目前对于依赖DNS切换的服务,建议不要开启DNS缓存。
第9章 日志监控 虽然我们的主机、服务和应用程序可以生成关键指标和事件,但它们也会生成日志,这些日志可以告诉我们其状态的有用信息 特别是对于没有设置监控或者不容易进行监控的遗留应用程序,有时重写、修补或重构该应用程序以暴露内部状态的成本绝对不是一项有利的工程投资 为了从日志条目中提取数据,我们将使用日志处理工具。 P<hostname>[0-9A-Za-z\.:-]+) / + # %h /(?P<remote_logname>[0-9A-Za-z-]+) / + # %l /(? P<remote_username>[0-9A-Za-z-]+) / + # %u /\[(? P<http_version>HTTP\/[0-9\.]+)" / + # \"%r\" /(?P<request_status>\d{3}) / + # %>s /((?
有三种级别日志输出 Print() 输出日志信息 Panic()打印日志信息,并处罚panic,日志信息为Panic信息 Fatal()打印日志信息后调用os.Exit(0) 所有日志信息打印时都带有时间 Learn_Go/main.go package main import ( "fmt" "time" ) func main() { fmt.Println("111") time.Sleep(2e9) //2e9 相当于2秒 fmt.Println("222") } (2)延迟执行 延迟指定时间后执行一次,但是需要注意在触发时程序没有结束 //Learn_Go/main.go package main import ( "fmt" "time" ) func main() { fmt.Println("程序开始") time.AfterFunc(3e9, func() { fmt.Println("延迟执行") }) time.Sleep(4e9) //必须阻塞4s,要不主程序执行完直接退出,不会执行“延迟执行”的代码 fmt.Println("程序结束")
rndc默认监听在953号端口(TCP),其实在bind9中rndc默认就是可以使用,不需要配置密钥文件。 r /dev/urandom # Start of rndc.conf key "rndc-key" { algorithm hmac-md5; secret "PmY9ozjj3 adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-md5; # secret "PmY9ozjj3 重启bind9服务 systemctl restart named netstat -luntp|grep 953 rndc的常用操作命令 rndc命令的通用操作格式为: rndc [-c config-file zone file rndc reconfig #重读配置文件并加载新增的区域 rndc querylog #关闭或开启查询日志
扯远了,步入正题,Linux自带的 日志系统rsync 日志系统rsync Linux日志机制的核心是 rsyslog 守护进程,该服务负责监听Linux下的日志信息,并把日志信息追加到对应的日志文件中 .* /var/log/cron 日志切割 日积月累日志会越来越大,直到撑爆你的磁盘,历史日志就没有必要保留了,最好永远只保留近期的日志,超过某个大小或者某段保留时间的日志自动删除。 在 python 的日志组件中支持日志滚动,可以规定每个日志文件有多大,保留多少个文件;也可以规定保留几天内的日志。 -12:0:0 "/var/log/wtmp" 2019-12-21-12:0:0 "/var/log/spooler" 2019-12-21-12:0:0 "/var/log/btmp" 2020-9- blog.csdn.net/qq_29344757/article/details/86700898 https://medium.com/pizzas/rsyslog%E4%BB%8B%E7%B4%B9%
访问日志 HTTP连接管理器和tcp代理支持具有以下功能的可扩展访问日志记录: 每个连接管理器或tcp代理的任意数量的访问日志。 异步IO刷新架构。 访问日志记录不会阻塞主要的网络处理线程。 可定制的访问日志格式使用预定义的字段以及任意的HTTP请求和响应头。 可自定义的访问日志过滤器,允许将不同类型的请求和响应写入不同的访问日志。 访问日志配置。
DNS 污染 DNS 污染又称 DNS 缓存投毒,通过制造一些虚假的域名服务器数据包,将域名指向不正确的 IP 地址。 解决办法 绕过被污染的非权威 DNS 服务器,直接访问干净的公共 DNS 服务器。 在本机直接绑定 hosts,绕过 DNS 解析过程。 DNS 劫持 DNS 劫持指 DNS 服务器被控制,用户查询 DNS 时,服务器直接返回它想让你看到的结果(转到劫持者指定的网站)。 image.png 解决办法 手动更换公共 DNS 服务器,绕过被劫持的 DNS 服务器。 附录 公共 DNS 公共 DNS 是一种面向大众的免费的 DNS 互联网基础服务,更换主机 DNS 服务器地址为公共 DNS 后,可以在一定程度加速域名解析、防止 DNS 劫持、加强上网安全,还可以屏蔽大多数运营商的广告
日志下载支持选择部分字段 日志服务已支持将采集到的日志数据下载至本地,在现有功能基础上,新增“选择字段”选项,支持筛选字段下载,进一步方便运维同学按需选择,数据下载更精准。 登录日志服务控制台,进入检索分析管理页面; 2. 选择需要检索的日志或日志集,输入检索条件进行检索; 3. 待检索到日志数据后,单击 图标下载日志。 4. 日志数量:默认导出“全部日志”,您也可以选择“自定义日志数量”,自定义导出所需日志数量。 注:因下载日志数量最多为5000万, 需要下载的日志条数超出5000万时,建议缩小日志检索范围(例如采用更加精确的检索条件、缩小查询时间范围)或仅下载指定数量的日志。 如果确实需要下载超出5000万的日志,可通过限定日志查询时间范围创建多个下载任务,分批进行下载。 5. 单击导出,切换为下载记录界面。
logging 日志开启 pytest 的日志分2个部分: console 控制台输出的日志 log_file 保存到本地文件的日志 本插件默认情况下会记录运行日志保存在项目根目录logs下,以当前时间保存 txt文本日志内容。 日志默认保存info级别。 console 控制台默认不输出日志 开启 console 控制台日志 控制台直接运行 pytest 是不会用日志输出的,因为默认仅输出 warning 以上的级别日志 有3种方式启动 console 日志 方法1:命令行带上--log-cli-level参数,设置日志级别 >pytest --log-cli-level=info 方法2:pytest.ini 配置开启日志,并且设置日志级别 [pytest
答案是通过DNS来实现。 DNS 是域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。 图1 DNS 分层结构 DNS解析原理 说完DNS的结构,再来谈谈其运行原理。通过用户访问网页的过程,来描述DNS解析以及获取URL到IP映射的整个过程。其中过程比较复杂,会存在信息的来回传递。 画图的过程中我们会简化信息来回传递的线段,重点放在信息传递的路径,通过9步来诠释DNS解析过程。 ? 如果在这一步还是没有完成DNS解析,进入第4步 4、通过Root DNS Server进行解析,ROOT DNS Server会根据请求的URL 返回给Local DNS Server顶级域名服务器的地址 但是一些动态资源,例如商品信息,订单信息,需要通过第9步。 9、对于没有缓存的动态资源需要从应用服务器获取,在应用服务器与互联网之间通常有一层负载均衡器负责反向代理。有它路由到应用服务器上。