Part2.1——Linux下的网络配置

目录

一、什么是IP?

二、什么是子网掩码?

三、IP通信判定

四、网络设定工具

1、ifconfig命令(临时设定)

2、ip命令(临时设定)

3、ping命令(检测网络是否通畅)

五、图形方式设定网络参数

1、nm-connection-editor

2、nmtui

六、命令行方式设定网络参数

 1、接下来使用命令重新为网卡设置IP

2、如果要更改连接的话可以按照如下步骤:

 七、管理网络配置文件设置网络参数

 八、网关的设定

1、实验环境的设置

2、 临时设置网关

3、永久设置网关

九、DNS的设定

1、为什么要设定DNS?

2、实验环境:

 3、编写本地解析文件

4、编写网络解析文件

5、调整解析的优先级顺序

 十、搭建网络软件仓库(私人共享文件源,非网络软件源)

十一、dhcp服务配置

十二、网桥的设定

1、实验环境

2、桥接对虚拟化的影响

 3、网桥原理

4、配置网桥

十三、本章总结


一、什么是IP?

IP(Internet Protocol Address),网络进程管理。

IPv4(Internet Protocol Version 4),第四代网络进程协议。

IP是由32个二进制数组成:

11111110.11111110.11111110.11111110 = 254.254.254.254

二、什么是子网掩码?

可以根据子网掩码的开关来判定IP中哪些是网络位,哪个主机位。(即:11111111.11111111.11111111.00000000=255.255.255.0,就表示IP的前三位为网络位,最后一位是主机位)

用来划分网络区域
子网掩码非0的位对应的ip上的数字表示这个ip的网络位
子网掩码0位对应的数字是ip的主机位
网络位表示网络区域
主机位表示网络区域里某台主机

三、IP通信判定

网络位一致,主机位不一致的2个IP可以直接进行通讯。

IP有以下几种表达方式:

172.25.254.1/24                24=11111111.11111111.11111111.00000000=255.255.255.0

172.25.254.2/24

172.25.0.1/16                    16=11111111.11111111.00000000.00000000=255.255.0.0

四、网络设定工具

1、ifconfig命令(临时设定)

<ifconfig>命令用来查看或设定网络接口

ifconfig                                ##查看
ifconfig device ip/24            ##设定
ifconfig device down           ##关闭
ifconfig device up                ##开启

<ifconfig>命令更改IP的两种操作(这种方法仅限于临时更改)

ifconfig enp1s0 172.25.254.110 netmask 255.255.255.0
ifconfig enp1s0 172.25.254.110/24

 <ifconfig>命令开启/关闭网卡的命令:

ifconfig enp1s0 down        #关闭网卡
ifconfig enp1s0 up          #开启网卡

2、ip命令(临时设定)

ip    addr                                                        ##检测或设定网络接口
ip    addr   show                                             ##检测
ip    addr del ip/24  dev ens160                   ##删除                                                                 ip    addr add ip/24 dev device                      ##设定

<ip>命令查看网络连接基本信息:

ip a
ip addr show        #这两个命令运行结果一样

 <ip>命令更改IP地址:这个命令只能先删除后设定

ip addr del 172.25.254.100/24 dev enp1s0    #删除指定网卡的IP地址

 使用<ip>命令删除<enp1s0>网卡的ip地址后,查看网卡信息可以看到此网卡的IP信息已经删除。

 接着使用<ip>命令重新设定网卡IP,查看网卡信息可以看到此网卡的IP信息已经设置好。

3、ping命令(检测网络是否通畅)

ping -c 1  IP                         ##ping 1 次
ping -w 1  IP                        ##等待1秒
ping -c1 -w1  IP                   ##ping1次等待1秒

使用<ping>命令的<-c>参数可以设置次数,<-w>参数可以设置等待时间,如果ping的主机没有连通,一般要等很久,这时候加上<-w>参数后,最多只用等1秒了,当然如果可以ping通,那么只会测试一次就结束。

五、图形方式设定网络参数

使用网络管理工具设置网络时,必须保证<NetworkManager>服务开启

systemctl start NetworkManager          #启动网络管理服务
systemctl stop  NetworkManager          #关闭网络管理服务
systemctl restart NetworkManager        #重启网络管理服务
systemctl status NetworkManager         #查看网络管理服务的状态

 通过状态查看命令可以看到,网络管理服务<NetworkManager>已经开启。

