活动公告

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

Rocky Linux网络设置教程 从零开始学会配置和管理网络连接

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-9-17 13:40:05 | 显示全部楼层 |阅读模式

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

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

x
引言

Rocky Linux是一个社区支持的企业级操作系统,设计用来替代CentOS,它提供了稳定、可靠且安全的计算环境。网络配置是任何Linux系统管理中的基础任务,无论是服务器还是桌面环境,正确配置网络连接都是确保系统正常运行的关键。

本教程将带您从零开始学习Rocky Linux的网络配置和管理,涵盖从基础概念到高级配置的各个方面。无论您是Linux新手还是有经验的系统管理员,本教程都将为您提供实用的知识和技能。

网络基础概念

在深入Rocky Linux网络配置之前,让我们先了解一些基础的网络概念:

IP地址

IP地址是网络上设备的唯一标识符。在IPv4中,地址通常表示为四个0-255之间的数字,如192.168.1.1。IPv6则使用更复杂的十六进制表示法。

子网掩码

子网掩码用于确定IP地址的网络部分和主机部分。例如,255.255.255.0表示前三个数字是网络部分,最后一个数字是主机部分。

网关

网关是连接本地网络与其他网络的设备,通常是路由器。它是数据包离开本地网络的出口点。

DNS服务器

DNS(域名系统)服务器将域名(如www.example.com)转换为IP地址,使我们能够使用易于记忆的名称而不是数字来访问网络资源。

MAC地址

MAC(媒体访问控制)地址是网络接口的物理地址,由制造商分配,通常是唯一的。

Rocky Linux网络配置方法

Rocky Linux提供了多种网络配置方法,从图形界面到命令行工具,适合不同用户的需求和技能水平。

使用NetworkManager配置网络

NetworkManager是Rocky Linux中的默认网络管理工具,它提供了多种接口来配置网络连接。

如果您使用的是带有图形界面的Rocky Linux,可以通过以下步骤配置网络:

1. 点击系统菜单中的网络图标。
2. 选择”有线连接”或”Wi-Fi”,然后点击”设置”。
3. 在弹出的窗口中,您可以配置IPv4和IPv6设置。
4. 选择”手动”配置静态IP,或选择”自动(DHCP)“使用动态IP。
5. 输入必要的网络信息,如IP地址、子网掩码、网关和DNS服务器。
6. 点击”应用”保存设置。

对于服务器环境或喜欢使用命令行的用户,NetworkManager提供了几个命令行工具。

使用传统网络配置文件

虽然NetworkManager是推荐的配置方法,但Rocky Linux也支持传统的网络配置文件,这些文件位于/etc/sysconfig/network-scripts/目录下。

每个网络接口有一个对应的配置文件,命名为ifcfg-<interface_name>,例如ifcfg-eth0或ifcfg-enp0s3。

以下是一个基本的静态IP配置示例:
  1. # /etc/sysconfig/network-scripts/ifcfg-enp0s3
  2. TYPE=Ethernet
  3. BOOTPROTO=none
  4. DEFROUTE=yes
  5. IPV4_FAILURE_FATAL=no
  6. IPV6INIT=yes
  7. IPV6_AUTOCONF=yes
  8. IPV6_DEFROUTE=yes
  9. IPV6_FAILURE_FATAL=no
  10. NAME=enp0s3
  11. UUID=1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p
  12. DEVICE=enp0s3
  13. ONBOOT=yes
  14. IPADDR=192.168.1.100
  15. PREFIX=24
  16. GATEWAY=192.168.1.1
  17. DNS1=8.8.8.8
  18. DNS2=8.8.4.4
  19. DOMAIN=example.com
复制代码

以下是一个DHCP配置示例:
  1. # /etc/sysconfig/network-scripts/ifcfg-enp0s3
  2. TYPE=Ethernet
  3. BOOTPROTO=dhcp
  4. DEFROUTE=yes
  5. IPV4_FAILURE_FATAL=no
  6. IPV6INIT=yes
  7. IPV6_AUTOCONF=yes
  8. IPV6_DEFROUTE=yes
  9. IPV6_FAILURE_FATAL=no
  10. NAME=enp0s3
  11. UUID=1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p
  12. DEVICE=enp0s3
  13. ONBOOT=yes
