活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

掌握CentOS Stream网络管理 实用命令与配置技巧助你轻松应对各种网络挑战

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-9-8 18:30:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言

CentOS Stream是Red Hat Enterprise Linux (RHEL)的上游开发平台,它提供了一个稳定且可靠的操作系统环境,适用于各种企业级应用。在网络管理方面,CentOS Stream提供了丰富的工具和命令,使系统管理员能够有效地配置、监控和排除网络故障。本文将详细介绍CentOS Stream中的网络管理实用命令和配置技巧,帮助读者轻松应对各种网络挑战。

基础网络配置

在CentOS Stream中,网络配置是系统管理的基础部分。正确配置网络参数对于系统通信至关重要。

IP地址配置

在CentOS Stream中,可以使用nmcli(NetworkManager命令行工具)或nmtui(NetworkManager文本用户界面)来配置IP地址。
  1. # 查看可用的网络连接
  2. nmcli connection show
  3. # 为连接配置静态IP地址
  4. nmcli connection modify enp0s3 ipv4.addresses 192.168.1.100/24
  5. nmcli connection modify enp0s3 ipv4.gateway 192.168.1.1
  6. nmcli connection modify enp0s3 ipv4.dns "8.8.8.8 8.8.4.4"
  7. nmcli connection modify enp0s3 ipv4.method manual
  8. # 重启网络连接使配置生效
  9. nmcli connection down enp0s3 && nmcli connection up enp0s3
复制代码
  1. # 启动nmtui工具
  2. nmtui
  3. # 在文本界面中,选择"Edit a connection",然后选择要配置的网络接口
  4. # 设置IP地址、子网掩码、网关和DNS服务器
  5. # 保存配置并退出
复制代码

配置文件方式

除了使用命令行工具外,还可以直接编辑网络配置文件。在CentOS Stream中,网络配置文件位于/etc/sysconfig/network-scripts/目录下。
  1. # 编辑网络接口配置文件
  2. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
  3. # 添加或修改以下内容
  4. TYPE=Ethernet
  5. BOOTPROTO=none
  6. DEFROUTE=yes
  7. IPV4_FAILURE_FATAL=no
  8. IPV6INIT=yes
  9. IPV6_AUTOCONF=yes
  10. IPV6_DEFROUTE=yes
  11. IPV6_FAILURE_FATAL=no
  12. NAME=enp0s3
  13. UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  14. DEVICE=enp0s3
  15. ONBOOT=yes
  16. IPADDR=192.168.1.100
  17. PREFIX=24
  18. GATEWAY=192.168.1.1
  19. DNS1=8.8.8.8
  20. DNS2=8.8.4.4
  21. IPV6_PEERDNS=yes
  22. IPV6_PEERROUTES=yes
  23. IPV6_PRIVACY=no
  24. # 保存文件后,重启网络服务
  25. systemctl restart network
复制代码

网络接口管理

网络接口是系统与网络通信的桥梁,有效管理网络接口对于系统稳定运行至关重要。

查看网络接口信息
  1. # 查看所有网络接口状态
  2. ip addr show
  3. # 或者使用传统命令
  4. ifconfig
  5. # 查看特定接口的详细信息
  6. ip addr show enp0s3
  7. # 查看接口统计信息
  8. ip -s link show enp0s3
复制代码

启用和禁用网络接口
  1. # 启用网络接口
  2. ip link set enp0s3 up
  3. # 禁用网络接口
  4. ip link set enp0s3 down
  5. # 使用nmcli启用/禁用连接
  6. nmcli connection up enp0s3
  7. nmcli connection down enp0s3
复制代码

添加和删除IP地址
  1. # 添加IP地址
  2. ip addr add 192.168.1.101/24 dev enp0s3
  3. # 删除IP地址
  4. ip addr del 192.168.1.101/24 dev enp0s3
复制代码

网络连接测试与诊断

网络连接测试和诊断是网络管理的重要部分,可以帮助管理员快速定位和解决网络问题。

使用ping命令测试连通性
  1. # 测试与目标主机的连通性
  2. ping google.com
  3. # 指定发送包的数量
  4. ping -c 4 google.com
  5. # 指定ping包的大小
  6. ping -s 1024 google.com
  7. # 持续ping并显示时间戳
  8. ping -D google.com
复制代码

使用traceroute跟踪路由
  1. # 跟踪到目标主机的路由
  2. traceroute google.com
  3. # 使用ICMP协议进行跟踪
  4. traceroute -I google.com
  5. # 指定最大跳数
  6. traceroute -m 15 google.com
