1、简述DNS服务器原理,并搭建主--从服务器。

一、什么是DNS

DNS(domain name system)域名系统或者(domain named system)区域名称服务,分为正向与反向域名解析,适用C/S,端口53/udp,53/tcp,属于应用层协议;

作用:从网络来说,由于tcp/ip协议族是基于ip地址,所以需要一个翻译器即DNS;可以1对多也可以多对1,那么正向解析即域名解析为ip地址,反向解析即ip地址解析为域名。

DNS就是域名系统,是因特网中的一项核心服务,是用于实现域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址。通过主机名,得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

域名结构

如上图所示,域名结构是树状结构,树的最顶端代表根服务器,根的下一层就是由我们所熟知的.com、.net、.cn等通用域和.cn、.uk等国家域组成,称为顶级域。网上注册的域名基本都是二级域名,比如baidu.com、taobao.com等等二级域名,它们基本上是归企业和管理。接下来是三级或者四级域名,总体概括来说域名是由整体到局部的机制结构。

DNS的查询方式

DNS解析流程:

1、本地主机查询本地dns缓存及本地hosts(/etc/hosts)文件中是否有www.bytesiu.com域名的记录,如果有直接使用,如果没有则会向本地自定义的dns服务器去请求(/etc/resolv.conf);

2、dns服务器收到主机请求则查询dns服务器本地是否有www.bytesiu.com域名的解析记录,如果有直接返回给客户端,如果没有则dns服务器直接向根服务器(.)请求查询;

3、根服务器(.)收到dns服务器的查询请求发现是查询.com域的信息,然后根服务器则返回.com域的服务器ip给到dns服务器;

4、dns服务器收到.com的服务器IP,则再次向.com的服务器请求bytesiu.com的域名服务器ip;

5、dns服务器收到bytesiu.com域名服务器IP则直接再次请求bytesiu.com域名服务器,查询www的解析记录;

6、dns服务器查询到www.bytesiu.com的解析记录后则直接返回给客户端并自己缓存此记录;

7、客户端主机则拿到www.bytesiu.com的ip就直接访问到目标主机了,并缓存了此解析记录;(2-7阶段是递归查询)

DNS的查询方式有两种,分别为递归查询(recursion)和迭代查询(iteration)。

递归查询:客户端发起一个DNS解析请求,若本地DNS服务器不能为客户端直接解析域名,则域名服务器会代替客户端(下级服务器)向域名系统中的各分支的上下级服务器进行递归查询,直到有服务器响应回答了该请求后,将该请求结果返回客户端。在此期间,客户端将一直处于等待状态。

迭代查询:客户端(下级服务器)发起一个DNS解析请求后,若上级DNS服务器并不能直接提供该DNS的解析结果,则该上级DNS服务器会告知客户端(下级服务器)另一个可能查询到该DNS解析结果的DNS服务器IP,客户端(下级服务器)再次向这个DNS服务器发起解析请求,如此类推,直到查询到对应的结果为止。

通常递归查询这种方式用于PC机与本地DNS服务器之间的查询,而迭代查询则多用于DNS服务器之间的查询

主--从服务器搭建过程

1、编辑/etc/named.conf,启用本机指定网口监听53端口号、指定网口接收DNS查询请求,并允许接收指定备用DNS的区域传送;

vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
}; systemctl enable --now bind

2、编辑/etc/named.rfc1912.zones文件,设置区域信息;

zone "bytesiu.com" {
type master;
file "bytesiu.com.zone";
};

3、新建zone文件,/var/named/bytesiu.com.zone,添加SOA,NS,A,MX等记录,实现正向解析;

