linux网络基础2

ip地址

进制转换

提到ip地址,就必须了解到一些有关进制转换的问题。我们比较常见的进制转换有:
2进制:基数为2,由0、1组成
8进制:基数为8:由0、1、2、3、4、5、6、7组成
10进制:基数为10:由0、1、2、3、4、5、6、7、8、9组成 (生活中最常用)
16进制:基数为16:由0、1、2、3、4、5、6、7、8、9、 A、B、C、D、E、F组成

各进制之间转换是这样的:
2进制和8进制转换 :3位一体,每三位2进制数转换成10进制后是8进制的一位。
2进制和16进制转换:4位一体,每四位2进制数转成10进制后是16进制的一位。
10进制和其他进制的转换:采用除进制数取余的方式计算。
例:
在这里插入图片描述
通过上面的计算可以得出十进制数10转换成二进制数后是1010。
其他进制和10进制的转换:采用基数乘权的方式计算。
例:
1010 = 0×20+1×21+0×22+1×23

ip地址基本概念

ip地址就是一串二进制数字序列。ipv4是32位二进制数的组合,ipv6是128位二进制数的组合。
生活中常见的IP地址是这样的:
192.168.1.1
实质上是把ipv4地址分成4段,每一段8位用十进制去表示,中间用.分隔。
ipv6则是把地址分为8段,每一段16位,用16进制表示,中间用:分隔。如果中间某个字段都是0,那么就会省略。也就是说
2001:0DB8:0000:0023:0008:0800:200C:417A
这个ip地址可以表示成
2001:DB8:0:23:8:800:200C:417A
ipv6之所以被提出,就是因为ipv4地址已经不够人们使用了,因此提出了ipv6。

ip地址分类

主要按照第一个字段的值进行分类
a类:1~126
b类:128~191
c类:192~223
d类:组播地址,vrrp协议 224~239
e类:用作科研使用 240~247
这其中有一个特殊的网段127,并没有被列为任何一类地址中,这个网段用做本地回环地址,代表本地的虚拟端口,用于检查本地协议以及数据接口是否正常。
广播:表示在同一个广播域中,所有人都能收到消息
组播:表示在同一个广播域中,只有部分计算机能够收到消息
私网ip:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
公网ip:
其他地址都是公网ip。

子网掩码

在ip地址的表示中,主机位全为0表示网络号,网络位全为1表示子网掩码,主机位全为1表示广播地址。
例如:
ip地址: 11000000 10101000 00000001 00000001 192.168.1.1
子网掩码: 11111111 11111111 11111111 00000000 255.255.255.0
网络号: 11000000 10101000 00000001 00000000 192.168.1.0
广播地址: 11000000 10101000 00000001 11111111 192.168.1.255
我们可以灵活的使用子网掩码来为我们网络中的ip地址划分子网,便于我们的管理与使用。网络号不同的网段不能直接通讯。
例如:
我们想使每个网络中包含126台可用主机,那么我们的子网就可以这样划分:
网络号: 11000000 10101000 00000001 00000000 192.168.1.0
子网掩码:11111111 11111111 11111111 10000000 255.255.255.128
这样我们就把我们的192.168.1.0这段ip划分成了两个网络,分别的192.168.1.0网络和192.168.1.128网络。这也就意味着192.168.1.1这个ip在不经过路由器的情况下是无法ping通192.168.1.130这个ip的。
要注意的是,上面的网络划分后,192.168.1.0 192.168.1.128 192.168.1.127 192.168.1.255这四个ip地址不能被pc使用,因为192.168.1.0 192.168.1.128被用作了网络号,192.168.1.127 192.168.1.130则被用作了广播地址。
因此子网的划分要尽可能的科学,不然容易造成不必要的ip地址浪费。

arp协议

工作在网络层和数据链路层之间。
使用广播的方式实现ip地址到mac地址的转换。

arp需要注意:
a: arp欺骗
b: 如果局域网规模太大,容易引起广播风暴

DNS

在计算机网络中,实质上是只认识ip地址的。
我们知道,百度的域名是www.baidu.com,我们之所以能通过www.baidu.com访问百度,就是因为有dns为我们做了域名解析,他会把域名解析成相应的ip地址。这就是为什么我们能够通过www.baidu.com去访问百度的原因。

网站访问过程

打开浏览器输入域名—>域名解析---->成功访问网站
在这里插入图片描述