复制代码

修改配置文件后,需要重启网络服务使更改生效:
  1. sudo systemctl restart network
复制代码

或者,您可以重启特定的网络接口:
  1. sudo ifdown enp0s3
  2. sudo ifup enp0s3
复制代码

使用nmcli命令行工具

nmcli是NetworkManager的命令行工具,它提供了一种快速、方便的方式来配置网络连接。

首先,查看可用的网络连接:
  1. nmcli connection show
复制代码

输出可能类似于:
  1. NAME    UUID                                  TYPE      DEVICE
  2. enp0s3  1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p  ethernet  enp0s3
复制代码

查看网络接口的详细状态:
  1. nmcli device status
复制代码

输出可能类似于:
  1. DEVICE      TYPE      STATE      CONNECTION
  2. enp0s3      ethernet  connected  enp0s3      
  3. lo          loopback  unmanaged  --
复制代码

使用nmcli配置静态IP地址:
  1. sudo nmcli connection modify enp0s3 ipv4.addresses 192.168.1.100/24
  2. sudo nmcli connection modify enp0s3 ipv4.gateway 192.168.1.1
  3. sudo nmcli connection modify enp0s3 ipv4.dns "8.8.8.8 8.8.4.4"
  4. sudo nmcli connection modify enp0s3 ipv4.method manual
复制代码

然后重启连接使更改生效:
  1. sudo nmcli connection down enp0s3 && sudo nmcli connection up enp0s3
复制代码

使用nmcli配置DHCP:
  1. sudo nmcli connection modify enp0s3 ipv4.method auto
复制代码

然后重启连接:
  1. sudo nmcli connection down enp0s3 && sudo nmcli connection up enp0s3
复制代码

添加一个新的有线连接:
  1. sudo nmcli connection add type ethernet ifname enp0s4 con-name enp0s4
复制代码

删除现有的网络连接:
  1. sudo nmcli connection delete enp0s4
复制代码

使用nmtui文本界面工具

nmtui是一个基于文本的用户界面,为那些不喜欢纯命令行但又没有图形界面的用户提供了一个友好的网络配置工具。

启动nmtui:
  1. sudo nmtui
复制代码

在nmtui界面中,您可以使用键盘箭头键导航,Enter键选择,Tab键切换选项。

nmtui提供了三个主要选项:

1. “编辑连接” - 允许您修改现有连接或添加新连接
2. “激活连接” - 允许您激活或停用连接
3. “设置系统主机名” - 允许您更改系统主机名

选择”编辑连接”,然后选择您要配置的网络接口,您可以设置IP地址、网关、DNS服务器等。

常见网络配置场景

配置静态IP地址

静态IP地址通常用于服务器,因为它确保了系统始终使用相同的IP地址,便于其他设备和用户访问。
  1. # 查看当前连接
  2. nmcli connection show
  3. # 修改连接为静态IP
  4. sudo nmcli connection modify enp0s3 ipv4.addresses 192.168.1.100/24
  5. sudo nmcli connection modify enp0s3 ipv4.gateway 192.168.1.1
  6. sudo nmcli connection modify enp0s3 ipv4.dns "8.8.8.8 8.8.4.4"
  7. sudo nmcli connection modify enp0s3 ipv4.method manual
  8. # 重启连接
  9. sudo nmcli connection down enp0s3 && sudo nmcli connection up enp0s3
复制代码

编辑/etc/sysconfig/network-scripts/ifcfg-enp0s3文件:
  1. sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
复制代码

添加或修改以下内容:
  1. TYPE=Ethernet
  2. BOOTPROTO=none
  3. DEFROUTE=yes
  4. IPV4_FAILURE_FATAL=no
  5. IPV6INIT=yes
  6. IPV6_AUTOCONF=yes
  7. IPV6_DEFROUTE=yes
  8. IPV6_FAILURE_FATAL=no
  9. NAME=enp0s3
  10. UUID=1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p
  11. DEVICE=enp0s3
  12. ONBOOT=yes
  13. IPADDR=192.168.1.100
  14. PREFIX=24
  15. GATEWAY=192.168.1.1
  16. DNS1=8.8.8.8
  17. DNS2=8.8.4.4
  18. DOMAIN=example.com
复制代码

