5154

Good Luck To You!

centos7下firewalld防火墙如何正确开放指定端口?

CentOS 7 作为一款广受欢迎的企业级 Linux 发行版,以其稳定性和可靠性著称,掌握其基本的管理操作是每一位系统管理员的必备技能,本文将围绕几个核心主题,详细介绍在 CentOS 7 环境下如何进行常见的关键配置与管理。

centos7下firewalld防火墙如何正确开放指定端口?

网络配置

网络是服务器与外界沟通的桥梁,在 CentOS 7 中,配置网络主要有两种方式:图形化文本界面(nmtui)和修改配置文件。

对于初学者,nmtui(NetworkManager Text User Interface)提供了一个直观的交互式界面,在终端中直接输入 nmtui 命令即可启动,通过方向键和回车键,可以轻松地“编辑连接”、“激活连接”或“更改系统主机名”,选择“编辑连接”后,可以选中对应的网卡(如 ens33),手动配置 IP 地址、子网掩码、网关和 DNS 服务器。

对于需要自动化或脚本化管理的场景,直接编辑配置文件更为高效,网卡配置文件通常位于 /etc/sysconfig/network-scripts/ 目录下,文件名格式为 ifcfg-<网卡名称>ifcfg-ens33,一个典型的静态 IP 配置文件内容如下:

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114

修改完成后,保存文件并执行 systemctl restart network 命令使配置生效。

防火墙管理

CentOS 7 默认使用 firewalld 作为防火墙管理工具,它取代了以往的 iptablesfirewalld 使用“区域”和“服务”的概念来管理网络规则,更加灵活。

firewalld 将网络连接划分为不同的信任级别,即区域(Zone),如 public(公共区域)、trusted(信任区域)等,默认情况下,网卡属于 public 区域,管理防火墙规则主要通过 firewall-cmd 命令。

以下是一些常用的防火墙操作命令:

centos7下firewalld防火墙如何正确开放指定端口?

功能描述 命令示例
查看防火墙状态 firewall-cmd --state
查看当前活动的区域 firewall-cmd --get-active-zones
永久开放一个服务(如HTTP) firewall-cmd --zone=public --add-service=http --permanent
永久开放一个TCP端口(如8080) firewall-cmd --zone=public --add-port=8080/tcp --permanent
重新加载防火墙配置(使永久规则生效) firewall-cmd --reload
查看已开放的端口和服务 firewall-cmd --zone=public --list-all

使用 --permanent 选项表示规则永久生效,但需要执行 firewall-cmd --reload 后才会立即加载。

系统更新与软件安装

保持系统最新是确保安全的关键,CentOS 7 使用 yum(Yellowdog Updater Modified)作为软件包管理器。

更新系统中所有已安装的软件包,可以执行: yum update -y 这里的 -y 参数会自动回答所有提示为“是”。

安装一个软件包,vim 编辑器,可以使用: yum install vim -y

有时,官方源可能不包含某些常用软件,这时可以启用 EPEL(Extra Packages for Enterprise Linux)仓库,它提供了许多额外的软件包,安装命令如下: yum install epel-release -y 安装 EPEL 后,就可以通过 yum 安装更多来自该仓库的软件了。

服务管理

在 CentOS 7 中,systemd 是初始化系统和服务管理器,systemctl 是与之交互的主要命令,它负责启动、停止、重启服务,并管理服务的开机自启状态。

以下表格列出了管理服务(以 sshd 服务为例)的常用命令:

centos7下firewalld防火墙如何正确开放指定端口?

功能描述 命令示例
启动服务 systemctl start sshd
停止服务 systemctl stop sshd
重启服务 systemctl restart sshd
设置服务开机自启 systemctl enable sshd
禁止服务开机自启 systemctl disable sshd
查看服务状态 systemctl status sshd

通过 systemctl status 命令,可以清晰地看到服务是否正在运行、是否已设置开机自启以及最近的日志信息。


相关问答FAQs

Q1: 如何修改CentOS 7的主机名?

A: 修改主机名有多种方法,推荐使用 hostnamectl 命令,它会立即生效并持久保存,要将主机名修改为 web-server-01,可以执行: hostnamectl set-hostname web-server-01 执行后,重新登录终端或重启系统即可看到新的主机名,也可以通过编辑 /etc/hostname 文件来修改,但需要重启才能完全生效。

Q2: 如果忘记了root密码,如何重置?

A: 可以通过进入单用户模式来重置 root 密码,步骤如下:

  1. 重启服务器,在 GRUB 引导菜单出现时,按 e 键进入编辑模式。
  2. 找到以 linux16linuxefi 开头的行,将光标移动到该行末尾。
  3. 修改 ro(只读)为 rw(读写),并在此行末尾添加 init=/bin/bash
  4. Ctrl + X 启动系统,系统将进入单用户模式的 shell。
  5. 执行 passwd 命令,根据提示输入新的 root 密码。
  6. 由于系统启用了 SELinux,需要执行 touch /.autorelabel 命令来标记文件系统,让系统在重启时重新标记 SELinux 上下文,否则可能无法正常登录。
  7. 最后执行 exec /sbin/initreboot -f 命令重启系统,之后即可使用新密码登录。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.