1、nm-connection-editor

nm-connection-editor,是一种基于图形的网络管理方式。

终端内打开网络设置界面,可以在"IPv4 Setting"里边设置好IP地址。

但是设置完成后用IP命令查看地址,仍然是没有更改之前的地址,这是因为这种更改方式是改变了系统网络的配置文件,需要重新加载这些配置文件。

​ 通过执行以下两条命令:

nmcli connection reload
nmcli connection up enp1s0

 就可以使刚才更改的配置文件立即生效。再次使用<ifconfig>命令查看IP后,可以看到,IP已经变为刚才在图形界面更改的IP了。

2、nmtui

nmtui(Network Manager Txt UI),是一种基于文本的网络管理方式。

 在终端内执行<nmtui>命令后,会看到如下界面,按照步骤进行设置

 设置完成后点击保存后退出。更新网络配置文件。使用<ifconfig>命令查看设置的这个网卡的IP,可以看到IP已经修改成功。在真机中ping这台虚拟机也可以ping成功。

六、命令行方式设定网络参数

nmcli,是一种不需要图形的网络管理命令

 这个命令常用的两个参数:device和connection

<device>参数:

nmcli device connect ens160                     #启用ens160网卡                                                 nmcli device disconnect ens160                #关闭ens160网卡                                              nmcli device show  ens160                        #查看ens160网卡信息                                      nmcli device status ens160                        #查看ens160网卡服务接口信息

<connection>参数:

nmcli connection   show                            #查看连接
nmcli connection  down   enp1s0              #关闭连接                                                         nmcli connection  up   enp1s0                   #开启连接                                                       nmcli connection  delete   enp1s0             #删除连接

这里先使用<nmcli connection   show >查看当前所有连接,然后使用<nmcli connection  delete   enp1s0>删除连接,可以看到删除后对应网卡已经没有IP地址了。

 1、接下来使用<nmcli>命令重新为网卡设置IP

nmcli connection add type ethernet ifname enp1s0 con-name westosa ipv4.method manual ipv4.addresses 172.25.254.100/24

设置完成后通过<ifconfig>命令可以看到,<enp1s0>网卡的IP地址已经修改完成。在主机里边ping测试也通过了

2、如果要更改连接的话可以按照如下步骤:

nmcli connection modify westosa ipv4.addresses 172.25.254.120/24

由于使用<modify参数>改了连接名<westosa>的IP地址,但是只在配置文件中修改,要需要再重新载入网络配置文件。更新后可以看到网络配置已经更新。

 七、管理网络配置文件设置网络参数

网络配置文件目录:/etc/sysconfig/network-scripts/

更改网络配置最直接的方法就是设置网络配置文件,网络配置文件在如上目录下(目录中只能存在一个配置文件),也就是说,无论用图形方式还是命令行方式设定网络参数的时候,都是在改写这个文件。

接下来就具体介绍手动管理网络配置文件的步骤:

(1)在目录</etc/sysconfig/network-scripts/>下新建一个文件,文件名必须<ifcfg->作为前缀,后边名字作为本连接的名字可以任意(这里设置成“westosa”)。

配置文件<ifcfg-westosa>文件内容如下:前五行必选

DEVICE=enp1s0                                             #网卡名称
ONBOOT=yes                                                 #开机是否启动
BOOTPROTO=none                                       #网络模式(dhcp为自动获取、none为manaul)
IPADDR=172.25.254.125                                #设置IP地址
PREFIX=24(NETMASK=255.255.255.0)        #设置子网掩码
NAME=westosa                                              #可选项,设置网络连接名称

<ifcfg-westosa>文件内容如下:

(2)更改完成后,重新加载网络配置。在左侧窗口可以看到,设置之前的网卡IP不存在,设置完成后网卡IP改为“172.25.254.125/24” 。在主机中通过ping测试也可以通过。

 (3)也可以设置成动态IP

配置文件<ifcfg-westosa>文件内容如下:前三行必选

DEVICE=enp1s0                                             #网卡名称
ONBOOT=yes                                                 #开机是否启动
BOOTPROTO=dhcp                                       #网络模式(dhcp为自动获取、none为manaul)
NAME=westosa                                              #可选项,设置网络连接名称

(4)设置完成后重新加载网络配置

(5)也可以在一个网卡上设置多个IP