保存文件并重启网络服务:
  1. sudo systemctl restart network
复制代码

配置DHCP客户端

DHCP(动态主机配置协议)允许系统自动从DHCP服务器获取IP地址、子网掩码、网关和DNS服务器信息。
  1. # 设置连接为DHCP
  2. sudo nmcli connection modify enp0s3 ipv4.method auto
  3. # 重启连接
  4. sudo nmcli connection down enp0s3 && sudo nmcli connection up enp0s3
复制代码

编辑/etc/sysconfig/network-scripts/ifcfg-enp0s3文件:
  1. sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
复制代码

添加或修改以下内容:
  1. TYPE=Ethernet
  2. BOOTPROTO=dhcp
  3. DEFROUTE=yes
  4. IPV4_FAILURE_FATAL=no
  5. IPV6INIT=yes
  6. IPV6_AUTOCONF=yes
  7. IPV6_DEFROUTE=yes
  8. IPV6_FAILURE_FATAL=no
  9. NAME=enp0s3
  10. UUID=1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p
  11. DEVICE=enp0s3
  12. ONBOOT=yes
复制代码

保存文件并重启网络服务:
  1. sudo systemctl restart network
复制代码

配置DNS服务器

DNS(域名系统)服务器将域名转换为IP地址,是网络访问的关键组件。
  1. # 添加DNS服务器
  2. sudo nmcli connection modify enp0s3 ipv4.dns "8.8.8.8 8.8.4.4"
  3. # 重启连接
  4. sudo nmcli connection down enp0s3 && sudo nmcli connection up enp0s3
复制代码

编辑/etc/sysconfig/network-scripts/ifcfg-enp0s3文件:
  1. sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
复制代码

添加或修改以下内容:
  1. DNS1=8.8.8.8
  2. DNS2=8.8.4.4
  3. DOMAIN=example.com
复制代码

保存文件并重启网络服务:
  1. sudo systemctl restart network
复制代码

在某些情况下,您可能需要直接修改/etc/resolv.conf文件:
  1. sudo vi /etc/resolv.conf
复制代码

添加或修改以下内容:
  1. nameserver 8.8.8.8
  2. nameserver 8.8.4.4
  3. search example.com
复制代码

注意:直接修改/etc/resolv.conf文件可能在系统重启后被NetworkManager覆盖。要使更改永久生效,最好使用nmcli或修改网络接口配置文件。

配置网络路由

路由决定了数据包如何从源地址到达目的地址。在大多数情况下,默认网关就足够了,但在某些复杂网络环境中,您可能需要配置静态路由。
  1. ip route show
复制代码

或使用传统命令:
  1. route -n
复制代码

使用ip route命令添加静态路由:
  1. sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev enp0s3
复制代码

使用route命令添加静态路由:
  1. sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
复制代码

要使路由在系统重启后仍然存在,您需要创建一个路由配置文件。

创建/etc/sysconfig/network-scripts/route-enp0s3文件:
  1. sudo vi /etc/sysconfig/network-scripts/route-enp0s3
复制代码

添加以下内容:
  1. 192.168.2.0/24 via 192.168.1.1 dev enp0s3
复制代码

或者使用传统格式:
  1. ADDRESS0=192.168.2.0
  2. NETMASK0=255.255.255.0
  3. GATEWAY0=192.168.1.1
复制代码

保存文件并重启网络服务:
  1. sudo systemctl restart network
复制代码
  1. # 添加静态路由
  2. sudo nmcli connection modify enp0s3 +ipv4.routes "192.168.2.0/24 192.168.1.1"
  3. # 重启连接
  4. sudo nmcli connection down enp0s3 && sudo nmcli connection up enp0s3
复制代码

配置主机名

主机名是网络上标识系统的名称。Rocky Linux允许您配置静态、瞬态或漂亮的主机名。
  1. hostnamectl
复制代码
  1. sudo hostnamectl set-hostname server1.example.com
复制代码
  1. sudo hostnamectl set-hostname "My Server" --pretty
复制代码

为了确保系统能够正确解析自己的主机名,您应该编辑/etc/hosts文件:
  1. sudo vi /etc/hosts
复制代码

添加或修改以下内容:
  1. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  2. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 192.168.1.100 server1.example.com server1
复制代码

网络故障排除

