目录
一、什么是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”中也可以正常使用。