配置文件<ifcfg-westosa>文件内容如下:

DEVICE=enp1s0                                             #网卡名称
ONBOOT=yes                                                 #开机是否启动
BOOTPROTO=none                                       #网络模式(dhcp为自动获取、none为manaul)
IPADDR0=172.25.254.125                                #设置IP地址
PREFIX0=24(NETMASK=255.255.255.0)        #设置子网掩码IPADDR1=172.25.254.125                                #设置IP地址
PREFIX1=24(NETMASK=255.255.255.0)        #设置子网掩码
NAME=westosa                                              #可选项,设置网络连接名称

 网路配置文件以上方法更改完成后,重新加载配置文件。使用<IP>命令可以看到这个网卡的IP地址已经改为“125”和“126”了。在主机中使用ping命令可以测试通过。

 八、网关的设定

1、实验环境的设置

这里需要搭建两个虚拟机<westosa>和<westosb>,对虚拟机<westosa>手动添加两个网卡,并对两个网卡分别做不同网关的设置,其中一个网关与主机相同,另一个网关与虚拟机<westosb>相同。

注意:对设置成路由功能的主机<westosa>来说,需要先开启本机的陆游功能:

systemctl start firewalld                #启动火墙服务
firewall-cmd --add-masquerade        #开启火墙的地址伪装功能,双网卡主机变路由器

 这里使用<nmtui>命令分别对虚拟机<westosa>的两个网卡做不同设定,一个在“172.25.254.0”网段,一个在“1.1.1.0”网段,设定完成后可以看到两个网卡都在工作。

同样的,对虚拟机<westosb>的IP也设置成“1.1.1.0"网段。

由于虚拟机<westosb>网段和真机网段不一致,所以两者之间不能连接。而现在可以在虚拟机<westosb>中设置网关,且网关IP地址为<westosa> 中同一网段的IP。这样<westosb>就可以连接真机了,原理就是:(1)"westosa"的<1.1.1.200>通过网关连接"westosa"的<1.1.1.100>;(2)再“westosa”的<1.1.1.100>将接收到的数据IP地址伪装成<172.25.254.125>;(3)“westoa”可以直接与真机<172.25.254.50>进行通信。

2、 临时设置网关

 ip route add default via 1.1.1.100                #设置网关为“1.1.1.100”

 ip route del default via 1.1.1.100                 #删除网关“1.1.1.100”

使用<ip route>命令设置的网关为临时网关,在重新加载网络配置文件后就会恢复原样,所以为了永久设定,需要更改网络配置文件。

3、永久设置网关

(1)设置全局网关:

vim   /etc/sysconfig/network                  

 在这个文件中添加要设置的网关,这种方法设置的网关为全局网关。(即对本机的所有IP都设置的此网关)

 (2)设置单IP/网卡网关:(即选定IP通过指定的网关)

配置文件<ifcfg-westosa>文件内容如下:

DEVICE=enp1s0                                             #网卡名称
ONBOOT=yes                                                 #开机是否启动
BOOTPROTO=none                                       #网络模式(dhcp为自动获取、none为manaul)
IPADDR0=172.25.254.125                                #设置IP地址
PREFIX0=24(NETMASK=255.255.255.0)        #设置子网掩码IPADDR1=172.25.254.125                                #设置IP地址
PREFIX1=24(NETMASK=255.255.255.0)        #设置子网掩码
NAME=westosa                                              #可选项,设置网络连接名称                             GATEWAY0=1.1.1.100                                     #设置单个IP地址的网关GATEWAY1=1.1.1.100                                     #设置单个IP地址的网关

 设置完成后,重新加载网络配置文件。网关已经更新。

九、DNS的设定

1、为什么要设定DNS?

答:设定DNS是为了对地址进行解析。(即把域名解析成)
系统操作者对字符敏感,系统网络通信需要通过ip地址这个数字。当用户输入网址www.baidu.com,这个网址不是一个可以通信的IP地址,于是必须要在系统中把www.baidu.com变成百度服务器的IP地址,这样的过程叫做地址解析

2、实验环境:

在虚拟机<westosa>中网关设置为真机IP后,虚拟机就可以访问真机可访问的网站。

 但是这又存在一个问题,在浏览器中输入目标网站的IP地址可以访问,但是以域名访问却失败了。所以要解决这个问题,我们就需要设定DNS。

 3、编写本地解析文件

