网络配置——Linux入门到精通的难关之一

Linux学习的重中之重——网络配置

1.基础知识

1.1——网络配置基础

Linux具有强大的网络功能,它提供了许多完善的网络工具,可以帮助用户轻松完成各种复杂的网络配置,实现各种需要的网络服务。

为了让用户主机能够访问Internet,应当正确设置网络接口。用户既可以通过命令实现,也可以通过图形界面轻松完成网络配置。

实现LIinux网络配置的目标就是修改系统中众多的网络配置文件,如:/etc/interfaces、/etc/hosts、/etc/resolv.conf等等。

1.2——IP地址

IP地址,它相当于用户主机的身份证。它包括两部分:internet网络号(Net-ID)和主机号(Host-ID)。由此我们可以讲,一个IP地址唯一标识了处在某个网络区域中的某个网络接口(也可以说某台主机)。

IP地址根据网络地址的不同,主要分为A类、B类、C类、D类和E类。

一个A类IP地址由1字节网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从1.0.0.0到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从 128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。

D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在组播中。组播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

E类地址以“1110”开始,为将来使用保留。

1.3——子网掩码

子网掩码(subnetmask)又叫网络掩码,一般构成是网络地址部分全是“1”,主机地址全是“0”。例如
C类IP地址192.168.1.134,用三个字节标识网络地址,一个字节标识主机地址,所以其子网掩码为255.255.255.0(默认子网掩码)。

子网掩码的一个主要作用就是判别主机发送的数据包是要向外网发送,还是向内网发送。例如主机A向主机B发送数据包,主机A先将自己的子网络掩码和目标主机的IP地址做与操作。由于子网掩码的网络地址部分全是“1”,主机地址全是“0”,这样与操作结果就是网络地址。

例如,IP地址为192.168.0.115,主机的子网掩码是255.255.255.0,拿IP地址和子网掩码做与操作的结果是
192.168.0.0,此即IP地址所在的网络地址。

A主机得到网络地址后,就拿得到网络地址和B所在网络地址做对比,如果网络地址相同,就说明B主机和A主机在同一个网络,数据包向内网发送;如果不相同,则向外网发送,即发送到网关。

1.4——网关

网关(Gateway)又称网间连接器、协议转换器。网关主要用在传输层上以实现网络连接,是最复杂的网络互联设备,仅用于两个高层协议不同的网络互联。

网关既可以用于广域网互联,也可以用于局域网互联。网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。

1.5——DNS服务器

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被及其直接读取的IP。

1.6——路由器

路由器(Router),它是连接因特网中各局域网、广域网的设备。路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网。

路由器又称为网关设备(Gateway),用于连接多个逻辑上分开的网络。所谓逻辑网络是指代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。

我们以C类IP地址为例(如:172.25.254.106/24),前面已经讲过,C类IP地址是由一个32位的二进制数来表示,前24位表示网络位,后八位表示主机地址。我们若想实现两台主机之间进行数据传输,原则上两个主机的IP地址网络位应该相同,也就是说在网络位相同的情况下,能实现相互通信的主机个数256-2=254(C类IP后八位表示主机个数,但全0和全1的地址不可用)台,这对我们现实的生产生活限制很大,因此就有了路由器。通俗的将,路由器能使IP网络位不同的主机实现数据交换。

在本文的后面我们会向大家具体介绍如何将一台主机作为路由器,从而去连通两台IP网络位不同的主机。

2.网络设定相关命令

1)ifconfig命令

当ifconfig命令不带任何参数时,用于显示当前主机的网络接口信息。

eth0表示主机的第一个以太网卡,下图中光标点亮的信息为eth0的IP地址
lo表示本地回环网卡信息
在这里插入图片描述
设置临时的IP地址和子网掩码,设备重起后IP会还原

ifconfig	 eth0  172.22.22.22		netmask		255.255.255.0

在这里插入图片描述

除了上述的方式,还有以下用法

设定IP:【device是指网卡名】——临时更改,【reboot】重启后恢复

ifconfig	device		ip/24		

在这里插入图片描述

关闭网卡

在这里插入图片描述

开启网卡
在这里插入图片描述

2)网络测试命令——ping

**功能:查看网络是否连通。

下图所示,主机能访问百度网站,网络已连通
在这里插入图片描述

ping	-c		1		-w	1

c表示数据交换次数,w表示执行时间

在这里插入图片描述

3) ip addr——检测或指定网络接口

用法一:

ip		addr	show   		##检测

在这里插入图片描述

设定IP地址——临时设定

ip addr flush eht0						##刷新网卡eth0上的地址
ip addr add ip/24 dev eth0			##删除后添加IP

删除后查看
在这里插入图片描述
设定后查看
在这里插入图片描述

4)图形方式设定IP——原理是更改网络的配置文件