网络问题是系统管理员经常面临的挑战。以下是一些常用的网络诊断命令和常见问题的解决方案。

常用网络诊断命令

ping命令用于测试网络连接性:
  1. ping 8.8.8.8
  2. ping www.google.com
复制代码

traceroute命令用于跟踪数据包到目标主机的路径:
  1. traceroute 8.8.8.8
  2. traceroute www.google.com
复制代码

tracepath是traceroute的替代品,不需要特权:
  1. tracepath 8.8.8.8
  2. tracepath www.google.com
复制代码

netstat命令用于显示网络连接、路由表、接口统计等:
  1. # 显示所有TCP连接
  2. netstat -t
  3. # 显示所有UDP连接
  4. netstat -u
  5. # 显示所有监听端口
  6. netstat -l
  7. # 显示所有连接的PID和程序名称
  8. netstat -p
  9. # 显示路由表
  10. netstat -r
  11. # 显示网络接口统计
  12. netstat -i
复制代码

ss是netstat的现代替代品,更快速、更高效:
  1. # 显示所有TCP连接
  2. ss -t
  3. # 显示所有UDP连接
  4. ss -u
  5. # 显示所有监听端口
  6. ss -l
  7. # 显示所有连接的PID和程序名称
  8. ss -p
  9. # 显示路由表
  10. ss -r
  11. # 显示网络接口统计
  12. ss -i
复制代码

ip命令是现代Linux系统中用于显示和操作路由、网络设备、策略路由和隧道的强大工具:
  1. # 显示网络接口信息
  2. ip addr show
  3. # 显示路由表
  4. ip route show
  5. # 显示邻居表
  6. ip neigh show
  7. # 显示网络统计
  8. ip -s link show
复制代码

dig命令用于DNS查询:
  1. dig www.google.com
  2. dig example.com MX
  3. dig example.com NS
复制代码

nslookup是另一个DNS查询工具:
  1. nslookup www.google.com
  2. nslookup
  3. > server 8.8.8.8
  4. > www.google.com
  5. > exit
复制代码

常见问题及解决方案

症状:无法访问任何网络资源,ping外部IP地址失败。

解决方案:

1. 检查网络接口状态:
  1. ip link show
复制代码

确保接口处于UP状态。如果不是,启用它:
  1. sudo ip link set enp0s3 up
复制代码

1. 检查IP地址配置:
  1. ip addr show
复制代码

确保接口有正确的IP地址配置。

1. 检查路由表:
  1. ip route show
复制代码

确保有默认路由。

1. 检查DNS配置:
  1. cat /etc/resolv.conf
复制代码

确保有正确的DNS服务器配置。

1. 检查网络连接:
  1. ping 8.8.8.8
  2. ping www.google.com
复制代码

如果可以ping通IP地址但无法ping通域名,则可能是DNS问题。

症状:可以访问大多数网络资源,但无法访问特定的网站或服务。

解决方案:

1. 使用traceroute跟踪路径:
  1. traceroute www.example.com
复制代码

查看数据包在哪里被阻止。

1. 检查防火墙规则:
  1. sudo firewall-cmd --list-all
复制代码

确保没有阻止到特定网站或服务的连接。

1. 检查本地服务是否运行:
  1. sudo systemctl status httpd
  2. sudo systemctl status nginx
复制代码

确保相关服务正在运行。

1. 检查服务监听端口:
  1. sudo ss -tulpn | grep :80
  2. sudo ss -tulpn | grep :443
复制代码

确保服务正在正确的端口上监听。

症状:无法通过域名访问网站,但可以通过IP地址访问。

解决方案:

1. 检查DNS配置:
  1. cat /etc/resolv.conf
复制代码

确保有正确的DNS服务器配置。

1. 测试DNS解析:
  1. dig www.google.com
  2. nslookup www.google.com
复制代码

查看DNS解析是否正常工作。

1. 尝试使用不同的DNS服务器:
  1. dig @8.8.8.8 www.google.com
  2. dig @1.1.1.1 www.google.com
复制代码

1. 检查/etc/hosts文件:
  1. cat /etc/hosts
复制代码

确保没有错误的条目。

1. 重启网络服务:
  1. sudo systemctl restart NetworkManager
复制代码


  1. sudo systemctl restart network