vim /etc/hosts                                #编写本地解析文件

向文件中写入域名和对应的IP地址,在虚拟机中访问域名时就会自动解析到对应的IP进行操作。

但这样设置的话,每访问一个新的网站就需要重新添加一次地址解析,显然是不可能的。所以我们就需要再设置一下,让主机每次访问域名时,直接向运营商提供的DNS地址去查询域名对应的IP,然后再进行访问。(拟人话的讲:当你不知道访问的域名指向的是哪个IP的时候,就自动询问运营商主机,获取到该域名的IP。问的这台主机就叫做DNS服务器)

4、编写网络解析文件

vim /etc/resolv.conf                             #编写网络解析文件

如下图所示,网络解析文件中的DNS服务器为<114.114.114.114>,意思是,当给计算机一个域名时,计算机可以通过查询<114.114.114.114>服务器来得到该域名对应的IP地址,进而进行访问。

5、调整解析的优先级顺序

 默认状态下,本地解析文件的优先级高于网络解析文件的优先级。

vim /etc/nsswitch.conf                        #配置解析文件优先级

编辑这个文件的第86行,有一个<hosts:      files dns myhostname>选项,意思是先“files”后"dns",可以改变这两个名称的先后顺序,谁在前谁就有更高的优先级。改为87行的状态后,地址解析是会优先考虑“dns”,也就是改变了本地解析文件和网络解析文件的优先级。

 十、搭建网络软件仓库(私人共享文件源,非网络软件源)

为了保证实验环境不受干扰,这里先把之前搭建的<epel>软件仓库删除。

 所以要怎么安装一个共享的、私人的网络软件仓库呢?

第一步:先要安装网络共享服务<httpd>:

dnf install httpd

 第二步:设置<httpd>服务开机自启动:

systemctl enable --now httpd

第三步:关闭火墙:

systemctl disable --now firewalld.service

完成这三步以后,在其他主机里边就可以访问这个dhcp服务器主机了,这台主机的IP地址为<172.25.254.250>,在真机浏览器下输入IP地址,可以看到下图所示:

打开的网站显示的是测试页面,为了让这个页面发布我们想要共享的文件,还需要进行如下配置。

第四步:网页默认显示的是<cd /var/www/html/>目录下的内容,所以可以把想要显示的内容放在这个目录下

第五步:重新将ISO文件挂载在这个目录下

umount   /sourcefile

mount /iso/rhel-8.2-x86_64-dvd.iso ./resource/

 第六步:挂载完成后,真机下访问<172.25.254.250/resource/>,就可以在真机下打开要共享的文件了

第七步:把这个软件源服务器作为其他客户主机的软件源

需要在客户主机中修改<vim /etc/yum.repos.d/Appstore.repo>文件,文件内容如下所示:

[BaseOS]
name=westosd BaseOS
baseurl=http://172.25.254.250/resource/BaseOS
gpgcheck=0

[AppStream]
name= westos AppStream
baseurl=http://172.25.254.250/resource/AppStream
gpgcheck=0

 这样设置完成后,我们的私人网络软件仓库就搭建好了。可以在客户机中使用服务器的文件安装应用了。

十一、dhcp服务配置

为虚拟机设置成dhcp模式,那么在获取IP地址时就需要和别人信息交换来自动获取IP,当局域网内没有主机开启dhcp服务的时候,就无法与别人信息交换获取IP。就会提示“获取IP失败”。

为了解决这种问题,就需要搭建一个dhcp服务器。

接下来就在另一台主机中搭建dhcp服务器:

第一步:首先在dhcp服务器上安装<dhcp-server>服务:

dnf search dhcp                        #查找dhcp服务的安装包

dnf install dhcp-server.x86_64 -y                #安装dhcp服务

第二步:默认安装的dhcp服务中,需要修改其配置文件令其生效。所以先查找其配置文件:

rpm -qc dhcp-server                                #查找dhcp服务的配置文件

 第三步:编辑dhcp服务的配置文件

cp    /usr/share/doc/dhcp-server/dhcpd.conf.example    /etc/dhcp/dhcpd.conf                        #复制配置文件模板

由于<dhcp>初始的配置文件是一个空文件,但里边指示了可以从指定位置复制模板,所以这一步操作是从指定位置把<dhcp>的配置文件模板复制过来,覆盖原始配置文件即可。

 第四步:编辑<dhcp>的配置文件

