网络管理
网络基础概念
ip地址:类似于个人地址;在it的世界中,计算机和计算机之间通过ip地址进行访问。P地址通常由两部分组成:网络地址和广播地址。网络地址用来标识计算机所属的网络,广播地址用来标识计算机在网段中的位置。IP地址可以分为公有地址和私有地址,公有地址是由因特网直接负责的地址,私有地址是属于非注册的地址,有专门的机构使用。IP地址的分类根据IP地址的前缀来判断,A、B、C类地址是常见的IP地址类型,此外还有D类地址(组播地址)和E类地址(保留地址)。
子网掩码: 划分ip网络的桥段,是否处于同一个内部的网络;划分网络部分,主机部分。网络部分,划分ip地址的网段;主机部分划分可以分配的ip。
网关:类似于大门。不同网段之间需要通过网关进行通讯。网关的地址一般划分在路由器的出口上。
DNS:域名解析系统(名称服务器)。解析IP地址及域名的映射关系(域名:完整的主机名)。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。常见的DNS(Google,阿里等):8.8.8.8 114.114.114.114 223.5.5.5 223.6.6.6 等等。
LINUXD的网卡命名规则
传统命名方式:网卡的命名是根据系统加载的顺序命名。类似,eth0,eth1,eth2等。
在rhel7版本后,命名规则改为基于网卡特征命名。
接口类型
en 以太网
wl 无限局域网设备
ww 无限广域网设备
设备类型
s 热插拔
o 板载设备
p pcie插槽
数字
数字是随机id,根据网卡的UUID随机生成数字
一般来说,在一个服务器集群中,服务器网卡名字都不相同,使用自动化运维配置网络的时候异常的不方便。所以,当服务器不重启,也不修改网络id,就推荐使用传统命名规则,会使得自动化运维更加的方便。
如何修改网卡的命名规则
临时修改
临时修改需要在主机开机的时候选择内核,按e进入编辑模式,在linux这一行后面加上net.ifname=0 biosdevname=0
。然后进入主机,就能发现网卡的命名已经修改。但是,临时修改在下一次重启的时候就会恢复。
永久修改
在LINUX中所有永久的修改,一般来说,都是需要修改文件的。
需要修改的配置文件是/etc default/grub
找到LINUX这一行,在后面添加 net.ifname=0 biosdevname=0
(请注意,这里是有引号包裹的,记得卸载引号里面,不然重启配置文件,会报错)
重启配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
此时查看会发现,网卡的命名规则并没有改变,因为我们还需要重启主机。
reboot
查看网络信息
- 查看ip地址
ifconfg
ip addr show |ip addr |ip a - 查看网关地址
route -n
ip route - 查看DNS
cat /etc/resolv.conf(临时生效,该文件由网络管理服务生成)
7版本前,由network-scripts管理
7版本后,由NetworkManager管理
网络管理工具
ifconfig:
安装包:net-tools 软件包(图形化默认装机自带,命令模式没有需要安装)
管理设备:
开/关 ifconfig 网卡名 up/down
显示所有接口(包括未启动的借口) ifconfig -a
查看指定设备的网卡信息 ifconfig 网卡名
管理链接:ifconfig 网卡 IP地址/掩码(临时修改)
ip:
管理设备:
显示系统上所有接口的详细信息 ip link show
启动/关闭指定的网络接口 ip link set 王卡名字 up/down
管理连接:
给指定的网络接口分配一个ip地址 ip addr add ip地址/子网掩码 dev 网卡名字(指定要配置的网络接口的名称)
从指定的网络接口中删除一个ip地址 ip addr del ip地址/子网掩码 dev 网卡名
管理路由:
查看路由 ip route show
添加路由 ip route default(添加默认路由) via 网关(通过哪一个网关) dev 网卡(哪个网络借口转发)
删除路由 ip route del default via 网关 dev 网卡
编写主机路由条目 route add-net ip(要到大的主机,加上子网) gw 网关(通过哪个网关转发) dev 网卡(哪个网络接口转发)
编写网段路由条目 routr add-net 网段(到达的网段,加上子网) gw 网关(通过哪个网关转发) dev 网卡
ip和ifconfig的区别,如果一个网卡有多个ip,ip命令能够查看到网卡的所有ip地址,而ifconfig只能查看到一个ip地址。
在rhel中,有两种主流的网络管理工具,network-script 和 NetworkManager。
rhel7版本之前主要使用network-script,7版本的时候两者并存;在8版本的时候,network-script默认没有安装,但是保留有软件包;在9版本的时候,已经没有了network-script的软件包了,只留下了NetworkManager。
rhel9相较于之前,修改了文件的配置文件的位置,如果想要跟以前一样使用更改配置文件的方法配置网络的话,要注意,配置文件的存放地址为/etc/NetworkManager/system-connection
并且network-script
配置目录依旧存在。eg:如果是使用修改配置文件的方式更改网络信息,那么需要使用nmcli con reload
重新加载配置文件,nmcli con up
网卡名 启动网卡
NetworkManage 提供了两种管理工具配置网络
nmcli 命令行
管理设备:
nmcli device status 查看网卡设备状态
nmcli device show 列出网卡设备信息
nmcli device disconnect/connect 网卡名 激活/禁用网卡设备(启动/断开网卡和配置文件的连接)
管理连接:
添加配置文件:nmcli con add type 类型ifname 网卡设备名称 con-name 连接配置文件的名字 ipv4.method ipv4地址的获取方式(auto表示dhcp自动获取ip,manual表示手动配置静态ip) ipv4.addresses ip地址 ipv4.dns DNS地址 ipv4.gateway 网关地址 autoconnect 表示开机自动激活连接
修改配置文件:nmcli con modify 网卡配置文件名 ipv4.addresses ip地址
添加一个ip地址:nmcli con modify 网卡配置文件名 +ipv4.addresses ip地址
删除一个连接配置文件 nmcli connection delete 网卡配置文件名
在没有配置文件连接的情况下,使用connect激活一个网卡,NetworkManager会自动给网卡生成一个同名的配置文件,并且同时使用dhcp自动分配地址
nmtui 图形化
监听端口
netstat
netstat是一个用于显示网络连接、路由表和网络接口统计信息的命令行工具。
选项 | 解释 |
---|---|
-a | 显示所有活动的网络连接和监听的端口 |
-c | 持续显示网络连接状态,每隔一定时间刷新一次 |
-i | 显示网络接口的统计信息,包括每个接口的IP地址、MAC地址和流量统计等 |
-n | 以数字形式显示地址和端口号,而不是尝试解析主机名、服务名等 |
-r | 显示路由表信息,包括默认路由和特定网络的路由等 |
-t | 仅显示TCP协议的连接状态 |
-u | 仅显示UDP协议的连接状态 |
-v | 显示详细输出,包括每个连接的状态和进程ID等 |
ss
ss是一个用于查看系统套接字的实用程序,它可以提供有关当前打开的套接字的信息
选项 | 解释 |
---|---|
-a | 显示所有套接字,包括监听和已连接的套接字 |
-l | 仅显示监听套接字 |
-p | 显示套接字关联的进程ID和程序名称 |
-t | 仅显示TCP协议的套接字 |
-u | 仅显示UDP协议的套接字 |
-n | 以数字形式显示地址和端口号,而不是尝试解析主机名、服务名等 |
-r | 显示路由表信息 |
-s | 显示套接字的统计信息,包括接收和发送的数据量等 |
两者的区别
ss和netstat都是用于查看网络连接和相关统计信息的工具,但它们之间存在一些差异。以下是一些可能的区别:
性能:ss在执行速度和内存占用方面通常优于netstat,因为它使用了更高效的算法和数据结构。
功能:ss主要用于显示TCP/IP协议栈的统计信息,而netstat则更注重于显示网络连接、路由表和网络接口的统计信息。
兼容性:在某些情况下,netstat可能在老旧的操作系统中不可用,而ss是一个相对较新的工具,因此在一些新版本的Linux发行版中更为流行。
命令选项:ss和netstat的命令选项也有所不同,尽管它们都可以提供类似的网络连接和统计信息。
总之,ss和netstat都是强大的工具,可以帮助管理员和管理员诊断和监控网络问题。选择使用哪个工具取决于具体的需求和系统配置。
bind网络
网络bond是一种网卡绑定技术,用于将多张网卡虚拟成一个逻辑网卡,实现本地网卡的冗余、带宽扩容和负载均衡。
bond有多种模式,其中最常见的有:
balance-rr(平衡轮询策略):这种模式下,bond会按照顺序把数据包分配给每个网卡,实现负载均衡和容错。但是这种模式可能会导致数据包的乱序,影响网络性能。这种模式需要交换机支持聚合口的配置。
active-backup(主备策略):这种模式下,只有一张网卡处于活动状态,其他网卡作为备份,所有的流量都在活动的网卡上处理。如果活动的网卡出现故障,备份的网卡会接管其MAC地址,实现容错。这种模式不需要交换机的特殊配置。
balance-xor(平衡异或策略):这种模式下,bond会根据指定的传输HASH策略(默认是源MAC地址和目标MAC地址的异或)来分配数据包给不同的网卡,实现负载均衡和容错。这种模式需要交换机支持聚合口的配置。
broadcast(广播策略):这种模式下,bond会把每个数据包都发送到所有的网卡上,实现容错。但是这种模式会浪费带宽资源,不提供负载均衡。这种模式需要交换机支持聚合口的配置。
802.3ad(动态链接聚合策略):这种模式下,bond会支持802.3ad协议,和交换机的聚合LACP方式配合,实现负载均衡和容错。这种模式要求所有的网卡和交换机在聚合操作时,要在同样的速率和双工模式下工作。这种模式需要交换机支持802.3ad协议。
balance-tlb(适配器传输负载均衡策略):这种模式下,bond会根据每个网卡的当前负载(根据速度计算)来分配外出流量,接收流量时使用当前轮到的网卡。如果接收数据的网卡出故障了,另一个网卡会接管其MAC地址,实现容错。这种模式不需要交换机的特殊配置,但是要求网卡驱动支持ethtool命令。
balance-alb(适配器适应性负载均衡策略):这种模式下,bond包含了balance-tlb模式,并且增加了针对IPV4流量的接收负载均衡(通过ARP协商实现)。bond会截获本机发送的ARP应答,并把源硬件地址改写为bond中某个网卡的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。来自服务器端的接收流量也会被均衡。这种模式不需要交换机的特殊配置,但是要求网卡驱动支持ethtool命令和设置硬件地址。
Bond可以用于提供高可用性、负载均衡及链路冗余等效果。它可以通过将多块物理网卡绑定同一IP地址对外提供服务来实现这些效果。对于多物理网卡的 Bond 网卡而言,其中一块物理网卡会被设置为 Master(主设备),其他的网卡都是 Slave(从设备)。Bond 网卡的 MAC 地址取自标志为 Master 的物理网卡,然后将这个 MAC 地址复制到其他物理网卡上。
应用场景:一般用于高可用场景(防止出现一个故障导致整个业务停止),防止网卡故障导致业务中断。将多张网卡虚拟成一个网卡,配置网络bond,根据不同的bond模式实现不同的效果。一般是用于物理服务器,虚拟机也是可以进行配置;最重要的还是在物理上配置bond。因为物理机上的网卡挂掉,里面的虚拟机也无法进行访问
bond1(主备)
配置bond1(主备)
1.创建网络bond1(创建虚拟接口、虚拟网卡)
nmcli connection add type bond ifname bond1 con-name bond1 mode active-backup miimon 1000
2.将物理网卡添加到bond1虚拟网卡中
nmcli connection add type bond-slave ifname eth0 con-name bond1-eth1 master bond1
nmcli connection add type bond-slave ifname eth1 con-name bond1-eth2 master bond1
eg:在vmware虚拟软件上,会出现警告信息--->这是正常现象
在实际的物理服务器上不会出现3张网卡的MAC地址是一样,真实的情况应该是bond1虚拟网卡的mac地址和主网卡的mac地址是一样的.
3.修改bond1的ip地址
nmcli connection modify bond1 ipv4.method manual ipv4.addresses 12.0.0.200/24 autoconnect yes
nmcli connection up bond1
eg:哪张网卡先加入bond,哪张网卡就作为主网卡
查看bond的状态
cat /proc/net/bonding/bond1
vmware中的网卡类型
一般来说每张网卡,子网中的第一个IP地址给到物理机的虚拟网卡,在nat模式下,第二个IP地址给到网关。
NAT模式:
网络地址转化;将vmware虚拟机的IP地址转换为物理机的IP地址出去,访问公网
nat8网卡,只是用来和虚拟机进行通信;虚拟机上外网走的是物理网卡的网络;
仅主机模式:在一个局域网内部,没有上行链路,无法上外网
桥接:将虚拟机的网卡桥接到物理网卡上,使用物理网卡的网络信息
桥接和nat的最大区别:
桥接模式下网络,外网可以访问内部的虚拟机
NAT模式下的网络,虚拟机可以访问外网, 外部网络无法访问虚拟机
配置桥接网卡
1.创建网桥
nmcli connection add type bridge ifname br0 con-name br0
2.桥接到物理网卡
nmcli connection add type bridge-slave ifname eth3 con-name bri-eth3 master br0
3.测试查看网桥
eg:由于没有安装kvm虚拟机,所以给网桥配置IP地址,进行ping 测试(网桥生效较慢,等待几分钟即可ping通)
nmcli connection modify br0 ipv4.addresses 172.18.0.66/2
标签:nmcli,网络管理,配置文件,ip,RHCSA,网卡,地址,bond
From: https://www.cnblogs.com/humlogs/p/17949156