- 实验目的
- 了解和熟悉Linux系统的网络基础知识,如IP地址、子网掩码、默认网关、DNS等网络参数的概念和作用。
- 掌握在RedHat Linux系统中进行网络配置的基本方法和步骤,包括通过图形界面、终端命令和配置文件等方式进行网络配置。
- 学会如何选择合适的网络连接方式(如以太网连接或无线连接)并进行配置,以满足不同的网络环境和需求。
- 理解NAT(网络地址转换)的工作原理,并学会在RedHat Linux系统中配置NAT以实现虚拟机与主机共享IP地址。
- 通过实验,加深对Linux系统网络配置的理解和掌握,提高解决实际问题的能力。
- 旨在培养学生的网络安全意识和优化网络性能的能力。
二、实验内容:
需求:
RedHat网络方案配置
完成
- 网卡配置
- 网络接口配置
- 配置网络接口的绑定
- 配置网络接口的组合
- 配置网络接口的绑定和组合的区别
三、实验结果
网卡配置
配置虚拟网络编辑器
1.以管理员身份打开虚拟机,打开RedHat,点击编辑->虚拟机编辑器(N)->VMnet8,按照红色框修改,其他不变,更改设置:子网IP(I):10.0.0.0,子网掩码(M):255.255.255.0。
2.点击NAT设置(S),更改设置:网关IP(G):10.0.0.2,点击应用并确定,完成虚拟网络编辑器的配置。
3.查看物理机,同时按win+r,输入cmd,打开终端,输入ipconfig,查看vmnet8的配置,看ipv4是不是在子网ip的网段里
- 在图形界面使用网络配置工具进行配置
- 打开RedHat,打开终端,输入nmtui进入图形界面。
- 点击编辑网络连接Edit a connection->选择网卡ens160-> IPv4地址配置方法IPv4 CONFIGURATION->手动配置Manual->IPv4 IP地址及子网掩码Addresses:10.0.0.99/24->网关Gateway:10.0.0.2->DNS解析Dns servers:114.114.114.114 8.8.8.8-><OK>-><Back>-><OK>,完成网络配置。
- 使用命令行工具进行配置
- 输入nmcli connection add con-name (链接名) type ethernet/Ethernet ifname (网卡) 创建一个连接
nmcli connection add con-name default type ethernet ifname ens160
nmcli connection add con-name NET01 type ethernet ifname ens160
nmcli connection add con-name NET02 type ethernet ifname ens160
- 输入nmcli connection modify (链接名)ipv4.addresses “IP地址/子网掩码”为连接指定IPv4地址和子网掩码
nmcli connection modify default ipv4.addresses 10.0.0.210/24
nmcli connection modify NET01 ipv4.addresses 10.0.0.211/24
nmcli connection modify NET02 ipv4.addresses 10.0.0.212/24
- 输入nmcli connection modify (链接名)ipv4.gateway “网关”为连接指定默认网关
nmcli connection modify default ipv4.gateway 10.0.0.2
nmcli connection modify NET01 ipv4.gateway 10.0.0.2
nmcli connection modify NET02 ipv4.gateway 10.0.0.2
- 输入nmcli connection modify (链接名)ipv4.dns “DNS” 为连接指定DNS解析
nmcli connection modify default ipv4.dns “114.114.114.114 8.8.8.8”
nmcli connection modify NET01 ipv4.dns “114.114.114.114 8.8.8.8”
nmcli connection modify NET01 ipv4.dns “114.114.114.114 8.8.8.8”
- 输入nmcli connection add con-name (链接名) type ethernet/Ethernet ifname (网卡) ip4 IP地址/子网掩码 gw4 网关 ipv4.dns “DNS”,ip4指定IPv4地址和子网掩码,gw4指定默认网关,ipv4.dns指定DNS解析。
nmcli connection add con-name default type ethernet ifname ens160 ip4 10.0.0.210/24 gw4 10.0.0.2 ipv4.dns “114.114.114.114 8.8.8.8”
nmcli connection add con-name NET01 type ethernet ifname ens160 ip4 10.0.0.211/24 gw4 10.0.0.2 ipv4.dns “114.114.114.114 8.8.8.8”
nmcli connection add con-name NET02 type ethernet ifname ens160 ip4 10.0.0.212/24 gw4 10.0.0.2 ipv4.dns “114.114.114.114 8.8.8.8”
- 输入nmcli connection up (连接名),启动(激活)连接名
nmcli connection up default
nmcli connection up NET01
nmcli connection up NET02
- 输入nmcli c,查看显示所有网络接口。
- 输入nmcli connection modify 连接名 ipv4.addr IP地址/子网掩码,修改链接IP地址和子网掩码。
输入nmcli connection modify 连接名 +ipv4.addr IP地址/子网掩码,为链接增加IP地址和子网掩码。
输入nmcli connection modify 连接名ipv4.gateway “网关”,修改连接默认网关。
输入nmcli con mod 连接名 ipv4.dns “DNS”,修改连接DNS解析。
- 输入nmcli connection delete 连接名,删除链接。
输入nmcli connection down 连接名,禁用链接。
- 输入nmcli connection reload,重新加载配置。
输入systemctl restart NetworkManager,重新装载NetworkManager配置。
- 直接编辑网络相关配置文件
输入vim /etc/sysconfig/network-scripts/ifcfg-ens160,粘贴如下,输入nmcli connection reload,重新加载配置。
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=4ae45c62-7985-3c4a-bb22-73289fd04d03
ONBOOT=yes
IPADDR=10.0.0.99
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=114.114.114.114
DNS2=8.8.8.8
- 虚拟机设置中配置
点击连接标志->Settings->Network->设置标志->选择填写如下->Apply,完成配置。
- 网络配置成功检测
- 查看IP地址
1.输入ip a
2.输入ip addr show
3.输入ifconfig
4.输入hostname -I
5.输入nmcli dev show
6.输入nmcli con show
- Ping通网关和外网
输入ping 10.0.0.2和ping www.baidu.com
网络接口配置
该部分内容与其上网卡配置中的‘二.使用命令行工具进行配置’部分完全一致。如果您想查看该部分内容,请返回之前的部分。
增加网络适配器(网卡)
右击我的计算机下的RedHat->设置->添加->网络适配器->完成->确定,完成增加网络适配器。
配置网络接口的绑定
1.输入ip link,查看系统中可用网络接口。
2.输入nmcli con add type bond con-name bond test ifname bond test mode active-backup添加一个类型为bond的连接,此处的连接名为bond test,关联的设备(网卡)是bond test,绑定模式是active-backup。由于bond test设备不存在,系统将同时创建一个名为bond test 的虚拟设备。与其他类型的连接一样,默认会设置连接开机自动启用(激活)。
3. 输入nmcli con add type bond-slave con-name bond_test-slave1 ifname ens160 master bond_test
和nmcli con add type bond-slave con-name bond_test-slave2 ifname ens161 master bond_test和nmcli con add type bond-slave con-name bond_test-slave3 ifname ens224 master bond_test和nmcli con add type bond-slave con-name bond_test-slave4 ifname ens256 master bond_test为上述连接bond test添加四个类型为bond-slave 的从连接 bond test-slave1 和
bond test-slave2,bond test-slave3,bond test-slave4,分别关联网卡ens160 和ens161,ens224,ens256。
4.输入nmcli conn modify bond_test ipv4.addresses "10.0.0.219/24"和 nmcli conn modify bond_test ipv4.method manual和nmcli conn modify bond_test ipv4.gateway "10.0.0.2"和nmcli conn modify bond_test ipv4.dns "114.114.114.114 8.8.8.8",为连接bond_test配置IP、网关、DNS和开机启动方式等。
5.输入nmcli connection up bond_test-slave1和nmcli connection up bond_test-slave2和nmcli connection up bond_test-slave3和nmcli connection up bond_test-slave4和nmcli connection up bond_test启用(激活)四个从连接和一个主连接。
6.输入cat /proc/net/bonding/bond_test,查看当前的绑定状态和信息。
7.输入ip add show bond_test,查看连接IP信息。输入nmcli c,查看所有网络连接。输入nmcli d,查看所有网络接口(设备)。
8.输入ping命令测试其连通性,成功即一切正常。
配置网络接口的组合
1.输入nmcli con add type team con-name team_test1 ifname team_teat1 config '{"runner":{"nane":"activebackup"}}'和nmcli con add type team con-name team_test2 ifname team_teat2 config '{"runner":{"nane":"activebackup"}}',创建一个类型为team的连接,此处的连接名为team test,关联的设备(网卡)是team test,组合方法是activebackup由于teamtest设备不存在,系统将同时创建一个名为team test的虚拟设备。连接一样,默认会设置连接开机自动启用(激活)。与bond类型的连接不同,组合类型由JSON格式定义,具体的JSON语法格式如下:"unne":"name":"METHOD")"ruer指定所使用的处理器,METHIOD就是组合方法,可以是broadcast、activebackuproundrobin、loadbalance 或者 lacp。
2.输入nmcli con add type team-slave con-name team_test-port1 ifname ens160 master team_test1和nmcli con add type team-slave con-name team_test-port2 ifname ens161 master team_test1和nmcli con add type team-slave con-name team_test-port3 ifname ens224 master team_test2和nmcli con add type team-slave con-name team_test-port4 ifname ens256 master team_test2,为上述连接team_test添加四个类型为team-slave的从连接team test-portl 和team tes-port2, team tes-port3, team tes-port2分别关联网卡ens160和ens161,ens224,ens256.
3.输入nmcli conn modify team_test1 ipv4.addresses "10.0.0.210/24"和 nmcli conn modify team_test2 ipv4.addresses "10.0.0.211/24"和nmcli conn modify team_test2 ipv4.gateway "10.0.0.2"和nmcli conn modify team_test1 ipv4.gateway "10.0.0.2"和nmcli conn modify team_test1 ipv4.method manual和 nmcli conn modify team_test2 ipv4.method manual好nmcli conn modify team_test2 ipv4.dns "114.114.114.114 8.8.8.8"和nmcli conn modify team_test1 ipv4.dns "114.114.114.114 8.8.8.8",为主连接team_test设置 IP、网关、DNS和开机启动方式等
4.输入nmcli connection up team_test-port1和nmcli connection up team_test-port2和nmcli connection up team_test-port3和nmcli connection up team_test-port4,启用(激活)四个从连接和一个主连接。
5. 输入ip add show bond_test,查看连接IP信息。输入nmcli c,查看所有网络连接。输入nmcli d,查看所有网络接口(设备)。
6.输入teamdctl team_test1 state和teamdctl team_test2 state, )测试网卡组合。可以使用teamdctl命令检查网卡组合的配置功能.
7.输入teamnl team_test1 ports和teamnl team_test2 ports, 查看组合各端口(从接口)的信息。
配置网络接口的绑定和组合的区别
一.配置网络接口的绑定(Bonding)和配置网络接口的组合(Teaming)在定义上存在一定的区别。
网络接口绑定(也称为端口聚合、通道绑定、链路聚合、网卡组合等)主要是将多个网络连接合并为一个逻辑接口。绑定的网络接口可以通过负载均衡来增加数据吞吐量,也可以通过允许从一个组件设备到另一个组件设备的故障转移来提供冗余。默认情况下,绑定的接口在内核中显示为普通的网络设备,但它通过使用简单的轮询调度程序在可用的备份设备上发送网络数据包。
网络接口组合指的是将多个网络接口或网卡以某种方式组合起来使用,以实现某种特定的功能或效果。
二.配置网络接口的绑定(Bonding)和配置网络接口的组合(Teaming)在目的、实现方式和效果上存在一定的区别。
- 目的:
- 网络接口绑定(Bonding):主要是为了提高网络接口的可靠性、增加带宽以及提供负载均衡的能力。通过将多个网络接口绑定为一个逻辑接口,可以实现在一个接口出现故障时,其他接口能够自动接管工作,保证网络的持续连通性。同时,通过负载均衡,可以将网络流量分散到多个接口上,提高网络的整体性能。
- 网络接口组合(Teaming):也是为了提高网络接口的可靠性和性能,但与Bonding不同的是,Teaming更侧重于将多个物理接口组合成一个逻辑接口,以便在应用程序或操作系统层面进行管理和配置。Teaming可以实现更复杂的网络配置和策略,如故障切换、链路聚合、负载均衡等。
- 实现方式:
- 网络接口绑定(Bonding):在Linux系统中,Bonding是通过Linux内核的Bonding驱动来实现的。管理员可以通过配置Bonding驱动的参数来选择不同的绑定模式,如平衡轮询(Balance-rr)、主备模式(Active-backup)等。这些模式决定了网络接口如何工作以及如何进行故障切换和负载均衡。
- 网络接口组合(Teaming):Teaming的实现方式因操作系统和厂商的不同而有所差异。在Windows系统中,Teaming可以通过使用“网络团队”功能来实现。在Linux系统中,可以使用开源的Teaming工具或第三方解决方案。Teaming通常需要在操作系统层面进行配置和管理,并且可能需要安装额外的软件或驱动程序。
- 效果:
- 网络接口绑定(Bonding):通过Bonding,可以实现网络接口的冗余和负载均衡。当一个接口出现故障时,其他接口可以自动接管工作,保证网络的持续连通性。同时,通过负载均衡,可以将网络流量分散到多个接口上,提高网络的整体性能。但是,Bonding通常需要在网络层面进行配置和管理,并且可能需要对交换机进行特定的配置。
- 网络接口组合(Teaming):通过Teaming,可以将多个物理接口组合成一个逻辑接口,并在应用程序或操作系统层面进行管理和配置。Teaming可以实现更复杂的网络配置和策略,如故障切换、链路聚合、负载均衡等。同时,Teaming还可以提供更灵活的网络管理和监控功能。但是,Teaming的实现方式可能因操作系统和厂商的不同而有所差异,并且可能需要安装额外的软件或驱动程序。
-
总之,配置网络接口的绑定和组合都是为了提高网络接口的可靠性和性能。但是它们在目的、实现方式和效果上存在一定的区别。在实际应用中,需要根据具体的网络环境和需求来选择合适的方案。
三.网络接口的绑定(Bonding)和网络接口的组合(Teaming)在使用地点上有所不同,主要体现在它们在网络架构中的位置和应用场景上。
网络接口绑定(Bonding):
- 使用地点:通常在网络设备级别或服务器级别进行配置。Bonding 主要应用于服务器与交换机之间的连接,尤其是当服务器需要高可靠性、高带宽或负载均衡时。
- 应用场景:
- 高可靠性:通过将多个物理接口绑定为一个逻辑接口,当其中一个物理接口出现故障时,其他接口可以继续工作,保证网络的连续性和可靠性。
- 增加带宽:绑定后的逻辑接口可以具有更高的带宽,满足对带宽有较高要求的应用。
- 负载均衡:根据配置的模式,可以将流量分散到多个物理接口上,实现负载均衡,提高网络的整体性能。
-
网络接口组合(Teaming):
- 使用地点:主要在操作系统级别进行配置。Teaming 是在操作系统内部对网络接口进行组合,为应用程序或操作系统提供一个统一的网络接口。
- 应用场景:
- 简化管理:通过将多个物理接口组合为一个逻辑接口,可以简化网络配置和管理,降低管理复杂性。
- 支持复杂策略:Teaming 可以支持更复杂的网络配置和策略,如故障切换、链路聚合、负载均衡等,为应用程序提供更灵活的网络服务。
- 兼容性和灵活性:Teaming 可以在不同的操作系统和网络环境中实现,具有较高的兼容性和灵活性。
-
总结来说,Bonding 主要在网络设备级别或服务器级别进行配置,用于提高网络连接的可靠性、带宽和负载均衡能力;而 Teaming 主要在操作系统级别进行配置,用于简化网络管理、支持复杂策略以及提供灵活的网络服务。根据具体的应用场景和需求,可以选择使用 Bonding 或 Teaming 来满足网络配置和管理的要求。
四.网络接口的绑定(Bonding)和网络接口的组合(Teaming)各自具有一些优点和缺点,这些优缺点主要取决于具体的使用场景和需求。
网络接口绑定(Bonding)的优点:
- 提高可靠性:通过将多个网络接口绑定在一起,可以实现网络接口的冗余,当一个接口出现故障时,其他接口可以自动接管工作,保证网络的持续连通性。
- 增加带宽:绑定后的逻辑接口可以拥有更高的带宽,从而满足对带宽要求较高的应用需求。
- 负载均衡:可以根据绑定模式的不同,实现网络流量的负载均衡,将流量分散到多个接口上,提高网络的整体性能。
-
网络接口绑定(Bonding)的缺点:
- 配置复杂:绑定配置相对复杂,需要对交换机进行特定的配置,以支持绑定后的逻辑接口。
- 依赖特定硬件:某些绑定模式可能依赖于特定的硬件支持,如交换机或网卡。
- 可能增加成本:为了实现绑定,可能需要购买额外的网络接口卡(NIC)或交换机等设备,从而增加成本。
-
网络接口组合(Teaming)的优点:
- 灵活性高:Teaming可以在操作系统层面实现网络接口的组合,提供更灵活的配置和管理方式。
- 易于实现:Teaming通常不需要对交换机进行特定的配置,易于实现和管理。
- 支持复杂策略:Teaming可以实现更复杂的网络配置和策略,如故障切换、链路聚合、负载均衡等。
-
网络接口组合(Teaming)的缺点:
- 性能损耗:在Teaming过程中,可能会引入一定的性能损耗,因为数据包需要在多个接口之间进行转发和处理。
- 依赖特定软件或工具:实现Teaming可能需要安装额外的软件或工具,并可能需要进行特定的配置和管理。
- 可能增加成本:为了实现Teaming,可能需要购买支持Teaming功能的网络接口卡(NIC)或交换机等设备,从而增加成本。
-
需要注意的是,以上优缺点仅供参考,具体取决于实际的使用场景和需求。在选择使用Bonding还是Teaming时,需要根据实际情况进行权衡和选择。