首页 文章 精选 留言 我的

精选列表

搜索[飞行模拟],共10000篇文章
优秀的个人博客,低调大师

针对DNS学习后的一个模拟互联网架构实验

互联网DNS架构实验 针对系统学习DNS后的一个实验 架构图 共7台主机,联合实现互联网dns架构 1将客户端dns服务器指向本地dns服务器 2将网站搭建好 root:~ # yum install httpd root:~ # cd /var/www/html/ root:/var/www/html # echo 192.168.64.57,hello >index.html root:/var/www/html # chmod a+r index.html root:/var/www/html # service httpd restart 3客户端测试 4配置主masterDNS root:~ # yum install bind root:~ # vi /etc/named.conf // listen-on port 53 { 127.0.0.1; }; // allow-query { localhost; }; allow-transfer {192.168.64.47;}; root:~ # vi /etc/named.rfc1912.zones zone "qh.com" IN { type master; file "qh.com.zone"; }; root:~ # cd /var/named/ root:/var/named # vi qh.com.zone $TTL 1D @ IN SOA ns1 qh.mail.com. ( 1 1H 10M 1D 3H ) NS ns1 NS ns2 ns1 A 192.168.64.37 ns2 A 192.168.64.47 www A 192.168.64.57 root:/var/named # chgrp named qh.com.zone root:/var/named # chmod 640 qh.com.zone #### 语法检查 root:/var/named # named-checkconf #### 启动服务 root:/var/named # systemctl start named.service 5客户端测试master服务器 6搭建从服务器 root:~ # yum install bind root:~ # vi /etc/named.conf // listen-on port 53 { 127.0.0.1; }; // allow-query { localhost; }; allow-transfer {none;}; root:~ # vi /etc/named.rfc1912.zones zone "qh.com" { type slave; masters {192.168.64.37;}; file "slaves/qh.com.slave"; }; root:/var/named/slaves # systemctl start named.service root:/var/named/slaves # rndc reload root:/var/named/slaves # ll total #已同步 -rw-r--r-- 1 named named 269 Apr 23 16:34 qh.com.slave 7测试从服务器 8配置com域服务器 root:~ # yum install bind root:~ # vi /etc/named.conf // listen-on port 53 { 127.0.0.1; }; // allow-query { localhost; }; allow-transfer {none;}; ------------------------------------------------ root:~ # vi /etc/named.rfc1912.zones zone "com" IN { type master; file "com.zone"; }; --------------------------------------------------------- root:~ # cd /var/named/ root:/var/named # vim com.zone $TTL 1D @ IN SOA NS1 qh.mail.com. (1 1D 1H 1W 3D ) NS ns1 qh NS qhns1 qh NS qhns2 ns1 A 192.168.64.27 qhns1 A 192.168.64.37 #主服务器 qhns2 A 192.168.64.47 #从服务器 root:/var/named # chgrp named com.zone root:/var/named # chmod g+w com.zone root:/var/named # systemctl start named.service root:/var/named # rndc reload server reload successful 9测试 (通过父域192.168.64.27测试) 10搭建根DNS root:~ # yum install bind root:~ # vi /etc/named.conf // listen-on port 53 { 127.0.0.1; }; // allow-query { localhost; }; zone "." IN { type master; #改为master自己做根 file "root.zone"; }; root:~ # cd /var/named/ root:/var/named # vim root.zone $TTL 1D @ IN SOA ns1 qh.mail.com. (1 1D 1H 1W 3D ) NS ns1 com NS comns1 ns1 A 192.168.64.17 comns1 A 192.168.64.27 root:/var/named # chgrp named com.zone root:/var/named # chmod g+w com.zone root:/var/named # systemctl start named.service 11测试(通过主根服务器测试) 12配置本地dns服务器 root:~ # yum install bind root:~ # vi /etc/named.conf // listen-on port 53 { 127.0.0.1; }; // allow-query { localhost; }; root:/etc/sysconfig/network-scripts # vi /var/named/named.ca #改为下面配置 . 518400 IN NS a.root-servers.net. a.root-servers.net. 3600000 IN A 192.168.64.17 13清缓存 root:/var/named # rndc flush #清理所有dns缓存 14在本地dns修改安全配置 root:~ # vi /etc/named.conf dnssec-enable no; dnssec-validation no; 15测试 一些过程中可能遇到的错误 root:/var/named # systemctl start named.service Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details. 一般可以通过systemctl status named.service -l 命令可以查看当前错误类型 #dig A example.com ; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> A example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30523 ... SERVFAIL:The nameserver encountered a problem while processing the query. • 可使用dig +trace排错,可能是网络和防火墙导致 NXDOMAIN:The queried name does not exist in the zone. • 可能是CNAME对应的A记录不存在导致 REFUSED:The nameserver refused the client's DNS request due to policy restrictions. • 可能是DNS策略导致 • NOERROR不代表没有问题,也可以是过时的记录 •查看是否为权威记录,flags:aa标记判断 •被删除的记录仍能返回结果,可能是因为*记录存在 •如:*.example.com. IN A 172.25.254.254 •注意“.”的使用 •避免CNAME指向CNAME记录,可能产生回环 •est.example.com. IN CNAME lab.example.com. •lab.example.com. IN CNAME test.example.com. •正确配置PTR记录,许多服务依赖PTR,如sshd,MTA •正确配置轮询round-robin记录

优秀的个人博客,低调大师

Python零基础学习笔记(三十八)—— 递归方法、栈、队列模拟遍历目录

