Linux终端生存之道-网络小工具


今天公司在部署服务器的时候,一直在倒腾 DNS 服务器。公司自己部署 DNS 服务器而不是 使用外网的 DNS 服务器,是因为我们没有暴露公网的打算,而且我们的服务是金融服务,就更不能轻易暴露到外网了。所以通过自己的DNS服务器把域名给隐藏掉。但是不暴露也意味着外网访问受限,不过后面会用VPN的方式接入。这里用到了 nslookup 小工具,以前自己没有用过,特此学习一下,继而引出了其他几个工具的使用,在这里也一并记录一下原理和常用的手段

ping 查看网络通不通

ping 用的最多的就是看网络通不通。例如我们可以通过 ping <www.baidu.com> 然后根据终端输出的结果来判断网络是不是通的。

Ping是一种网络工具,用于测试主机之间的网络连接。它发送一个小的网络数据包(ICMP Echo Request)到目标主机,并等待接收到相应的回复(ICMP Echo Reply)。通过测量往返时间(Round-Trip Time,RTT)和丢包率,可以评估网络的可达性和性能。
以下是一张简单的图示,展示了Ping请求和响应的过程:

+-----------------+                   +-----------------+
|   Your Computer |                   | Target Computer |
+-----------------+                   +-----------------+
         |                                    |
  ICMP Echo请求                           ICMP Echo响应
         |                                    |
         +------------> Network -------------->+

要注意一点,ping 访问目标服务器的时候,是不用指定端口的,也没有默认端口一说。因为ping命令是一种工具,用于测试和检查网络连接。它使用的是ICMP协议(互联网控制报文协议),而不是传输层协议(如TCP或UDP)。ICMP(Internet Control Message Protocol)是一个用于在IP网络中传输控制消息的协议。ICMP消息不使用端口号的原因是因为它们不是用于在不同主机之间直接进行通信,而是用于发送网络控制信息、错误报告和诊断信息。端口号通常用于标识目标主机上的特定应用程序或服务。但是,ICMP消息不是直接发送给特定的应用程序或服务,而是发送给目标主机的网络协议栈(通常是操作系统内核),然后由它们处理。

telnet、nc 查看开放端口号

telnet、nc 查看开放端口号

dig

dig命令是一种常用的网络工具,用于查询DNS(Domain Name System)服务器,获取域名的IP地址、主机名、MX(Mail Exchange)记录等信息。我们最常用的就是看

我们可以看到,百度的两台服务器分别分别是 110.242.68.3 和 110.242.68.4。我们通过网站 http://ip.bczs.net/110.242.68.3 查看


再通过自己公司的配置来理解这个工具的使用
链接vpn走了公司自己设置的DNS服务器

如果断开VPN后的情形

DNS 是什么

DNS 的记录类型
1.主机[A]记录
描述: 主机地址记录。在 DNS 域名与 IP 地址之间建立映射关系语法: owner class ttl A IP_v4_address

例子: host1.example.microsoft.com. IN A 127.0.0.1

2.别名[CNAME]
描述: 用来表示用在该区域中的其它资源记录类型中已指定名称的替补或别名 DNS 域名。语法: owner ttl class AFSDB subtype server_host_name

例子: aliasname.example.microsoft.com. AFSDB 1 truename.example.microsoft.com.

3.主机信息[HINFO]
描述: 用来说明映射到特定 DNS 主机名的 CPU 类型和操作系统类型的 RFC-1700 保留字符串类型,这个信息可以被应用程序通信协议使用。语法: owner ttl class HINFO cpu_type os_type

例子: my-computer-name.example.microsoft.com. HINFO INTEL-386 WIN32

4.邮箱[MB]
描述: 用来将指定的域邮箱名映射到这个邮箱的主机的当前区域中的主机地址记录语法: owner ttl class MB mailbox_hostname

例子: mailbox.example.microsoft.com. MB mailhost1.example.microsoft.com

5.邮箱或通信信息 MINFO
描述: 用来指定负责维护该记录中特定通信名单或邮箱的联系域邮箱名称。同时,还被用来指定接收与该记录中特定通信名单或邮箱有关的错误信息的邮箱语法: owner ttl class MINFO responsible_mailbox error_mailbox

例子: administrator.example.microsoft.com. MINFO resp-mbox.example.microsoft.com err-mbox.example.microsoft.com

6.邮件交换器 [MX]
描述: 用来向特定邮件交换器提供消息路由,该主机作为指定 DNS 域名的邮件交换器。MX 记录需要一个16-位整数来表示消息路由中的主机优先级,多个邮件交换在消息一中被指定。对于这个记录类型中的每个邮件交换主机,需要一个相应的主机地址类型记录。语法: owner ttl class MX preference mail_exchanger_host

例子: example.microsoft.com. MX 10 mailserver1.example.microsoft.com

7.指针记录 [PTR]
描述: 用来指向域名空间中的某个位置。PTR记录通常在特殊域中来执行地址到名称镜像的反向搜索。每个记录提供要指向域名称空间的某个其它位置的简单数据。 Syntax: owner ttl class PTR targeted_domain_name

例子: 1.0.0.10.in-addr.arpa. PTR host.example.microsoft.com.

8.服务记录 [SRV]
描述: SRV 资源记录允许管理员使用单一 DNS 域的多个服务器,容易的用管理功能将 TCP/IP 服务从一个主机移到另一个主机,并且将服务提供的程序主机分派为服务的主服务器,将其它的分派为辅助的语法: service.protocol.name ttl class SRV preference weight port target

例子: ldap.tcp.ms-dcs SRV 0 0 389 dc1.example.microsoft.com SRV 10 0 389 dc2.example.microsoft.com

9.已知服务记录 [WKS]
描述: 用来描述一个特定 IP 地址上特定通讯协议支持的 TCP/IP 服务,它提供 TCP 和 UDP 可使用性信息。如果服务器同时支持 TCP 和 UDP 的已知服务,或者有多个支持服务的 IP 地址,多个 WKS 记录会被使用语法: owner ttl class WKS address protocol service_list

例子: example.microsoft.com. WKS 10.0.0.1 TCP ( telnet smtp ftp )
在"起始颁发机构" SOA 中,记录了这个 Zone 中 DNS 服务器是那一台主机,也记录着负责本 zone 的管理员的邮件地址,如果以后在安装邮件服务器需要修改该信息时,注意将邮件地址中的 “@” 符改为句点 “.” ,因为 “@” 是保留字,代表 zone;另外,要使用域完整名称 FQDN,不要漏掉最后的句点。可以通过 "zone→属性→起始颁发机构"对管理员邮件地址进行修改。


评论
  目录