演示:我们用图形设定IP为【1.1.1.106】

第一步:命令打开图形

nm-connection-editor 

在这里插入图片描述

第二步:删除已存在的网络,点击【Add】添加——后续操作如图所示

在这里插入图片描述
————————————————————————————————————————————

在这里插入图片描述
————————————————————————————————————————————

在这里插入图片描述
————————————————————————————————————————————
在这里插入图片描述
点击右下方【Save】保存即可

第三步:用【ifconfig】命令查看——添加成功

在这里插入图片描述

注意:

我们上述的操作是删除后添加,当然我们也可以在原网络上修改,操作大致相同。打开图形之后点击【Edit】,然后直接找到IP所在页面进行修改。

但是唯一不同的是,如果是添加,那么添加后会直接生效;而若是修改则需要用命令重启网络。命令如下:

systemctl	stop NetworkManager
systemctl	restart network				##此时查看,生效后打开NetworkManager
systemctl	start NetworkManager

在这里插入图片描述

5)命令方式设定网络——nmcli

强调用命nmcli命令设定时,【NetworkManager】必须开启

基本命令

nmcli	device connect eth0					##启用网卡eth0
nmcli	device disconnect eth0				##关闭eth0网卡
nmcli 	device status eth0					##查看网卡eth0的状态

在这里插入图片描述

nmcli connection	show				##查看网络信息
nmcli connection	down eth0			##关闭
nmcli connection	up eth0				##开启
nmcli connection	delete eth0			##删除

在这里插入图片描述
按着上图的步骤进行实验,观察变化便可轻松理解这些命令。最后一条我们把原来的网络【Eth0】删掉,现在我们同样用命令来建立从新的网络

nmcli  connection  add type ethernet con-name westos ifname eth0 ip4 172.22.22.22/24

上述命令表示我们建立网络的类型为以太网【ethernet】,网络名为westos,IP地址为172.22.22.22——临时建立
在这里插入图片描述
查看
在这里插入图片描述

设置静态网
在这里插入图片描述

1)添加网络

nmcli	connection add type ethernet 	con-name  westos	ifname eth0 ip4	172.25.254.106/24
systemctl restart network 

在这里插入图片描述

设置为动态网

注意:下图中设置动态网以后,没有IP地址是因为,作者本机中尚未安装DHCP相关软件

nmcli	connection modify westos ipv4.method auto			##修改为动态网络

在这里插入图片描述

动态转变为静态

nmcli	connection modify westos ipv4.address 172.25.254.106   ##添加网络地址

nmcli	connection modify westos ipv4.method manual		##修改为静态网络

systemctl retart network

在这里插入图片描述

添加动态网络

nmcli 	connection add type ethernet con-name westos ifname eth0 autoconnect  yes

systemctl restart network

在这里插入图片描述

6)网络配置文件——/etc/sysconfig/network-scripts/

配置文件内容解释
在这里插入图片描述

字符含义
DEVICE=eth0网卡名
TPROTO=dhcp/static/none设备工作方式(动态/静态/无)
ONBOOT=yes网络服务开启时自动激活网卡
IPADDR=IP地址
PREFIX=24 / NETMASK=255.255.255.0子网掩码
NAME=网络名称
TYPE=Ethernet网卡工作模式=以太网

操作演示:

静态网络设定(可以一次设定多个):

vim	/etc/sysconfig/network-scripts/ifcfg-westos

在这里插入图片描述
重启网络后【ifconfig】查看

在这里插入图片描述

动态网络设定(只能设定一个),同样设定后重启网络

vim	/etc/sysconfig/network-scripts/ifcfg-westos

在这里插入图片描述

我们还可以在一块网卡上设置多个IP

操作如下:

在这里插入图片描述
查看:

在这里插入图片描述

7.网关设置

首先两个重要的概念:网关和路由器我们在本文的开头已经讲过了。

路由器作用:IP地址的网络域不能完成信息交换,因此在网络中需要路由器用来做地址转换【nat】,使的访问者IP变成能使目的地主机能识别的IP

网关的作用:通俗的讲就是在路由器中将访问者主机IP转换成与被访问主机相同网络段的IP

实验:

1)选择一台虚拟机作为路由器,为其添加一个网卡(实验时需要两个网卡)。

真机中打开shell,输入命令:

在这里插入图片描述
选择作为路由器的虚拟机【desktop】----->【open】

在这里插入图片描述
点击左上角的小灯泡----->点击左下角的【Add Hardware】

在这里插入图片描述
选择【network】---->【Device model】---->【virtio】---->【finish】
在这里插入图片描述
查看是否建立成功
在这里插入图片描述
2)将另一台虚拟机作为客户端,并将其IP设置为【1.1.1.221】

修改网络配置文件
在这里插入图片描述
在这里插入图片描述
3)修改路由器的IP