用递归方法遍历目录: 使用到os模块,所以要先引入os模块 处理文件: 核心是判断文件是否是目录文件,如果是目录文件就进行递归处理,直接将文件名打印出来 下面是文件代码: import os def getAllDir(path, sp = " "): fileList = os.listdir(path) #处理每一个文件 sp += " " for fileName in fileList: #判断是否是路径(用绝对路径) absFliePath = os.path.join(path, fileName) if os.path.isdir(absFliePath): print(sp + "目录:", fileName) #递归调用 getAllDir(absFliePath, sp) else: print(sp + "普通文件", fileName) return fileList getAllDir(r"C:\Users\Administrator\PycharmProjects\untitled\day011") 栈方法: import os def getAllDirDE(path): stack = [] stack.append(path) #处理栈,当栈为空的时候结束循环 while len(stack) != 0: dirPath = stack.pop() fileDir = os.listdir(dirPath) for fileName in fileDir: fileAbsPath = os.path.join(dirPath, fileName) if os.path.isdir(fileAbsPath): print("目录:"+ fileName) stack.append(fileAbsPath) else: print("普通文件:", fileName) getAllDirDE(r"C:\Users\Administrator\PycharmProjects\untitled\day011") 队列方法: import os import collections def getAllDir(path): queue = collections.deque() #进队 queue.append(path) while len(queue) != 0: dirPath = queue.popleft() fileList = os.listdir(dirPath) for fileName in fileList: fileAbsPath = os.path.join(dirPath, fileName) if os.path.isdir(fileAbsPath): print("目录:"+fileName) queue.append(fileAbsPath) else: print("文件:"+fileName) getAllDir(r"C:\Users\Administrator\PycharmProjects\untitled\day011")

优秀的个人博客,低调大师

Python零基础学习代码实践 —— 模拟播放器中的歌词显示

import time musucLrc = ''' [00:00.01]给我你的爱 [00:02.01]林宥嘉,张杰 [00:05.53] 作词:秋风 [00:09.83] 作曲:秋风 [00:14.90] [00:15.65]相信我 在每个生命的路口 [00:20.98]在每个无助的时候 [00:24.75]都有对爱的渴求 [00:30.47]我想把 真的爱向你传达 [00:36.53]无论你在海角天涯 [00:39.52]都能感到 我的牵挂 [00:44.28]请给我你的爱 [00:47.84]请伸出手来传递这信赖 [00:51.54]就在这茫茫人海 [00:53.79]真心的爱 让世界变色彩 [00:59.02]请给我你的爱 [01:02.45]让我们用爱改变着未来 [01:06.10]在每个艰难时刻 [01:08.88]伸你的手 感觉真的爱 [01:14.81]牵着手 让我们静静地感受 [01:19.92]当风雨艰难过去后 [01:23.79]那种美好的自由 [01:29.29]我们都曾 错过幸福的意义 [01:34.77]只希望我还来得及 [01:38.45]去告诉你 真心爱你 [01:43.15]请给我你的爱 [01:47.39]请伸出手来传递这信赖 [01:50.42]就在这茫茫人海 [01:53.18]真心的爱 让世界变色彩 [01:57.72]请给我你的爱 [02:01.53]让我们用爱改变着未来 [02:05.19]在每个艰难时刻 [02:07.86]伸你的手 感觉真的爱 [02:14.27]我不再想要错过 [02:15.81]你的每个热切期待 [02:19.18]用爱 在明天到来之前 [02:22.56]向你大声说出爱~~爱 [02:29.44]请给我你的爱 [02:32.65]请伸出手来传递这信赖 [02:36.33]就在这茫茫人海 [02:39.08]真心的爱 让世界变色彩 [02:43.89]请给我你的爱 [02:47.56]让我们用爱改变着未来 [02:51.05]在每个艰难时刻 [02:53.96]伸你的手 感觉真的爱 [03:01.38]给我你的爱~~ ''' #将数据分解存储到字典里 lrcDict = {} musicList = musucLrc.splitlines() for lrcLine in musicList: #runCount = lrcLine.count(":") lrcLineList = lrcLine.split("]") for index in range(len(lrcLineList) - 1): timeStr = lrcLineList[index][1:] #print(timeStr) timeList = timeStr.split(":") timea = float(timeList[0]) * 60 + float(timeList[1]) #print(timea) lrcDict[timea] = lrcLineList[-1] #print(lrcDict) allTimeList = [] for t in lrcDict: allTimeList.append(t) allTimeList.sort() #print(allTimeList) #在字典里将数据调出来然后按照时间间隔将数据显示出来 #效果是一行一行的刷新 getTime = 0 while 1: for n in range(len(allTimeList)): tempTime = allTimeList[n] if getTime < tempTime: break lrc = lrcDict.get(allTimeList[n]) if lrc == None: pass else: print(lrc) if n in range(len(allTimeList) - 1): time.sleep(allTimeList[n + 1] - allTimeList[n]) getTime += (allTimeList[n + 1] - allTimeList[n]) else: break

优秀的个人博客,低调大师

嵌入式GUI开发效率革命:LVGL模拟开发与硬件移植全攻略

在嵌入式GUI开发中,每次修改界面都要烧录到硬件测试,是无数开发者挥之不去的噩梦。调整一个按钮的位置,需要花5分钟编译、烧录、重启设备——这种低效的开发方式严重拖慢了项目进度。虽然市面上有GUI Guider、SquareLine Studio等现成工具,但它们存在版本兼容性、屏幕尺寸限制、代码与实际硬件驱动差异等致命痛点。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册