[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]# cp -p named.localhost bytesiu.com.zone
[root@localhost named]# ll bytesiu.com.zone
-rw-r----- 1 root named 152 Jun 21 2007 bytesiu.com.zone
##vim bytesiu.com.zone
$TTL 1D
@ IN SOA master.bytesiu.com. gun.bytesiu.com. (
2 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
NS slave master A 192.168.42.200
slave A 192.168.42.100 www CNAME cdn.bytesiu.com.
cdn A 192.168.42.100 db A 192.168.42.201
k8snode1 A 192.168.42.202
K8snode2 A 192.168.42.203
* A 192.168.42.100
@ A 192.168.42.100
@ MX 10 mail1
@ MX 10 mail2
mail1 A 192.168.42.206
mail2 A 192.168.42.207 注:
泛域名解析写法: * A 192.168.42.100
例:wwww.bytesiu.com
若访问 bytesiu.com
则应该写为: @ A 192.168.42.100

4、使用named-checkconf、named-zone检查服务端配置、区域文件配置。

[root@localhost ~]# named-checkconf   #检查配置文件
[root@localhost ~]# named-checkzone bytesiu.com /var/named/bytesiu.com.zone
zone bytesiu.com/IN: loaded serial 0
OK

5、实现反向解析区域

vim /etc/named.rfc1912.zones
zone "42.168.192.in-addr.arpa" {
type master;
file "192.168.42.zone";
}; /var/named/ 目录下
# cp -p named.loopback 192.168.42.zone ##vim 192.168.42.zone
$TTL 1D
@ IN SOA master.bytesiu.com. rname.invalid. (
3 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master.bytesiu.com.
NS slave.bytesiu.com. 200 PTR master.bytesiu.com.
100 PTR slave.bytesiu.com. 100 PTR www.bytesiu.com.
201 PTR db.bytesiu.com.

6、搭建从DNS服务器

从服务器上进行如下配置
[root@localhost ~]# yum install -y bind
vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
}; [root@localhost ~]# vim /etc/named.rfc1912.zones
zone "bytesiu.com" { //正向解析
type slave;
masters {192.168.42.200;}; //主服务器的IP地址
file "slaves/bytesiu.com.slave"; //拉取到的主服务器配置文件保存目录
};
zone "42.168.192.in-addr.arpa" { //反向解析
type slave;
masters {192.168.42.200;};
file "slaves/192.168.42.zone";
}; 主服务器上面进行如下配置
[root@localhost ~]# vim /var/named/bytesiu.com.zone
NS master
NS slave master A 192.168.42.200
slave A 192.168.42.100 [root@localhost ~]# vim /var/named/192.168.42.zone
NS master.bytesiu.com.
NS slave.bytesiu.com. 200 PTR master.bytesiu.com.
100 PTR slave.bytesiu.com. 注:每一次修改完配置文件后,应将版本号相对应的加一
1 ; serial

7、使用systemctl start named或rndc启动DNS服务

[root@localhost ~]# rndc reload
server reload successful
[root@localhost ~]# systemctl enable --now named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

CentOS启用DNS客户端缓存

yum install -y nscd
systemctl enable --now nscd
nscd -g 查看缓存
注:ubuntu 默认会启用DNS客户端缓存
#清除DNS客户端缓存
[root@localhost ~]# nscd -i hosts

设置不允许其它主机进行区域信息数据的传输

从服务器上面配置:
vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
allow-transfer {none;};

测试结果:

主服务器测试:(正向解析)
[root@localhost ~]# dig www.bytesiu.com @192.168.42.200 ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> www.bytesiu.com @192.168.42.200
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3049
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.bytesiu.com. IN A ;; ANSWER SECTION:
www.bytesiu.com. 86400 IN CNAME cdn.bytesiu.com.
cdn.bytesiu.com. 86400 IN A 192.168.42.100 ;; AUTHORITY SECTION:
bytesiu.com. 86400 IN NS master.bytesiu.com.
bytesiu.com. 86400 IN NS slave.bytesiu.com. ;; ADDITIONAL SECTION:
master.bytesiu.com. 86400 IN A 192.168.42.200
slave.bytesiu.com. 86400 IN A 192.168.42.100 ;; Query time: 0 msec
;; SERVER: 192.168.42.200#53(192.168.42.200)
;; WHEN: Sat Jan 22 20:17:12 CST 2022
;; MSG SIZE rcvd: 151 从服务器测试:(正向解析)
[root@localhost ~]# dig www.bytesiu.com @192.168.42.100 ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> www.bytesiu.com @192.168.42.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62554
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.bytesiu.com. IN A ;; ANSWER SECTION:
www.bytesiu.com. 86400 IN CNAME cdn.bytesiu.com.
cdn.bytesiu.com. 86400 IN A 192.168.42.100 ;; AUTHORITY SECTION:
bytesiu.com. 86400 IN NS slave.bytesiu.com.
bytesiu.com. 86400 IN NS master.bytesiu.com. ;; ADDITIONAL SECTION:
master.bytesiu.com. 86400 IN A 192.168.42.200
slave.bytesiu.com. 86400 IN A 192.168.42.100 ;; Query time: 0 msec
;; SERVER: 192.168.42.100#53(192.168.42.100)
;; WHEN: Sat Jan 22 20:17:15 CST 2022
;; MSG SIZE rcvd: 151 主服务器测试:(反向解析)
[root@localhost ~]# dig -t ptr 100.42.168.192.in-addr.arpa @192.168.42.200 ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> -t ptr 100.42.168.192.in-addr.arpa @192.168.42.200
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1944
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;100.42.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION:
100.42.168.192.in-addr.arpa. 86400 IN PTR www.bytesiu.com.
100.42.168.192.in-addr.arpa. 86400 IN PTR slave.bytesiu.com. ;; AUTHORITY SECTION:
42.168.192.in-addr.arpa. 86400 IN NS slave.bytesiu.com.
42.168.192.in-addr.arpa. 86400 IN NS master.bytesiu.com. ;; ADDITIONAL SECTION:
master.bytesiu.com. 86400 IN A 192.168.42.200
slave.bytesiu.com. 86400 IN A 192.168.42.100 ;; Query time: 1 msec
;; SERVER: 192.168.42.200#53(192.168.42.200)
;; WHEN: Sat Jan 22 21:07:15 CST 2022
;; MSG SIZE rcvd: 172 从服务器测试:(反向解析)
[root@localhost ~]# dig -t ptr 100.42.168.192.in-addr.arpa @192.168.42.100 ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> -t ptr 100.42.168.192.in-addr.arpa @192.168.42.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23509
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;100.42.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION:
100.42.168.192.in-addr.arpa. 86400 IN PTR www.bytesiu.com.
100.42.168.192.in-addr.arpa. 86400 IN PTR slave.bytesiu.com. ;; AUTHORITY SECTION:
42.168.192.in-addr.arpa. 86400 IN NS master.bytesiu.com.
42.168.192.in-addr.arpa. 86400 IN NS slave.bytesiu.com. ;; ADDITIONAL SECTION:
master.bytesiu.com. 86400 IN A 192.168.42.200
slave.bytesiu.com. 86400 IN A 192.168.42.100 ;; Query time: 1 msec
;; SERVER: 192.168.42.100#53(192.168.42.100)
;; WHEN: Sat Jan 22 20:57:13 CST 2022
;; MSG SIZE rcvd: 172

2、搭建并实现智能DNS。

CDN (全称 Content Delivery Network),即内容分发网络

构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术,应用CDN后,DNS 返回的不再是 IP 地址,而是一个CNAME(Canonical Name ) 别名记录,指向CDN的全局负载均衡

CNAME实际上在域名解析的过程中承担了中间人(或者说代理)的角色,这是CDN实现的关键

简单来讲,CDN就是根据用户位置分配最近的资源

操作步骤:

测试IP:eth0 192.168.42.102、172.16.10.102
DNS服务器IP:beijing:192.168.42.200、wuhan:172.16.10.200 DNS服务器上做如下配置:
vim /etc/named.conf
#在文件最前面加下面行
配置acl
acl beijingnet {
192.168.42.0/24;
}; acl wuhannet {
172.16.10.0/24;
}; 配置区域配置文件(定义两套区域配置文件) [root@localhost ~]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bj
[root@localhost ~]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.wh vim /etc/named.rfc1912.zones.bj
zone "." IN {
type hint;
file "named.ca";
}; zone "bytesiu.com" {
type master;
file "bytesiu.com.zone.bj";
}; vim /etc/named.rfc1912.zones.wh
zone "." IN {
type hint;
file "named.ca";
}; zone "bytesiu.com" {
type master;
file "bytesiu.com.zone.wh";
}; 配置区域数据库文件
cp -p /var/named/bytesiu.com.zone /var/named/bytesiu.com.zone.bj
cp -p /var/named/bytesiu.com.zone /var/named/bytesiu.com.zone.wh vim /var/named/bytesiu.com.zone.bj
www CNAME cdn.bytesiu.com.
cdn A 192.168.42.100 vim /var/named/bytesiu.com.zone.wh
www CNAME cdn.bytesiu.com.
cdn A 172.16.10.100 将ACL和区域数据库实现对应关系,以实现智能DNS
[root@localhost ~]# vim /etc/named.conf
view beijingview {
match-clients { beijingnet; };
include "/etc/named.rfc1912.zones.bj";
}; view wuhanview {
match-clients { wuhannet; };
include "/etc/named.rfc1912.zones.wh";
}; #include "/etc/named.rfc1912.zones"; [root@localhost ~]# rndc reload
server reload successful

查看DNS解析结果:

bj
[root@localhost ~]# dig www.bytesiu.com @192.168.42.200 ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> www.bytesiu.com @192.168.42.200
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30859
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.bytesiu.com. IN A ;; ANSWER SECTION:
www.bytesiu.com. 86400 IN CNAME cdn.bytesiu.com.
cdn.bytesiu.com. 86400 IN A 192.168.42.100 ;; AUTHORITY SECTION:
bytesiu.com. 86400 IN NS master.bytesiu.com.
bytesiu.com. 86400 IN NS slave.bytesiu.com. ;; ADDITIONAL SECTION:
master.bytesiu.com. 86400 IN A 192.168.42.200
slave.bytesiu.com. 86400 IN A 192.168.42.100 ;; Query time: 5 msec
;; SERVER: 192.168.42.200#53(192.168.42.200)
;; WHEN: Sun Jan 23 20:12:43 CST 2022
;; MSG SIZE rcvd: 151 wh
[root@localhost ~]# dig www.bytesiu.com @172.16.10.200 ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> www.bytesiu.com @172.16.10.200
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64300
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.bytesiu.com. IN A ;; ANSWER SECTION:
www.bytesiu.com. 86400 IN CNAME cdn.bytesiu.com.
cdn.bytesiu.com. 86400 IN A 172.16.10.100 ;; AUTHORITY SECTION:
bytesiu.com. 86400 IN NS slave.bytesiu.com.
bytesiu.com. 86400 IN NS master.bytesiu.com. ;; ADDITIONAL SECTION:
master.bytesiu.com. 86400 IN A 192.168.42.200
slave.bytesiu.com. 86400 IN A 192.168.42.100 ;; Query time: 0 msec
;; SERVER: 172.16.10.200#53(172.16.10.200)
;; WHEN: Sun Jan 23 20:13:42 CST 2022
;; MSG SIZE rcvd: 151

3、使用iptable实现: 放行ssh,telnet, ftp, web服务80端口,其他端口服务全部拒绝

iptables -I  INPUT  -p tcp  -m multiport --dports  21,22,23,80 -j ACCEPT
iptables -A INPUT -j REJECT

4、NAT原理总结

IP地址分为公网IP与私网IP。一般情况下,在互联网中,公网IP可直接访问,私网IP无法直接访问。而NAT则是将私网IP地址转换为公网IP地址(将IP报文头部的私网IP地址改为可以提供访问的公网IP地址),从而实现用户上网功能或服务器在互联网上提供服务。NAT还可以使得一个公网IP代表多个不同的内网IP,这样便节省了IP地址资源。

SNAT与DNAT区别

SNAT是私网访问外网时,报文中源IP地址(私网IP地址)转换为公网IP地址过程。此转换可以使用静态、动态等转换方式,且内部的多台主机共用同一公网IP地址进行外网访问。

DNAT是外网访问私网时,报文中目的IP地址(公网IP地址)转换为私网IP地址过程。此转换过程可以使用静态、动态、端口等转换方式。

5、iptables实现SNAT和DNAT,并对规则持久保存。

实现SNAT和DNAT都需要开启内核数据转发功能

开启ip_forward转发功能

#echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
生效
#sysctl -p 查看
[root@localhost ~]# sysctl -a |grep ip_forward
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0

SNAT与DNAT

SNAT
iptables -t nat -A POSTROUTING -s 192.168.42.0/24 -j SNAT --to-source 192.168.159.4
iptables -t nat -A POSTROUTING -s 192.168.42.0/24 ! -d 192.168.42.0/24 -j MASQUERADE
DNAT
iptables -t nat -A PREROUTING -d 192.168.159.134 -p tcp --dport 80 -j DNAT --to-destination 192.168.42.105
iptables -t nat -A PREROUTING -d 192.168.159.134 -p tcp --dport 80 -j DNAT --to-destination 192.168.42.105:8080

对规则持久保存

yum install -y iptables-services
systemctl status iptables
systemctl start iptables
systemctl enable iptables
iptables-save > /etc/sysconfig/iptables 或
设置开机自动加载
/etc/rc.d/rc.local 在/etc/rc.d/rc.local文件添加
iptables-restore < /PATH/IPTABLES_RULES_FILE 加载规则列表
iptables-restore < /etc/sysconfig/iptables

linux作业--第九周的更多相关文章

  1. linux作业--第一周

    1.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别. 目前三大主流发行版分别为Debian.Redhat.SUSE. redhat: RHEL: Red Hat公司发布的面向企业用户的 ...

  2. linux作业--第二周

    1.显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录 ls /etc/ | grep ^[^[:alpha:]][[:alpha:]].* 2.复制/etc目录下 ...

  3. Linux入门-第九周

    1.判断UID是否大于等于500,如果为真就显示为普通用户,如果为假就显示为系统或管理用户 AWK简介:awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报 ...

  4. 2018-2019-1 20189221 《Linux内核原理与分析》第九周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第九周作业 实验八 理理解进程调度时机跟踪分析进程调度与进程切换的过程 进程调度 进度调度时机: 1.中断处理过程(包 ...

  5. 2017-2018-1 20179205《Linux内核原理与设计》第九周作业

    <Linux内核原理与设计>第九周作业 视频学习及代码分析 一.进程调度时机与进程的切换 不同类型的进程有不同的调度需求,第一种分类:I/O-bound 会频繁的进程I/O,通常会花费很多 ...

  6. 2019-2020-1 20199325《Linux内核原理与分析》第九周作业

    第九周作业要求: 理解Linux系统中进程调度的时机,可以在内核代码中搜索schedule()函数,看都是哪里调用了schedule(),判断我们课程内容中的总结是否准确: 使用gdb跟踪分析一个sc ...

  7. 2019-2020-1 20199329《Linux内核原理与分析》第九周作业

    <Linux内核原理与分析>第九周作业 一.本周内容概述: 阐释linux操作系统的整体构架 理解linux系统的一般执行过程和进程调度的时机 理解linux系统的中断和进程上下文切换 二 ...

  8. 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...

  9. 20169207《Linux内核原理与分析》第九周作业

    第九周的实验依旧和往常的一样,主要包括两部分.一是1.阅读学习教材「Linux内核设计与实现 (Linux Kernel Development)」第教材第13,14章.二是学习MOOC「Linux内 ...

随机推荐

  1. Kubernetes:Pod总结(二)

    Blog:博客园 个人 承接上文. 在实际的生产使用场景中,直接用 Pod 是不合适的,因为必然会产生单点故障.因此,我们需要有一种方法来方便地创建.管理同一个服务的多个实例 Pod.Kubernet ...

  2. bom-location

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. XML 中如何输入回车换行

    XML 中如何输入回车换行? XML 特殊字符: 下面的字符在 [XML]中被定义为 空白(whitespace)字符: 空格 ( ) Tab ( ) 回车 ( ) 换行 ( ) XML 中如何输入回 ...

  4. kali中安装arpspoof 报错

    情境今天在使用arpspoof这个命令的时候,提示没有命令找不到,此时就想着安装一下没想到,碰上kali源不支持的问题  解决所以,此时需要做的就是安装阿里云或者其他镜像  步骤1. vim /etc ...

  5. Python接口自动化测试_悠悠

    https://yuedu.baidu.com/ebook/585ab168302b3169a45177232f60ddccda38e695###  

  6. 用 Python 简单生成 WAV 波形声音文件

    Python 简单生成 WAV 波形声音文件 让机器发出声响,本身就是一件充满魔法的事情.有没有想过,用一段简单的代码,生成一个最简单的声音呢?Python 这门脚本语言的库十分丰富,借助于其中的三个 ...

  7. 我来教你如何用Docker部署最近火爆的人生重开模拟器

    文章目录 获取项目源码包 Dockerfile 构建docker镜像 启动docerk容器 访问liferestart 如果人生可以重来... <可惜没如果> github项目地址:htt ...

  8. 大厂晋升指南:材料准备,PPT 写作和现场答辩

    大部分公司在年初,都是绩效回顾.晋升答辩的时期,对于阿里.美团等不少互联网企业,财年是从前一年的 4 月到第二年的 3 月底,春节回来以后,就是一年一度的述职晋升环节. 这里我结合自己述职以及辅导其他 ...

  9. 关于Linux操作系统的命令行文件拷贝

    关于Linux操作系统的命令行文件拷贝 起因:服务器的加密狗秘钥过期导致无法使用服务,需要将服务器里面的秘钥文件发送给授权人员.本以为十分容易,打开服务器,图形界面点击发送即可.没想到服务器的界面是命 ...

  10. CUDA01 - 硬件架构、warp调度、指令流水线和cuda并发流

    这一部分打算从头记录一下CUDA的编程方法和一些物理架构上的特点:从硬件入手,写一下包括线程束的划分.流水线的调度等等微结构的问题,以及这些物理设备是如何与软件对应的.下一部分会写一下cuda中的几种 ...