复制代码

使用mtr进行网络诊断

mtr是一个强大的网络诊断工具,结合了ping和traceroute的功能。
  1. # 安装mtr
  2. dnf install mtr
  3. # 使用mtr诊断网络连接
  4. mtr google.com
  5. # 使用报告模式
  6. mtr --report google.com
复制代码

使用netstat和ss查看网络连接
  1. # 查看所有网络连接
  2. netstat -a
  3. # 查看TCP连接
  4. netstat -t
  5. # 查看监听端口
  6. netstat -l
  7. # 查看网络统计信息
  8. netstat -s
  9. # 使用ss命令(替代netstat)
  10. ss -tuln
复制代码

使用tcpdump抓包分析
  1. # 安装tcpdump
  2. dnf install tcpdump
  3. # 抓取通过enp0s3接口的所有数据包
  4. tcpdump -i enp0s3
  5. # 抓取特定主机的数据包
  6. tcpdump -i enp0s3 host 192.168.1.1
  7. # 抓取特定端口的数据包
  8. tcpdump -i enp0s3 port 80
  9. # 将抓包结果保存到文件
  10. tcpdump -i enp0s3 -w capture.pcap
  11. # 读取抓包文件
  12. tcpdump -r capture.pcap
复制代码

高级网络配置

除了基础网络配置外,CentOS Stream还支持多种高级网络配置,如网络绑定、VLAN配置和网桥配置等。

网络绑定(Bonding)

网络绑定可以将多个网络接口绑定为一个逻辑接口,提高网络带宽和冗余性。
  1. # 安装绑定工具
  2. dnf install teamd
  3. # 创建绑定接口配置文件
  4. vi /etc/sysconfig/network-scripts/ifcfg-bond0
  5. # 添加以下内容
  6. DEVICE=bond0
  7. TYPE=Bond
  8. NAME=bond0
  9. BONDING_MASTER=yes
  10. IPADDR=192.168.1.100
  11. PREFIX=24
  12. GATEWAY=192.168.1.1
  13. DNS1=8.8.8.8
  14. ONBOOT=yes
  15. BONDING_OPTS="mode=4 miimon=100"
  16. # 配置从接口
  17. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
  18. # 添加以下内容
  19. TYPE=Ethernet
  20. NAME=enp0s3
  21. DEVICE=enp0s3
  22. ONBOOT=yes
  23. MASTER=bond0
  24. SLAVE=yes
  25. # 配置第二个从接口
  26. vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
  27. # 添加以下内容
  28. TYPE=Ethernet
  29. NAME=enp0s8
  30. DEVICE=enp0s8
  31. ONBOOT=yes
  32. MASTER=bond0
  33. SLAVE=yes
  34. # 重启网络服务
  35. systemctl restart network
  36. # 验证绑定状态
  37. cat /proc/net/bonding/bond0
复制代码

VLAN配置

VLAN(虚拟局域网)可以将物理网络划分为多个逻辑网络。
  1. # 安装VLAN工具
  2. dnf install vconfig
  3. # 创建VLAN接口
  4. ip link add link enp0s3 name enp0s3.100 type vlan id 100
  5. # 配置VLAN接口
  6. ip addr add 192.168.100.1/24 dev enp0s3.100
  7. ip link set dev enp0s3.100 up
  8. # 或者使用配置文件方式
  9. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.100
  10. # 添加以下内容
  11. VLAN=yes
  12. TYPE=Vlan
  13. DEVICE=enp0s3.100
  14. PHYSDEV=enp0s3
  15. VLAN_ID=100
  16. BOOTPROTO=none
  17. ONBOOT=yes
  18. IPADDR=192.168.100.1
  19. PREFIX=24
  20. GATEWAY=192.168.100.254
  21. DNS1=8.8.8.8
  22. # 重启网络服务
  23. systemctl restart network
复制代码

网桥配置

网桥可以将多个网络接口连接到一个逻辑网段中。
  1. # 安装网桥工具
  2. dnf install bridge-utils
  3. # 创建网桥
  4. brctl addbr br0
  5. # 将接口添加到网桥
  6. brctl addif br0 enp0s3
  7. brctl addif br0 enp0s8
  8. # 启用网桥
  9. ip link set dev br0 up
  10. # 配置网桥IP地址
  11. ip addr add 192.168.1.100/24 dev br0
  12. # 或者使用配置文件方式
  13. vi /etc/sysconfig/network-scripts/ifcfg-br0
  14. # 添加以下内容
  15. DEVICE=br0
  16. TYPE=Bridge
  17. BOOTPROTO=none
  18. IPADDR=192.168.1.100
  19. PREFIX=24
  20. GATEWAY=192.168.1.1
  21. DNS1=8.8.8.8
  22. ONBOOT=yes
  23. # 配置物理接口
  24. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
  25. # 添加以下内容
  26. DEVICE=enp0s3
  27. TYPE=Ethernet
  28. BOOTPROTO=none
  29. ONBOOT=yes
  30. BRIDGE=br0
  31. # 配置第二个物理接口
  32. vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
  33. # 添加以下内容
  34. DEVICE=enp0s8
  35. TYPE=Ethernet
  36. BOOTPROTO=none
  37. ONBOOT=yes
  38. BRIDGE=br0
  39. # 重启网络服务
  40. systemctl restart network
  41. # 验证网桥状态
  42. brctl show
复制代码

防火墙配置

防火墙是网络安全的重要组成部分,CentOS Stream使用firewalld作为默认的防火墙管理工具。

基本firewalld操作
  1. # 安装firewalld
  2. dnf install firewalld
  3. # 启动并启用firewalld
  4. systemctl start firewalld
  5. systemctl enable firewalld
  6. # 查看防火墙状态
  7. systemctl status firewalld
  8. firewall-cmd --state
  9. # 查看当前活动的区域
  10. firewall-cmd --get-active-zones
  11. # 查看默认区域
  12. firewall-cmd --get-default-zone
  13. # 查看所有可用区域
  14. firewall-cmd --get-zones
复制代码

管理防火墙规则
  1. # 开放端口(临时)
  2. firewall-cmd --zone=public --add-port=80/tcp
  3. # 开放端口(永久)
  4. firewall-cmd --zone=public --add-port=80/tcp --permanent
  5. # 开放服务(临时)
  6. firewall-cmd --zone=public --add-service=http
  7. # 开放服务(永久)
  8. firewall-cmd --zone=public --add-service=http --permanent
  9. # 移除端口或服务
  10. firewall-cmd --zone=public --remove-port=80/tcp --permanent
  11. firewall-cmd --zone=public --remove-service=http --permanent
  12. # 重新加载防火墙配置
  13. firewall-cmd --reload
  14. # 查看开放的端口和服务
  15. firewall-cmd --zone=public --list-ports
  16. firewall-cmd --zone=public --list-services
复制代码

端口转发和富规则
  1. # 配置端口转发
  2. firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
  3. # 配置富规则
  4. firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept' --permanent
  5. # 查看富规则
  6. firewall-cmd --zone=public --list-rich-rules
复制代码

网络服务配置

除了基本的网络配置外,CentOS Stream还支持各种网络服务的配置,如DHCP、DNS、NTP等。

DHCP服务配置
  1. # 安装DHCP服务器
  2. dnf install dhcp-server
  3. # 配置DHCP服务器
  4. vi /etc/dhcp/dhcpd.conf
  5. # 添加以下内容
  6. option domain-name-servers 8.8.8.8, 8.8.4.4;
  7. default-lease-time 600;
  8. max-lease-time 7200;
  9. authoritative;
  10. subnet 192.168.1.0 netmask 255.255.255.0 {
  11.   range 192.168.1.100 192.168.1.200;
  12.   option routers 192.168.1.1;
  13.   option broadcast-address 192.168.1.255;
  14. }
  15. # 启动并启用DHCP服务
  16. systemctl start dhcpd
  17. systemctl enable dhcpd
  18. # 查看DHCP租约
  19. cat /var/lib/dhcpd/dhcpd.leases
复制代码