vim   /etc/dhcp/dhcpd.conf                        #编写dhcp服务的配置文件

 27、28行注释掉,36行以后全部删除。

 第五步:将配置文件中的生于内容按如下格式修改

第7行:域名

第8行:dns设定,一般改为<114.114.114.114>

第32行:子网和子网掩码,子网和自己的真机子网段相同,子网掩码改为<255.255.255.0>

第33行:IP地址池,可以划定随机分配的IP地址的范围

第34行:网关设定,修改为<172.25.254.50>便于与真机通信

 第六步:修改完成后重启<dhcp>服务

systemctl restart dhcpd                        #重启dhcp服务

systemctl stop firewalld                        #关闭火墙

在dhcp服务器中重启服务,并关闭火墙。查看dhcp状态显示服务已经装好了。

 第七步:测试dhcp服务器功能

在需要测试的主机中重新载入网卡配置文件,可以看到已经卡以自动从<172.25.254.0>网段内自动寻找dhcp服务器并获取IP、DNS、GATEWAY等

十二、网桥的设定

1、实验环境

(1)在真机中设定;(2)关闭所有虚拟机;(3)重置网络<westos-network common>

 重置真机网络后,删除了原有的网桥,本节就具体介绍一下网桥原理及设置方法。

2、桥接对虚拟化的影响

删除桥接接口后,重启系统的虚拟化服务,在虚拟机的硬件管理界面就找不到“br0”接口了,所以我们先选择“NAT”模式。

当虚拟机使用“NAT”模式启动后,在真机里就会出现一个“vnet0”(关闭虚拟机后vnet0消失),所以vnet0就是主机为虚拟机分配的虚拟网卡,用来连接真机里的“virbr0”网卡。虚拟机中的数据通过“vnet0”发送到“virbr0”网卡上,然后真机在将“virbr0”网卡上的数据发送到真是网卡上与外界进行通信。

 3、网桥原理

没有网桥时,虚拟机中的每一个数据包都需要通过“virbr0”改变IP地址才能通过真实网卡(virbr0充当的是路由器),大大降低了传输效率;除此之外,如果这个“路由器”出现问题,那么所有的虚拟机都无法与外界进行通信了。

开启网桥后,也就是在真实网卡中再开启一个共享端口,使得所有虚拟机的数据都可以通过这个接口直接访问真实网卡。网桥“br0”属于真实网卡上的一个共享端口,而不是路由器,不用担心坏掉。

4、配置网桥

第一步:关闭所有虚拟机

第二步:编辑真机的真实网卡配置文件<ifcfg-enp12s0>

vim /etc/sysconfig/network-scripts/ifcfg-enp12s0    #编辑真实网卡enp12s0的配置文件

 “DEVICE”表示真实网卡、“BRIDGE=br0”表示在这个网卡上新开一个接口br0,接口模式为BRIDGE网桥。

 第三步:编辑网桥的配置文件<ifcfg-br0>

"DEVICE"就选择上一步中从真实网卡中开启的新接口br0,然后设置网桥的IP和子网掩码。

注意:“TYPE=Bridge”是告诉系统这不是一个真实网卡,而是一个网桥。

 第四步:重新加载真机网络

 第五步:重启虚拟化服务

 这些步骤配置好以后,虚拟机就可以通过br0设备连上真机以及物理网卡了。

十三、本章总结

1、使用<ifconfig>命令设置的临时IP,在主机里边ping不成功,而使用<ip addr>命令设置的临时IP却可以ping通,也不知道啥原因。

2、桥接接口的存在主要是对虚拟机(化)的影响,用来给虚拟机的网卡和真是网卡搭个桥。

3、如果没有桥接接口,虚拟机可以选择“NAT”模式,通过主机中的虚拟网卡“virbr0”接口与外部通信

4、真机配置好真实网卡enp12s0和br0的配置后,有线网络将无法使用,只能通过连接无线网来解决。这是因为这里只是为了测试网桥而对真实网卡的配置没有设置全面,只需要再加上正常配置就可以。如下图所示:

这里不需要专门设置“BRIDGE=br0”的接口,在“ifcfg-br0”中也可以正常使用。

Guess you like

Origin blog.csdn.net/Zhaohui_Zhang/article/details/120921368