在rhel7之前,Linux的网卡根据网络接口的读取顺序依次命名为eth0、eth1、eth2……,这种命名方式会使系统每次开机的时候因为网络接口读取顺序不同,网卡名称变化,导致系统无法上网。
在rhel7之后,Linux网卡命名开始基于硬件基础上分配固定名称。
eg:ens160表示这是一个以太网接口,并且该网络接口支持热插拔,160为一个随机ID。
某些情况下,当我们需要批量给服务器配置IP地址的时候,新的网卡命名规则并不方便我们去使用脚本批量配置,这个时候,我们就需要使用传统的命名规则,将网卡名字统一为eth0。要使用传统命名规则,服务器必需只有一块网卡,否则传统命名规则的弊端仍然会出现。
配置如下:
编辑/etc/default/grub配置文件,在GRUB_CMDLINE_LINUX行中rhgb前添加net.ifnames=0 biosdevname=0。 [root@localhost ~]# vim /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap net.ifnames=0 biosdevname=0 rhgb quiet" GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true 生成新的引导文件 [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Adding boot menu entry for UEFI Firmware Settings ... done 重启系统 [root@localhost ~]# reboot
ip address:查看所有接口的网络信息
ip address
[root@localhost ~]# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens160: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:9f:97:24 brd ff:ff:ff:ff:ff:ff altname enp3s0 inet 192.168.211.15/24 brd 192.168.211.255 scope global noprefixroute ens160 valid_lft forever preferred_lft forever inet6 fe80::c20e:94ac:3c17:968a/64 scope link noprefixroute valid_lft forever preferred_lft forever
ifconfig:查看生效接口的IP地址,使用 -a选项可以查看所有接口的IP地址
ifconfig
-a
[root@localhost ~]# ifconfig ens160: flags=4163 mtu 1500 inet 192.168.211.15 netmask 255.255.255.0 broadcast 192.168.211.255 inet6 fe80::c20e:94ac:3c17:968a prefixlen 64 scopeid 0x20 ether 00:0c:29:9f:97:24 txqueuelen 1000 (Ethernet) RX packets 276 bytes 31596 (30.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 179 bytes 18827 (18.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 76 bytes 8833 (8.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 76 bytes 8833 (8.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
两种查看IP地址方式的区别:
[root@localhost ~]# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens160: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:9f:97:24 brd ff:ff:ff:ff:ff:ff altname enp3s0 inet 192.168.211.15/24 brd 192.168.211.255 scope global noprefixroute ens160 valid_lft forever preferred_lft forever inet 192.168.211.26/24 brd 192.168.211.255 scope global secondary noprefixroute ens160 valid_lft forever preferred_lft forever inet6 fe80::c20e:94ac:3c17:968a/64 scope link tentative noprefixroute valid_lft forever preferred_lft forever [root@localhost ~]# ifconfig -a ens160: flags=4163 mtu 1500 inet 192.168.211.15 netmask 255.255.255.0 broadcast 192.168.211.255 inet6 fe80::c20e:94ac:3c17:968a prefixlen 64 scopeid 0x20 ether 00:0c:29:9f:97:24 txqueuelen 1000 (Ethernet) RX packets 302 bytes 34415 (33.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 232 bytes 24425 (23.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 80 bytes 9181 (8.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 80 bytes 9181 (8.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
route -n:查看内核的路由条目
route -n
[root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.211.2 0.0.0.0 UG 100 0 0 ens160 127.0.0.0 0.0.0.0 255.0.0.0 U 30 0 0 lo 192.168.211.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
cat /etc/resolv.conf:查看DNS地址(该文件不要手动修改,重启系统或者接口都会重置该文件)
cat /etc/resolv.conf
[root@localhost ~]# cat /etc/resolv.conf # Generated by NetworkManager search localdomain nameserver 192.168.211.2
rhel7之前Linux系统都是使用network_scripts网络管理的脚本来负责网络管理。
rhel7开始可以同时使用network_scripts和NetworkManager管理网络。
rhel8开始默认只能使用NetworkManger管理网络,使用network_scripts需要单独去安装对应软件包
rhel9开始只能使用NetworkManger管理网络,并且将网络管理的配置文件更改成了ini的格式。
启用或者禁用网络接口 [root@rhce ~]# ip link set ens160 up [root@rhce ~]# ip link set ens160 down 给网络接口添加或删除一个IP地址 [root@rhce ~]# ip addr add dev ens160 172.16.10.100/24 [root@rhce ~]# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens160: mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 00:0c:29:9f:97:24 brd ff:ff:ff:ff:ff:ff altname enp3s0 inet 192.168.211.129/24 brd 192.168.211.255 scope global dynamic noprefixroute ens160 valid_lft 1223sec preferred_lft 1223sec inet 172.16.10.100/24 scope global ens160 valid_lft forever preferred_lft forever inet6 fe80::5907:3623:d663:abeb/64 scope link tentative noprefixroute valid_lft forever preferred_lft forever [root@rhce ~]# ip addr del dev ens160 172.16.10.100/24 [root@rhce ~]# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens160: mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 00:0c:29:9f:97:24 brd ff:ff:ff:ff:ff:ff altname enp3s0 inet 192.168.211.129/24 brd 192.168.211.255 scope global dynamic noprefixroute ens160 valid_lft 1201sec preferred_lft 1201sec inet6 fe80::5907:3623:d663:abeb/64 scope link tentative noprefixroute valid_lft forever preferred_lft forever 添加或删除一个路由 [root@rhce ~]# ip route add 192.168.0.0/16 via 192.168.211.2 dev ens160 [root@rhce ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.211.2 0.0.0.0 UG 100 0 0 ens160 192.168.0.0 192.168.211.2 255.255.0.0 UG 0 0 0 ens160 192.168.211.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160 [root@rhce ~]# ip route del 192.168.0.0/16 [root@rhce ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.211.2 0.0.0.0 UG 100 0 0 ens160 192.168.211.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
启用或者禁用网络接口 [root@rhce ~]# ifconfig ens160 down [root@rhce ~]# ifconfig lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 18 bytes 2106 (2.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 18 bytes 2106 (2.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@rhce ~]# ifconfig ens160 up [root@rhce ~]# ifconfig ens160: flags=4163 mtu 1500 inet 192.168.211.129 netmask 255.255.255.0 broadcast 192.168.211.255 inet6 fe80::5907:3623:d663:abeb prefixlen 64 scopeid 0x20 ether 00:0c:29:9f:97:24 txqueuelen 1000 (Ethernet) RX packets 2 bytes 410 (410.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 13 bytes 2180 (2.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 18 bytes 2106 (2.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 18 bytes 2106 (2.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
该工具由 network-scripts.x86_64软件包提供,在rhel8中如果需要使用该工具可以通过 yum -y install network-scripts命令安装该软件包。
network-scripts.x86_64
yum -y install network-scripts
网络配置文件所在位置:/etc/sysconfig/network-scripts,各网卡的命名为ifcfg-网卡名,如ifcfg-ens160。文件内容介绍如下。
/etc/sysconfig/network-scripts
TYPE=Ethernet //接口类型 PROXY_METHOD=none //代理方式 BROWSER_ONLY=no //只用于浏览器,该选项只有开启代理才有意义 BOOTPROTO=dhcp //ip地址获取方式,dhcp/auto表示自动获取IP地址 none/static表示手动配置 DEFROUTE=yes //是否将网关作为默认路由 IPV4_FAILURE_FATAL=no //ipv4地址错误检测 IPV6INIT=yes //开启IPv6 IPV6_AUTOCONF=yes //自动配置IPv6地址 IPV6_DEFROUTE=yes //将IPv6网关作为默认路由 IPV6_FAILURE_FATAL=no //IPv6地址错误检测 NAME=ens160 //网卡配置文件名 UUID=e619274a-4be5-49e8-b2bf-14a4c69d0771 //网卡标识符 DEVICE=ens160 //设备名 ONBOOT=yes //网卡是否开机自启 手动配置IP地址 BOOTPROTO=none|static //设置IP地址获取方式 IPADDRES=192.168.211.100 //IP地址 NETMASK=255.255.255.0 //掩码地址 PREFIX=24 //掩码长度 掩码长度和掩码地址二者选择一个即可 GATEWAY=192.168.211.2 //网关 DNS1=114.114.114.114 //dns地址,DNS后必选有1 修改完成后,重启网卡 [root@localhost ~]# systemctl restart network
从红帽7开始就逐渐开始使用NetworkManager来进行网络管理,使用network_scripts工具在后续需要完整双网卡绑定等操作的时候十分不便,使用NetworkManager工具可以较为方便完成这些高级操作。
语法:
nmcli [OPTIONS...] {help | general | networking | radio | connection | device | agent | monitor} [COMMAND] [ARGUMENTS...] 对设备管理 (1)查看网卡状态 [root@rhce ~]# nmcli device DEVICE TYPE STATE CONNECTION ens160 ethernet connected ens160 lo loopback connected (externally) lo (2)断开网卡和配置文件的连接 [root@rhce ~]# nmcli device disconnect ens160 Device 'ens160' successfully disconnected. [root@rhce ~]# nmcli device DEVICE TYPE STATE CONNECTION lo loopback connected (externally) lo ens160 ethernet disconnected -- (3)重新连接网卡和配置文件 [root@rhce ~]# nmcli device connect ens160 Device 'ens160' successfully activated with '7f2a4ccc-84ad-4a33-ab1b-412316043b31'. [root@rhce ~]# nmcli device DEVICE TYPE STATE CONNECTION ens160 ethernet connected ens160 lo loopback connected (externally) lo 注:当网卡没有对应的配置文件的时候,重新连接配置文件会创建一个同名的网卡配置文件,使用DHCP的方式获取IP地址。 对网卡管理 (1)查看网卡配置文件 [root@rhce ~]# nmcli connection show NAME UUID TYPE DEVICE ens160 7f2a4ccc-84ad-4a33-ab1b-412316043b31 ethernet ens160 lo 092459ff-cab0-4b18-893a-6b6c012f42fc loopback lo ens160-1 14aa7a1d-4325-4bef-a0ef-42ded63fa29a ethernet -- (2)添加一个网卡配置文件 [root@rhce ~]# nmcli connection add type ethernet ifname ens160 con-name ens160-2 ipv4.method manual ipv4.addresses 192.168.211.200/24 ipv4.gateway 192.168.211.2 ipv4.dns 114.114.114.114 autoconnect yes Connection 'ens160-2' (07459ee5-7e5d-482e-9cbe-bdab692b3c3b) successfully added. [root@rhce ~]# nmcli connection show NAME UUID TYPE DEVICE ens160 7f2a4ccc-84ad-4a33-ab1b-412316043b31 ethernet ens160 lo 092459ff-cab0-4b18-893a-6b6c012f42fc loopback lo ens160-1 14aa7a1d-4325-4bef-a0ef-42ded63fa29a ethernet -- ens160-2 07459ee5-7e5d-482e-9cbe-bdab692b3c3b ethernet -- type:网络类型 ifname:网卡设备名 con-name:配置文件名 ipv4.method:获取IP地址方式,manual为手动配置,auto为dhcp获取。 ipv4.address:配置的IP地址和掩码 ipv4.gateway:配置网关 ipv4.dns:配置的dns地址 autoconnect:是否开机激活此链接。 nmcli connection add type 网络类型 ifname 网卡设备名 con-name 配置文件名 ipv4.method 获取方式 ipv4.address IP地址 ipv4.gateway 网关 ipv4.dns dns地址 autoconnect yes (3)修改IP地址 [root@rhce ~]# nmcli connection modify ens160 ipv4.addresses 192.168.211.120/24 (4)重新读取配置文件 [root@rhce ~]# nmcli connection up ens160 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12) (5)删除配置文件 [root@rhce ~]# nmcli connection delete ens160-2 Connection 'ens160-2' (07459ee5-7e5d-482e-9cbe-bdab692b3c3b) successfully deleted. (6)手动修改文件后重新读取 [root@rhce ~]# nmcli connection reload
nmtui是NetworkManager的图形化工具,该工具不论是否安装了桌面,都可以使用图形化进行网络管理。
hostname命令显示或临时修改系统的完全限定主机名。可以在/etc/hostname文件中指定主机名。hostnamectl命令用于修改此文件,也可以查看系统信息。
[root@localhosr ~]# hostname localhosr.localdomain [root@localhosr ~]# hostname rhce [root@localhosr ~]# su - [root@rhce ~]# [root@rhce ~]# hostnamectl Static hostname: rhce Icon name: computer-vm Chassis: vm 🖴 Machine ID: 94dcd48d2f294c78b375e24d967b26ad Boot ID: 72c071c6ba7a4d42b4de8843c1512a28 Virtualization: vmware Operating System: Red Hat Enterprise Linux 9.2 (Plo… CPE OS Name: cpe:/o:redhat:enterprise_linux:9:… Kernel: Linux 5.14.0-284.11.1.el9_2.x86_64 Architecture: x86-64 Hardware Vendor: VMware, Inc. Hardware Model: VMware Virtual Platform Firmware Version: 6.00 修改主机名 [root@rhce ~]# hostnamectl set-hostname rhce
在系统中服务使用套接字作为通信的端点,表示方式为——IP地址:端口号。服务通常侦听标准端口,而客户端则使用随机的客用端口。Linux中/etc/services文件中列出了大部分服务的标准端口。
[root@rhce ~]# cat /etc/services | grep mysql mysql 3306/tcp # MySQL bootpc 68/tcp dhcpc # BOOTP client 服务名称 端口/协议 服务别名 服务的注释和说明
查看系统使用的端口,在RHEL8之前使用netstat命令来查看端口,RHEL8之后开始使用ss命令来查看端口。ss只能在RHEL8之后版本使用,之前的版本需要手动安装ss命令。
常用选项 -n 显示接口和端口的编号,不显示名称 -t 显示TCP的套接字 -u 显示UDP的套接字 -l 仅显示侦听中的套接子 -a 显示所有的套接字 -p 显示套接字进程。 eg: [root@rhce ~]# netstat -ntulap Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1035/sshd: /usr/sbi tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1033/cupsd tcp6 0 0 :::22 :::* LISTEN 1035/sshd: /usr/sbi tcp6 0 0 :::9090 :::* LISTEN 1/systemd tcp6 0 0 ::1:631 :::* LISTEN 1033/cupsd udp 0 0 192.168.211.129:68 192.168.211.254:67 ESTABLISHED 1026/NetworkManager udp 0 0 127.0.0.1:323 0.0.0.0:* 928/chronyd udp 0 0 0.0.0.0:43718 0.0.0.0:* 899/avahi-daemon: r udp 0 0 0.0.0.0:5353 0.0.0.0:* 899/avahi-daemon: r udp6 0 0 :::47174 :::* 899/avahi-daemon: r udp6 0 0 ::1:323 :::* 928/chronyd udp6 0 0 :::5353 :::* 899/avahi-daemon: r [root@rhce ~]# ss -ntulap Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process udp ESTAB 0 0 192.168.211.129%ens160:68 192.168.211.254:67 users:(("NetworkManager",pid=1026,fd=27)) udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:* users:(("chronyd",pid=928,fd=5)) udp UNCONN 0 0 0.0.0.0:43718 0.0.0.0:* users:(("avahi-daemon",pid=899,fd=14)) udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:* users:(("avahi-daemon",pid=899,fd=12)) udp UNCONN 0 0 [::]:47174 [::]:* users:(("avahi-daemon",pid=899,fd=15)) udp UNCONN 0 0 [::1]:323 [::]:* users:(("chronyd",pid=928,fd=6)) udp UNCONN 0 0 [::]:5353 [::]:* users:(("avahi-daemon",pid=899,fd=13)) tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1035,fd=3)) tcp LISTEN 0 128 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=1033,fd=7)) tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1035,fd=4)) tcp LISTEN 0 4096 *:9090 *:* users:(("systemd",pid=1,fd=104)) tcp LISTEN 0 128 [::1]:631 [::]:* users:(("cupsd",pid=1033,fd=6))
双网卡绑定时高可用业务场景中的必要条件,将多个物理网络做成一个逻辑接口,让网卡在故障的时候,不影响业务的正在运行。
双网卡绑定以下七种模式。
配置主备的bond,也就是bond1,是基于MAC地址漂移实现的。
配置步骤:
添加bond的虚拟接口 [root@rhce ~]# nmcli connection add type bond ifname bond1 con-name bond1 mode active-backup miimon 1000 Connection 'bond1' (f0f3669a-55d6-4a33-b67b-7b0784ea2cd6) successfully added. 将物理网卡添加到bond的虚拟接口 [root@rhce ~]# nmcli connection add type bond-slave ifname ens160 con-name bond1-ens160 master bond1 Connection 'bond1-ens160' (7b415ca4-10a9-44e3-bbdc-69ae85a18c47) successfully added. [root@rhce ~]# nmcli connection add type bond-slave ifname ens224 con-name bond1-ens224 master bond1 Connection 'bond1-ens224' (be1ee70f-779f-4b1c-96fb-aa523947adac) successfully added. 给虚拟接口添加IP地址并启动虚拟接口 [root@rhce ~]# nmcli connection modify bond1 ipv4.method manual ipv4.addresses 192.168.211.100/24 ipv4.gateway 192.168.211.2 ipv4.dns 114.114.114.114 autoconnect yes [root@rhce ~]# nmcli connection up bond1 Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8) [root@rhce ~]# ifconfig bond1: flags=5187 mtu 1500 inet 192.168.211.100 netmask 255.255.255.0 broadcast 192.168.211.255 inet6 fe80::5c46:b6d5:2494:d768 prefixlen 64 scopeid 0x20 ether 00:0c:29:9f:97:24 txqueuelen 1000 (Ethernet) RX packets 50 bytes 4734 (4.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 91 bytes 10108 (9.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens160: flags=6211 mtu 1500 ether 00:0c:29:9f:97:24 txqueuelen 1000 (Ethernet) RX packets 10 bytes 910 (910.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 36 bytes 3984 (3.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens224: flags=6211 mtu 1500 ether 00:0c:29:9f:97:24 txqueuelen 1000 (Ethernet) RX packets 5 bytes 320 (320.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 当bond绑定后会生成状态文件/proc/net/bonding/bond1 [root@rhce ~]# cat /proc/net/bonding/bond1 Ethernet Channel Bonding Driver: v5.14.0-284.11.1.el9_2.x86_64 Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: ens160 MII Status: up MII Polling Interval (ms): 1000 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: ens160 MII Status: up Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:9f:97:24 Slave queue ID: 0 Slave Interface: ens224 MII Status: up Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:9f:97:2e Slave queue ID: 0
先收藏一波
学习了,这个“废物”很厉害
已收录!
真厉害啊
Popular Ranking
Popular Events
网络管理
一、网络基本概念
二、Linux网络管理
(1)网卡命名规则
在rhel7之前,Linux的网卡根据网络接口的读取顺序依次命名为eth0、eth1、eth2……,这种命名方式会使系统每次开机的时候因为网络接口读取顺序不同,网卡名称变化,导致系统无法上网。
在rhel7之后,Linux网卡命名开始基于硬件基础上分配固定名称。
eg:ens160表示这是一个以太网接口,并且该网络接口支持热插拔,160为一个随机ID。
(2)网卡名称回退
某些情况下,当我们需要批量给服务器配置IP地址的时候,新的网卡命名规则并不方便我们去使用脚本批量配置,这个时候,我们就需要使用传统的命名规则,将网卡名字统一为eth0。要使用传统命名规则,服务器必需只有一块网卡,否则传统命名规则的弊端仍然会出现。
配置如下:
(3)查看网络信息
ip address
:查看所有接口的网络信息ifconfig
:查看生效接口的IP地址,使用-a
选项可以查看所有接口的IP地址两种查看IP地址方式的区别:
route -n
:查看内核的路由条目cat /etc/resolv.conf
:查看DNS地址(该文件不要手动修改,重启系统或者接口都会重置该文件)(4)网络管理工具
rhel7之前Linux系统都是使用network_scripts网络管理的脚本来负责网络管理。
rhel7开始可以同时使用network_scripts和NetworkManager管理网络。
rhel8开始默认只能使用NetworkManger管理网络,使用network_scripts需要单独去安装对应软件包
rhel9开始只能使用NetworkManger管理网络,并且将网络管理的配置文件更改成了ini的格式。
ip
ifconfig
network_scripts
该工具由
network-scripts.x86_64
软件包提供,在rhel8中如果需要使用该工具可以通过yum -y install network-scripts
命令安装该软件包。网络配置文件所在位置:
/etc/sysconfig/network-scripts
,各网卡的命名为ifcfg-网卡名,如ifcfg-ens160。文件内容介绍如下。NetworkManager
从红帽7开始就逐渐开始使用NetworkManager来进行网络管理,使用network_scripts工具在后续需要完整双网卡绑定等操作的时候十分不便,使用NetworkManager工具可以较为方便完成这些高级操作。
命令行:nmcli
语法:
图形化:nmtui
nmtui是NetworkManager的图形化工具,该工具不论是否安装了桌面,都可以使用图形化进行网络管理。
(5)主机名管理
hostname命令显示或临时修改系统的完全限定主机名。可以在/etc/hostname文件中指定主机名。hostnamectl命令用于修改此文件,也可以查看系统信息。
(6)端口管理
在系统中服务使用套接字作为通信的端点,表示方式为——IP地址:端口号。服务通常侦听标准端口,而客户端则使用随机的客用端口。Linux中/etc/services文件中列出了大部分服务的标准端口。
查看系统使用的端口,在RHEL8之前使用netstat命令来查看端口,RHEL8之后开始使用ss命令来查看端口。ss只能在RHEL8之后版本使用,之前的版本需要手动安装ss命令。
三、Linux高级网络管理
(1)双网卡绑定——bond
双网卡绑定时高可用业务场景中的必要条件,将多个物理网络做成一个逻辑接口,让网卡在故障的时候,不影响业务的正在运行。
双网卡绑定以下七种模式。
(2)双网卡绑定操作
配置主备的bond,也就是bond1,是基于MAC地址漂移实现的。
配置步骤: