管理 Linux 联网 1.RHEL10 版本特点在 RHEL7 版本中同时支持 network.service 和 NetworkManager.service简称 NM。在 RHEL8 上默认只能通过 NM 进行网络配置包括动态 ip 和静态 ip若不开启 NM否则无法使用网络 RHEL8 依然支持 network.service只是默认没安装可以通过 yum install network-scripts 来安装传统的 network.service不过 redhat 说了在下一个 rhel 的大版本里将彻底废除因此不建议用network.service。在 RHEL9 上使用 NM 进行网络配置ifcfg 也称为文件将不再是网络配置文件的主存储。虽然 ifcfg 样式仍然可用但它不再是 NetworkManager 存储新网络配置文件的默认位置。从 RHEL 9.0 开始RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存储新的网络配置。配置以旧格式存储在 /etc/sysconfig/network-scripts/ 中的连接仍然可以正常工作。对现有配置集的修改会继续更新旧的文件。在 RHEL10 中ifcfg 格式已完全不受支持仅能使用 NetworkManager 进行网路配置。2.NM特点NetworkManager 是 2004 年 Red Hat 启动的项目旨在能够让 Linux 用户更轻松地处理现代网络需求能自动发现网卡并配置 ip 地址。NetworkManager 的特点NM 能管理各种网络有线网卡、无线网卡动态 ip、静态 ip以太网、非以太网物理网卡、虚拟网卡工具齐全命令行、文本界面、图形界面、web广纳天地管理各种网络有线、无线、物理、虚拟参数丰富多达 200 多项配置参数包括 ethtool 参数一统江湖RedHat 系、Suse 系、Debian/Ubuntu 系均支持大势所趋下一个大版本的 rhel 只能通过 NM 管理网络3.网络配置3.1.概念- 网络接口是指网络中的计算机或网络设备与其他设备实现通讯的进出口一般是指计算机的网络接口即网卡设备- 从 RHEL7 开始引入了一种新的”一致网络设备命名”的方式为网络接口命名该方式可以根据固件、设备拓扑、设备类型和位置信息分配固定的名字。网络接口的名称的前两个字符为网络类型符号如:- en 表示以太网 (Ethernet)- wl 表示无线局域网 (wlan)- ww 表示无线广域网 (wwan)- 接下来的字符根据设备类型或位置选择如:- o——表示内置 (onboard) 于主板上的集成设备 (即集成网卡) 及索引号;- s——表示是插在可以热拔插的插槽上的独立设备及索引号;- x——表示基于 MAC 地址命名的设备;- p——表示 PCI 插槽的物理位置及编号。- 注意一个网络接口可以有多个网络连接但同一时间只能有一个网络连接处于活动状态。3.2.nmcli作用创建、显示、编辑、删除、激活、停用网络连接控制和显示网络设备状态查看网卡信息[rootzzz ~]# nmcli connection show # 展示系统所有网络连接简要信息 [rootzzz ~]# nmcli connection show ens160 # 展示 ens160 配置详细信息 [rootzzz ~]# nmcli device status # 展示所有网络设备的状态 [rootzzz ~]# nmcli device show ens160 # 展示 ens160 网络设备详细配置激活和关闭网络连接[rootzzz ~]# nmcli connection up ens160 # 激活网卡 [rootzzz ~]# nmcli connection down ens160 # 停用网卡设置静态 IP# 设置静态 IP修改网络连接 [rootzzz ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.17.100/24 ipv4.gateway 192.168.17.2 ipv4.dns 114.114.114.114 connection.autoconnect yes [rootzzz ~]# nmcli connection up ens160 # 查看 IP 地址 [rootzzz ~]# ip a # 查看网关 [rootzzzfkt ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.17.2 0.0.0.0 UG 100 0 0 ens160 192.168.17.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160 # 查看 DNS [rootzzzfkt ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 114.114.114.114添加网络连接# 添加网络连接 # 类型以太网 关联 ens160 的物理网络接口 设置名称 ens161 系统启动时自动激活此网络连接 [rootzzz ~]# nmcli connection add type ethernet ifname ens160 con-name ens161 autoconnect yes ipv4.method manual ipv4.addresses 192.168.17.200/24 ipv4.gateway 192.168.17.2 [rootzzz ~]# nmcli connection up ens161 [rootzzz ~]# nmcli connection show [rootzzz ~]# nmcli connection up ens160添加 IP 地址# 增加 IP 地址 [rootzzz ~]# nmcli connection modify ens160 ipv4.addresses 192.168.17.101/24 [rootzzz ~]# nmcli connection up ens160 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5) [rootzzz ~]# ip a 1: lo: LOOPBACK,UP,LOWER_UP 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: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:aa:34:54 brd ff:ff:ff:ff:ff:ff altname enp3s0 inet 192.168.17.100/24 brd 192.168.17.255 scope global noprefixroute ens160 valid_lft forever preferred_lft forever inet 192.168.17.101/24 brd 192.168.17.255 scope global secondary noprefixroute ens160 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:feaa:3454/64 scope link noprefixroute valid_lft forever preferred_lft forever删除网络连接# 删除网络连接 [rootzzz ~]# nmcli connection show NAME UUID TYPE DEVICE ens160 bb4ec19e-31e8-3067-9878-9d5c2607c4a3 ethernet ens160 lo d6cb4851-3b0d-4ec0-b839-40fa098ccff6 loopback lo ens161 e6e5380f-3afd-4f6a-970c-c15283fdd00a ethernet -- [rootzzz ~]# nmcli connection delete ens161 Connection ens161 (e6e5380f-3afd-4f6a-970c-c15283fdd00a) successfully deleted. [rootzzz ~]# nmcli connection show NAME UUID TYPE DEVICE ens160 bb4ec19e-31e8-3067-9878-9d5c2607c4a3 ethernet ens160 lo d6cb4851-3b0d-4ec0-b839-40fa098ccff6 loopback lo注意一个网络设备可以有多个网络连接配置但是一个时刻只能有一个连接被激活修改配置文件设置静态 IP[rootzzz ~]# vim /etc/NetworkManager/system-connections/ens160.nmconnection [connection] idens160 uuidbb4ec19e-31e8-3067-9878-9d5c2607c4a3 typeethernet autoconnect-priority-999 interface-nameens160 timestamp1767442143 [ethernet] [ipv4] address1192.168.17.100/24,192.168.17.2 address2192.168.17.101/24 dns8.8.8.8; methodmanual [ipv6] addr-gen-modeeui64 methodauto [proxy] [rootrhcsa ~]# nmcli connection reload [rootrhcsa ~]# nmcli connection up ens1603.3.nmtui可视化配置 IP 地址注意通过键盘方向键和回车设置 IP 参数4.测试网络连通性4.1.ping检测网络连接的连通性分析网络速度根据域名得到服务器 IP根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量格式ping -选项 目标主机IP或域名选项参数功能-c指定发送 ICMP 数据包数量-w设置等待响应超时时间-i指定发送数据包时间间隔-s设置发送数据包大小默认 64 字节[rootzzz ~]# ping -c 2 www.baidu.com PING www.a.shifen.com (183.2.172.17) 56(84) bytes of data. 64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq1 ttl128 time38.9 ms 64 bytes from 183.2.172.17 (183.2.172.17): icmp_seq2 ttl128 time38.3 ms --- www.a.shifen.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev 38.316/38.589/38.863/0.273 ms64 bytes接收到 ICMP 回显数据包的数据部分大小 64 字节from 183.2.172.17 (183.2.172.17)从哪个 IP 地址返回icmp_seq1ICMP 数据包的序列ttl128数据包每经过一个路由器转发ttl 值减 1128Windows64Linux、UNIXtime38.9 ms从发送数据包到接收到回显数据包所花费的时间注意如果需要访问互联网的主机则网络参数中必须配置IP 地址、掩码、网关和 DNS5.通过域名访问主机5.1.DNS 域名解析查看当前 DNS 域名解析服务器[rootzzz ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 8.8.8.8DNS 域名解析[rootzzz ~]# ping www.baidu.com PING www.wshifen.com (103.235.46.102) 56(84) bytes of data. 64 bytes from 103.235.46.102 (103.235.46.102): icmp_seq2 ttl128 time360 ms5.2.静态解析域名解析文件/etc/hosts通过配置 /etc/hosts 文件实现本地域名解析提高访问速率[rootzzz ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.17.2 www.baidu.com # 本地 hosts 解析优先于 DNS [rootzzz ~]# ping www.baidu.com PING www.baidu.com (192.168.17.2) 56(84) bytes of data. 64 bytes from www.baidu.com (192.168.17.2): icmp_seq1 ttl128 time0.207 ms注意本地 hosts 解析优先于 DNS 解析6.从网站下载文件6.1.wget在终端命令行里下载网络文件英文全称 “web get”格式wget -参数 URL参数选项功能-p下载到指定目录-t最大尝试次数-b后台下载-c断点续传-p下载页面所有资源包括图片、视频-r递归下载下载页面所有资源# 下载 qq 软件 [rootzzz ~]# wget https://dldir1.qq.com/qqfile/qq/QQNT/2355235c/linuxqq_3.1.1-11223_x86_64.rpm6.2.curlcurl 是一个支持多种协议、能在命令行通过构造不同请求实现文件下载、HTTP 请求操作如 GET、POST 等以及用于测试 API 和获取网页信息的数据传输工具。注意[rootzzz ~]# curl https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.rpm -o /root/WeChatLinux_x86_64.rpm7.VMware 三种网络模式Bridged桥接模式NAT网络地址转换模式Host-Only 仅主机模式VMware → 编辑菜单 → 虚拟网络编辑器7.1.Bridged桥接模式桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信在桥接的作用下类似于把物理主机虚拟为一个交换机所有桥接设置的虚拟机连接到这个交换机的一个接口上物理主机也同样插在这个交换机当中所以所有桥接下的网卡与网卡都是交换模式的相互可以访问而不干扰在桥接模式下虚拟机 IP 地址需要与主机在同一个网段如果需要联网则网关与 DNS 需要与主机网卡一致注意虚拟交换机必须桥接到本机电脑使用的网卡不要选自动虚拟机的 ip 跟本机同一个网段网关相同桥接模式配置简单如果网络环境中 ip 资源很缺少或对 ip 管理比较严格则桥接模式就不太适合、7.2.NAT地址转换模式NAT 模式借助虚拟 NAT 设备和虚拟 DHCP 服务器使得虚拟机可以联网。其网络结构如下图​​​​​​​注意NAT 模式是利用虚拟的 NAT 设备以及虚拟 DHCP 服务器来使虚拟机连接外网VMware Network Adapter VMnet8 虚拟网卡是用来与虚拟机通信的如果你的网络 ip 资源紧缺但是你又希望你的虚拟机能够联网这时候 NAT 模式是最好的选择7.3.Host-Only仅主机模式Host-Only 模式其实就是 NAT 模式去除了虚拟 NAT 设备然后使用 VMnet1 虚拟网卡连接 VMnet1 虚 拟交换机来与虚拟机通信的Host-Only 模式将虚拟机与外网隔开使得虚拟机成为一个独立的系统只与主机相互通讯