将网卡【eth1】的IP网络段设置为与客户端相同即可

将网卡【eth0】的IP网络段设置为与真机相同(查看可知真机IP为172.25.6.250)

在这里插入图片描述
4)路由端其他设置

查看内核的路由功能是否开启(0为关闭,1为打开),若未开启,用以下命令操作:

sysctl	-a | grep ip_forward				##查看

打开操作:

vim /etc/sysctl.conf     ##写入  net.ipv4.ip_forward = 1

sysctl -p				##使文件生效

添加火墙地址伪装功能,关闭火墙

firewall-cmd --add-masquerade

在这里插入图片描述

在这里插入图片描述

5)客户端设置

查看路由表

route -n  

在这里插入图片描述

添加网关

设置有全局网关和局部网关两种方式,全局网关对所有网卡都生效,局部网关只针对所设置网卡生效

vim /etc/sysconfig/network-scripts/ifcfg-eth0      ###局部网关设置

vim	/etc/sysconfig/network				##全局网关设置

RATEWAY0=1.1.1.121

重启网络服务

systemctl restart network

在这里插入图片描述
在这里插入图片描述

6)测试:

ping 172.25.6.250

客户端的IP为【1.1.1.221】,真机的IP为【172.25.6.250】,正如本文开头介绍的那样,两个网络位不同的主机不能完成通信,那么我们在做了以上操作后,测试看看能不能实现不同网络段主机的数据交换

在这里插入图片描述
能ping通,证明实验成功

实验二:实现虚拟机上网——实际上在解决这个问题时,我们是把真机作为路由器来实现虚拟机上网功能

1)首先保证真机接入网络,然后查看真机IP信息,找到真机内网IP

在这里插入图片描述
2)检查真机内核路由功能是否开启

sysctl	-a | grep ip_forward				##查看,若未开启进行如下操作

vim /etc/sysctl.conf     ##写入  net.ipv4.ip_forward = 1

在这里插入图片描述
关闭真机火墙,开启地址伪装功能

firewall-cmd --add-masquerade

systemctl stop firewalld

在这里插入图片描述

3)设置虚拟机网关——网关网络位只要和真机内网网络位相同即可

查看虚拟机路由

route -n

vim /etc/sysconfig/network

systemctl restart network			##修改完记得重启网络

在这里插入图片描述
在这里插入图片描述

4)开始测试

在真机中【ping】百度

在这里插入图片描述
在虚拟机中用上图中鼠标选中的百度IP进行测试

在这里插入图片描述

8.网络的地址解析

简单来讲,地址解析就是用户输入的网址转化为机器能够识别的IP地址

地址解析分为网络解析和本地解析。本地解析依靠修改相关配置文件(将网址对应的IP添加到配置文件中);网络解析依靠DNS服务器,只用在本机中添加DNS的IP地址即可。

两种方式主要区别在于:

(1)系统默认本地解析的优先级高于网络解析。用户输入的网址先会进行本地解析,如果未找到对应的IP地址,那么就会访问DNS服务器,在那里进行解析。

(2)本地解析需要手动添加比较麻烦。比如我们对百度的网址进行本地解析,但是百度里面的相关服务百度新闻、百度贴吧等,这些服务对应的是新的网址和IP,我们必须访问一个就要添加一个,这显然在生活生产中不适用。

(3)DNS(域名系统)服务器用来做网络解析的工具,它里面对已存的域名都进行了解析,我们使用它相对来说比较方便。

实验三:在上述实验中,我们用虚拟机完成上网,并成功访问百度IP,我们在虚拟机中打开浏览器输入网址或直接像真机一样【ping】百度网址,发现报错,因此我们接下来要做的便是网络的地址解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1)本地解析——配置文件/etc/hosts,更改即可生效

vim  /etc/hosts

我们以比百度新闻为例:

解析前
在这里插入图片描述

解析后

vim /etc/hosts

在这里插入图片描述
效果如下

在这里插入图片描述
在这里插入图片描述
2)网络解析——DNS服务器的添加,/etc/resolv.conf(更改即可生效)

我们可用中国电信搭建的国内免费公众DNS服务器,IP地址为114.114.114.114

vim /etc/resolv.conf

在这里插入图片描述
更改后:我们可以随便选一个域名,如:www.hao123.com

在这里插入图片描述
3)解析方式优先级的修改

前面已经提到,本地解析的优先级高于网络解析,我们可以通过以下方式来修改

vim /etc/nsswitch.conf

文件第39行左右:

更改前
在这里插入图片描述
更改后
在这里插入图片描述
4)固定DNS

注意: 动态网络下,重启网络后系统会给DNS分配一个新的地址

固定DNS操作如下:

在网络配置文件中加一行:

PEERDNS=no

在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值