复制代码

症状:网络连接正常,但速度很慢。

解决方案:

1. 检查网络接口统计:
  1. ip -s link show
复制代码

查看是否有错误或丢包。

1. 测试网络速度:
  1. ping -c 10 8.8.8.8
复制代码

查看延迟和丢包情况。

1. 检查网络带宽:
  1. sudo ethtool enp0s3
复制代码

查看接口速度和双工模式设置。

1. 检查系统资源使用情况:
  1. top
  2. htop
复制代码

查看是否有进程占用过多网络带宽。

1. 检查路由表:
  1. ip route show
  2. traceroute www.google.com
复制代码

查看是否有次优路由。

高级网络配置

除了基本的网络配置,Rocky Linux还支持各种高级网络配置,如网络绑定、VLAN和网络桥接。

配置网络绑定(Bonding)

网络绑定(也称为链路聚合或端口绑定)允许您将多个网络接口组合成一个逻辑接口,以提高带宽和冗余性。

1. 安装绑定工具(如果尚未安装):
  1. sudo dnf install -y bonding-utils
复制代码

1. 创建绑定配置文件:
  1. sudo vi /etc/sysconfig/network-scripts/ifcfg-bond0
复制代码

添加以下内容:
  1. DEVICE=bond0
  2. NAME=bond0
  3. TYPE=Bond
  4. BONDING_MASTER=yes
  5. IPADDR=192.168.1.100
  6. PREFIX=24
  7. GATEWAY=192.168.1.1
  8. DNS1=8.8.8.8
  9. DNS2=8.8.4.4
  10. ONBOOT=yes
  11. BONDING_OPTS="mode=4 miimon=100"
复制代码

1. 配置从接口:

编辑第一个从接口:
  1. sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
复制代码

添加以下内容:
  1. DEVICE=enp0s3
  2. NAME=enp0s3
  3. TYPE=Ethernet
  4. BOOTPROTO=none
  5. ONBOOT=yes
  6. MASTER=bond0
  7. SLAVE=yes
复制代码

编辑第二个从接口:
  1. sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s4
复制代码

添加以下内容:
  1. DEVICE=enp0s4
  2. NAME=enp0s4
  3. TYPE=Ethernet
  4. BOOTPROTO=none
  5. ONBOOT=yes
  6. MASTER=bond0
  7. SLAVE=yes
复制代码

1. 重启网络服务:
  1. sudo systemctl restart network
复制代码

1. 验证绑定配置:
  1. cat /proc/net/bonding/bond0
  2. ip link show
复制代码

1. 创建绑定接口:
  1. sudo nmcli connection add type bond ifname bond0 con-name bond0 bond4.mode 4 bond4.miimon 100
复制代码

1. 配置绑定接口的IP地址:
  1. sudo nmcli connection modify bond0 ipv4.addresses 192.168.1.100/24
  2. sudo nmcli connection modify bond0 ipv4.gateway 192.168.1.1
  3. sudo nmcli connection modify bond0 ipv4.dns "8.8.8.8 8.8.4.4"
  4. sudo nmcli connection modify bond0 ipv4.method manual
复制代码

1. 添加从接口:
  1. sudo nmcli connection add type ethernet ifname enp0s3 con-name enp0s3 master bond0 slave-type bond
  2. sudo nmcli connection add type ethernet ifname enp0s4 con-name enp0s4 master bond0 slave-type bond
复制代码

1. 激活连接:
  1. sudo nmcli connection up bond0
复制代码

1. 验证绑定配置:
  1. cat /proc/net/bonding/bond0
  2. nmcli connection show
复制代码

配置VLAN

VLAN(虚拟局域网)允许您在物理网络上创建逻辑分段,提高网络安全性和性能。

1. 创建VLAN接口配置文件:
  1. sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.100
复制代码

添加以下内容:
  1. DEVICE=enp0s3.100
  2. NAME=enp0s3.100
  3. TYPE=Vlan
  4. VLAN=yes
  5. PHYSDEV=enp0s3
  6. VLAN_ID=100
  7. REORDER_HDR=yes
  8. GVRP=no
  9. MVRP=no
  10. HOTPLUG=no
  11. BOOTPROTO=none
  12. ONBOOT=yes
  13. IPADDR=192.168.100.10
  14. PREFIX=24
  15. GATEWAY=192.168.100.1
  16. DNS1=8.8.8.8
  17. DNS2=8.8.4.4