域名解析记录

  1. A(Address)记录是用来指定主机名(或域名)对应的IP地址记录。
  2. NS (Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
  3. MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。
  4. CNAME(Canonical Name )别名记录,允许您将多个名字映射到同一台计算机。
  5. TXT记录 ,一般指某个主机名或域名的说明。
  6. AAAA记录 用来指定主机名或域名对应的ipv6地址记录。

域名解析相关命令(了解即可)

# 使用linux系统配置的dns服务器去解析该域名
[root@oldboy ~]# dig www.oldboyedu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.oldboyedu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30705
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:
;www.oldboyedu.com.		IN	A

;; ANSWER SECTION:
www.oldboyedu.com.	5	IN	CNAME	www.oldboyedu.com.w.kunlungr.com.
www.oldboyedu.com.w.kunlungr.com. 5 IN	A	221.15.65.171

;; Query time: 127 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Tue Mar 31 16:57:53 CST 2020
;; MSG SIZE  rcvd: 105

# 使用8.8.8.8的dns服务器来解析该域名

[root@oldboy ~]# dig @8.8.8.8 www.oldboyedu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> @8.8.8.8 www.oldboyedu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20426
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.oldboyedu.com.		IN	A

;; ANSWER SECTION:
www.oldboyedu.com.	1	IN	CNAME	www.oldboyedu.com.w.kunlungr.com.
www.oldboyedu.com.w.kunlungr.com. 1 IN	A	116.117.158.78

;; Query time: 17 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Mar 31 16:58:25 CST 2020
;; MSG SIZE  rcvd: 94

# 使用8.8.8.8的dns服务器来解析该域名,并追踪解析该域名的过程
[root@oldboy ~]# dig @8.8.8.8 www.oldboyedu.com +trace(过于冗长,不显示结果)

[root@oldboy ~]# host www.oldboyedu.com
# 使用Linux系统配置的dns服务器去解析该域名
www.oldboyedu.com is an alias for www.oldboyedu.com.w.kunlungr.com.
www.oldboyedu.com.w.kunlungr.com has address 221.15.64.171

# 使用Linux系统配置的dns服务器去解析该域名
[root@oldboy ~]# nslookup www.oldboyedu.com 
Server:		10.0.0.2
Address:	10.0.0.2#53

Non-authoritative answer:
www.oldboyedu.com	canonical name = www.oldboyedu.com.w.kunlungr.com.
Name:	www.oldboyedu.com.w.kunlungr.com
Address: 221.15.65.171

# 使用8.8.8.8的dns服务器来解析该域名
[root@oldboy ~]# nslookup www.oldboyedu.com 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
www.oldboyedu.com	canonical name = www.oldboyedu.com.w.kunlungr.com.
Name:	www.oldboyedu.com.w.kunlungr.com
Address: 116.117.158.78

使用bind自建dns服务器

  1. 克隆两台虚拟机,把虚拟机的ip地址设置成不同的ip。
  2. dns服务器配置:
[root@oldboy ~]# yum install bind bind-utils -y
[root@oldboy ~]# vim /etc/named.conf
# 把文件中的127.0.0.1和localhost改成any
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
# 在文件的第三行添加:
zone "oldboyedu.com" IN {
    type master;
    file "oldboyedu.com.zone";
};
[root@oldboy ~]# vim /var/named/oldboyedu.com.zone
# 添加如下信息:
$TTL 1D
@   IN SOA  @ dns.oldboyedu.com. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  @
[root@oldboy ~]# chown -R named:named /var/named/oldboyedu.com.zone
# 修改文件属主
[root@oldboy ~]# named -checkconf
# 检查是否有语法错误,没有报错说明无误
[root@oldboy ~]# systemctl start named
[root@oldboy ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
  1. 测试环境配置:
[root@oldboy ~]# yum install bind-utils -y
# 下载测试工具
[root@oldboy ~]# dig @10.0.0.11 www.oldboyedu.com
# 使用dig命令测试
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> @10.0.0.11 www.oldboyedu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32966
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.oldboyedu.com.		IN	A

;; ANSWER SECTION:
www.oldboyedu.com.	86400	IN	A	10.0.0.100

;; AUTHORITY SECTION:
oldboyedu.com.		86400	IN	NS	oldboyedu.com.

;; ADDITIONAL SECTION:
oldboyedu.com.		86400	IN	A	10.0.0.1

;; Query time: 1 msec
;; SERVER: 10.0.0.11#53(10.0.0.11)
;; WHEN: Tue Mar 31 18:02:05 CST 2020
;; MSG SIZE  rcvd: 92

发布了39 篇原创文章 · 获赞 4 · 访问量 1196

猜你喜欢

转载自blog.csdn.net/zwj1834787/article/details/105214451