DNS服务配置
  1. # 安装BIND DNS服务器
  2. dnf install bind bind-utils
  3. # 配置BIND
  4. vi /etc/named.conf
  5. # 修改以下内容
  6. options {
  7.         listen-on port 53 { any; };
  8.         listen-on-v6 port 53 { any; };
  9.         directory       "/var/named";
  10.         dump-file       "/var/named/data/cache_dump.db";
  11.         statistics-file "/var/named/data/named_stats.txt";
  12.         memstatistics-file "/var/named/data/named_mem_stats.txt";
  13.         secroots-file   "/var/named/data/named.secroots";
  14.         recursing-file  "/var/named/data/named.recursing";
  15.         allow-query     { any; };
  16.         
  17.         recursion yes;
  18.         
  19.         dnssec-enable yes;
  20.         dnssec-validation yes;
  21.         
  22.         managed-keys-directory "/var/named/dynamic";
  23.         
  24.         pid-file "/run/named/named.pid";
  25.         session-keyfile "/run/named/session.key";
  26. };
  27. logging {
  28.         channel default_debug {
  29.                 file "data/named.run";
  30.                 severity dynamic;
  31.         };
  32. };
  33. zone "." IN {
  34.         type hint;
  35.         file "named.ca";
  36. };
  37. include "/etc/named.rfc1912.zones";
  38. include "/etc/named.root.key";
  39. # 创建正向解析区域
  40. vi /etc/named.rfc1912.zones
  41. # 添加以下内容
  42. zone "example.com" IN {
  43.         type master;
  44.         file "example.com.zone";
  45.         allow-update { none; };
  46. };
  47. # 创建反向解析区域
  48. zone "1.168.192.in-addr.arpa" IN {
  49.         type master;
  50.         file "192.168.1.zone";
  51.         allow-update { none; };
  52. };
  53. # 创建正向解析区域文件
  54. vi /var/named/example.com.zone
  55. # 添加以下内容
  56. $TTL 1D
  57. @       IN SOA  ns1.example.com. admin.example.com. (
  58.                                         0       ; serial
  59.                                         1D      ; refresh
  60.                                         1H      ; retry
  61.                                         1W      ; expire
  62.                                         3H )    ; minimum
  63.         NS      ns1.example.com.
  64. ns1     A       192.168.1.100
  65. www     A       192.168.1.101
  66. mail    A       192.168.1.102
  67. # 创建反向解析区域文件
  68. vi /var/named/192.168.1.zone
  69. # 添加以下内容
  70. $TTL 1D
  71. @       IN SOA  ns1.example.com. admin.example.com. (
  72.                                         0       ; serial
  73.                                         1D      ; refresh
  74.                                         1H      ; retry
  75.                                         1W      ; expire
  76.                                         3H )    ; minimum
  77.         NS      ns1.example.com.
  78. 100     PTR     ns1.example.com.
  79. 101     PTR     www.example.com.
  80. 102     PTR     mail.example.com.
  81. # 设置文件权限
  82. chown root:named /var/named/example.com.zone
  83. chown root:named /var/named/192.168.1.zone
  84. chmod 640 /var/named/example.com.zone
  85. chmod 640 /var/named/192.168.1.zone
  86. # 启动并启用named服务
  87. systemctl start named
  88. systemctl enable named
  89. # 测试DNS解析
  90. nslookup www.example.com
  91. nslookup 192.168.1.101
复制代码

NTP服务配置
  1. # 安装NTP服务
  2. dnf install ntp
  3. # 配置NTP服务器
  4. vi /etc/ntp.conf
  5. # 修改或添加以下内容
  6. server 0.centos.pool.ntp.org iburst
  7. server 1.centos.pool.ntp.org iburst
  8. server 2.centos.pool.ntp.org iburst
  9. server 3.centos.pool.ntp.org iburst
  10. # 启动并启用NTP服务
  11. systemctl start ntpd
  12. systemctl enable ntpd
  13. # 查看NTP同步状态
  14. ntpq -p
  15. # 或者使用chrony(CentOS Stream推荐)
  16. dnf install chrony
  17. # 配置chrony
  18. vi /etc/chrony.conf
  19. # 修改或添加以下内容
  20. server 0.centos.pool.ntp.org iburst
  21. server 1.centos.pool.ntp.org iburst
  22. server 2.centos.pool.ntp.org iburst
  23. server 3.centos.pool.ntp.org iburst
  24. # 启动并启用chronyd服务
  25. systemctl start chronyd
  26. systemctl enable chronyd
  27. # 查看chrony同步状态
  28. chronyc sources
  29. chronyc tracking
复制代码

网络故障排除

网络故障排除是系统管理员的重要技能,下面介绍一些常见的网络问题及其解决方法。

网络接口无法启动
  1. # 检查网络接口状态
  2. ip link show
  3. # 检查网络接口配置文件
  4. cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
  5. # 检查NetworkManager状态
  6. systemctl status NetworkManager
  7. # 查看系统日志
  8. journalctl -u NetworkManager -n 100
  9. # 重启网络服务
  10. systemctl restart network
复制代码

无法连接到网络
  1. # 检查IP地址配置
  2. ip addr show
  3. # 检查默认路由
  4. ip route show
  5. # 测试网关连通性
  6. ping 192.168.1.1
  7. # 测试DNS解析
  8. nslookup google.com
  9. # 检查防火墙状态
  10. systemctl status firewalld
  11. firewall-cmd --list-all
  12. # 检查SELinux状态
  13. getenforce
  14. # 检查网络服务状态
  15. systemctl status network
复制代码

网络性能问题
  1. # 检查网络接口统计信息
  2. ip -s link show enp0s3
  3. # 检查网络连接状态
  4. ss -tuln
  5. # 检查网络带宽使用情况
  6. iftop -i enp0s3
  7. # 检查网络延迟
  8. ping -c 10 google.com
  9. # 检查路由跟踪
  10. traceroute google.com
  11. # 检查网络连接数
  12. netstat -an | wc -l
复制代码

端口无法访问
  1. # 检查服务是否运行
  2. systemctl status httpd
  3. # 检查端口是否监听
  4. ss -tuln | grep 80
  5. # 检查防火墙规则
  6. firewall-cmd --list-ports
  7. firewall-cmd --list-services
  8. # 检查SELinux设置
  9. getsebool -a | grep http
  10. setsebool -P httpd_can_network_connect=1
  11. # 检查应用程序日志
  12. journalctl -u httpd -n 100
复制代码

性能优化

网络性能优化可以提高系统的响应速度和吞吐量,下面介绍一些常用的网络性能优化技巧。

网络参数调优
  1. # 查看当前网络参数
  2. sysctl -a | grep net.ipv4
  3. # 修改网络参数(临时)
  4. sysctl -w net.ipv4.tcp_keepalive_time=120
  5. sysctl -w net.ipv4.tcp_keepalive_intvl=30
  6. sysctl -w net.ipv4.tcp_keepalive_probes=3
  7. # 修改网络参数(永久)
  8. vi /etc/sysctl.conf
  9. # 添加以下内容
  10. net.ipv4.tcp_keepalive_time = 120
  11. net.ipv4.tcp_keepalive_intvl = 30
  12. net.ipv4.tcp_keepalive_probes = 3
  13. net.ipv4.tcp_fin_timeout = 30
  14. net.ipv4.tcp_max_syn_backlog = 4096
  15. net.ipv4.tcp_syncookies = 1
  16. net.core.netdev_max_backlog = 5000
  17. net.core.somaxconn = 2048
  18. # 应用网络参数
  19. sysctl -p
复制代码

网络接口优化
  1. # 查看网络接口支持的队列数
  2. ethtool -l enp0s3
  3. # 设置多队列
  4. ethtool -L enp0s3 combined 4
  5. # 查看网络接口卸载特性
  6. ethtool -k enp0s3
  7. # 启用或禁用卸载特性
  8. ethtool -K enp0s3 gso on
  9. ethtool -K enp0s3 tso on
  10. ethtool -K enp0s3 gro on
  11. # 查看网络接口中断亲和性
  12. cat /proc/interrupts | grep enp0s3
  13. # 设置中断亲和性
  14. echo 1 > /proc/irq/123/smp_affinity
复制代码

网络监控工具
  1. # 安装网络监控工具
  2. dnf install iftop nload iptraf-ng bmon nethogs
  3. # 使用iftop监控网络带宽
  4. iftop -i enp0s3
  5. # 使用nload监控网络流量
  6. nload enp0s3
  7. # 使用iptraf-ng监控网络连接
  8. iptraf-ng -i enp0s3
  9. # 使用bmon监控网络带宽
  10. bmon -p enp0s3
  11. # 使用nethogs监控进程网络使用情况
  12. nethogs enp0s3
复制代码

总结

CentOS Stream提供了丰富的网络管理工具和命令,使系统管理员能够有效地配置、监控和排除网络故障。本文介绍了基础网络配置、网络接口管理、网络连接测试与诊断、高级网络配置、防火墙配置、网络服务配置、网络故障排除和性能优化等方面的内容。掌握这些技能,可以帮助系统管理员轻松应对各种网络挑战,确保网络系统的稳定运行。

随着网络技术的不断发展,CentOS Stream也在不断更新和完善其网络管理功能。作为系统管理员,我们需要持续学习和实践,不断更新自己的知识和技能,以适应不断变化的网络环境。希望本文能够帮助读者更好地理解和掌握CentOS Stream网络管理的各个方面,为日常系统管理工作提供有价值的参考。
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则