复制代码

1. 重启网络服务:
  1. sudo systemctl restart network
复制代码

1. 验证VLAN配置:
  1. ip -d link show enp0s3.100
复制代码

1. 创建VLAN连接:
  1. sudo nmcli connection add type vlan ifname enp0s3.100 dev enp0s3 id 100 con-name vlan100
复制代码

1. 配置VLAN接口的IP地址:
  1. sudo nmcli connection modify vlan100 ipv4.addresses 192.168.100.10/24
  2. sudo nmcli connection modify vlan100 ipv4.gateway 192.168.100.1
  3. sudo nmcli connection modify vlan100 ipv4.dns "8.8.8.8 8.8.4.4"
  4. sudo nmcli connection modify vlan100 ipv4.method manual
复制代码

1. 激活连接:
  1. sudo nmcli connection up vlan100
复制代码

1. 验证VLAN配置:
  1. nmcli connection show vlan100
  2. ip -d link show enp0s3.100
复制代码

配置网络桥接

网络桥接允许您将多个网络接口连接在一起,使它们在数据链路层上表现得像一个网络接口。这在虚拟化环境中特别有用,允许虚拟机直接连接到物理网络。

1. 安装桥接工具(如果尚未安装):
  1. sudo dnf install -y bridge-utils
复制代码

1. 创建桥接接口配置文件:
  1. sudo vi /etc/sysconfig/network-scripts/ifcfg-br0
复制代码

添加以下内容:
  1. DEVICE=br0
  2. NAME=br0
  3. TYPE=Bridge
  4. BOOTPROTO=none
  5. IPADDR=192.168.1.100
  6. PREFIX=24
  7. GATEWAY=192.168.1.1
  8. DNS1=8.8.8.8
  9. DNS2=8.8.4.4
  10. ONBOOT=yes
  11. DELAY=0
  12. STP=no
复制代码

1. 配置物理接口作为桥接端口:
  1. sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
复制代码

添加以下内容:
  1. DEVICE=enp0s3
  2. NAME=enp0s3
  3. TYPE=Ethernet
  4. BOOTPROTO=none
  5. ONBOOT=yes
  6. BRIDGE=br0
复制代码

1. 重启网络服务:
  1. sudo systemctl restart network
复制代码

1. 验证桥接配置:
  1. brctl show
  2. ip link show
复制代码

1. 创建桥接接口:
  1. sudo nmcli connection add type bridge ifname br0 con-name br0
复制代码

1. 配置桥接接口的IP地址:
  1. sudo nmcli connection modify br0 ipv4.addresses 192.168.1.100/24
  2. sudo nmcli connection modify br0 ipv4.gateway 192.168.1.1
  3. sudo nmcli connection modify br0 ipv4.dns "8.8.8.8 8.8.4.4"
  4. sudo nmcli connection modify br0 ipv4.method manual
复制代码

1. 添加物理接口到桥接:
  1. sudo nmcli connection add type ethernet ifname enp0s3 con-name enp0s3 master br0 slave-type bridge
复制代码

1. 激活连接:
  1. sudo nmcli connection up br0
复制代码

1. 验证桥接配置:
  1. brctl show
  2. nmcli connection show
复制代码

安全考虑

网络配置不仅仅是关于连接性,还涉及安全性。以下是一些保护Rocky Linux网络连接的最佳实践。

防火墙配置

Rocky Linux使用firewalld作为默认的防火墙管理工具。firewalld提供了一个动态管理的防火墙,支持网络/防火墙区域定义,以及简单的服务配置。

1. 检查firewalld状态:
  1. sudo firewall-cmd --state
复制代码

1. 启动并启用firewalld:
  1. sudo systemctl start firewalld
  2. sudo systemctl enable firewalld
复制代码

1. 查看当前活动的区域:
  1. sudo firewall-cmd --get-active-zones
复制代码

1. 查看默认区域:
  1. sudo firewall-cmd --get-default-zone
复制代码

1. 查看特定区域的配置:
  1. sudo firewall-cmd --zone=public --list-all
复制代码

1. 开放端口:
  1. sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
  2. sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
复制代码

1. 开放服务:
  1. sudo firewall-cmd --zone=public --add-service=http --permanent
  2. sudo firewall-cmd --zone=public --add-service=https --permanent
复制代码

1. 重新加载防火墙配置:
  1. sudo firewall-cmd --reload
复制代码

1. 阻止特定IP地址:
  1. sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
  2. sudo firewall-cmd --reload
复制代码

1. 允许特定IP地址访问特定端口:
  1. sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
  2. sudo firewall-cmd --reload
复制代码

1. 列出所有可用区域:
  1. sudo firewall-cmd --get-zones
复制代码

1. 更改默认区域:
  1. sudo firewall-cmd --set-default-zone=internal
复制代码

1. 将接口分配给特定区域:
  1. sudo firewall-cmd --zone=public --change-interface=enp0s3
复制代码

1. 创建自定义区域:
  1. sudo firewall-cmd --permanent --new-zone=myzone
  2. sudo firewall-cmd --reload
复制代码

网络安全最佳实践

1. 禁用不必要的服务:
  1. sudo systemctl list-unit-files | grep enabled
  2. sudo systemctl disable telnet.socket
  3. sudo systemctl disable rsh.socket
复制代码

1. 使用SSH密钥认证:
  1. ssh-keygen -t rsa -b 4096
  2. ssh-copy-id username@remote_host
复制代码

然后编辑/etc/ssh/sshd_config文件,禁用密码认证:
  1. PasswordAuthentication no
复制代码

重启SSH服务:
  1. sudo systemctl restart sshd
复制代码

1. 配置TCP Wrappers:

编辑/etc/hosts.allow文件,允许特定主机访问服务:
  1. sshd: 192.168.1.0/24
  2. sshd: 10.0.0.1
复制代码

编辑/etc/hosts.deny文件,拒绝所有其他主机:
  1. sshd: ALL
复制代码

1. 禁用IP转发(如果不是路由器):

编辑/etc/sysctl.conf文件:
  1. net.ipv4.ip_forward = 0
复制代码

应用更改:
  1. sudo sysctl -p
复制代码

1. 启用SYN保护:

编辑/etc/sysctl.conf文件:
  1. net.ipv4.tcp_syncookies = 1
  2. net.ipv4.tcp_max_syn_backlog = 2048
  3. net.ipv4.tcp_synack_retries = 2
  4. net.ipv4.tcp_syn_retries = 5
复制代码

应用更改:
  1. sudo sysctl -p
复制代码

1. 定期更新系统:
  1. sudo dnf update -y
复制代码

1. 使用fail2ban防止暴力破解:

安装fail2ban:
  1. sudo dnf install -y fail2ban
复制代码

启动并启用fail2ban:
  1. sudo systemctl start fail2ban
  2. sudo systemctl enable fail2ban
复制代码

配置fail2ban:
  1. sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  2. sudo vi /etc/fail2ban/jail.local
复制代码

编辑SSH保护设置:
  1. [sshd]
  2. enabled = true
  3. port = ssh
  4. filter = sshd
  5. logpath = /var/log/secure
  6. maxretry = 3
  7. bantime = 3600
复制代码

重启fail2ban:
  1. sudo systemctl restart fail2ban
复制代码

总结

本教程详细介绍了Rocky Linux网络配置和管理的各个方面,从基础概念到高级配置。我们学习了如何使用NetworkManager、传统配置文件、nmcli和nmtui等工具配置网络连接,包括静态IP、DHCP、DNS、路由和主机名设置。

我们还探讨了常见网络问题的故障排除方法,以及如何配置高级网络功能,如网络绑定、VLAN和网络桥接。最后,我们讨论了网络安全最佳实践,包括防火墙配置和其他安全措施。

通过掌握这些知识和技能,您将能够有效地配置和管理Rocky Linux系统的网络连接,确保系统的网络通信既高效又安全。无论您是管理单个服务器还是复杂的企业网络环境,这些技术都将为您提供坚实的基础。

随着您对Rocky Linux网络管理的经验增长,您可能会遇到更复杂的网络场景和挑战。继续学习和实践,探索更高级的网络功能和工具,将帮助您成为一名更加熟练和自信的系统管理员。
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

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

本版积分规则