Linux 基本防火墙设置和开放端口命令

本文详细介绍了在CentOS7及之前版本中通过iptables以及在CentOS7及之后版本中通过firewall工具进行防火墙配置的方法。包括如何开启、关闭防火墙服务,如何永久开放端口等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关闭防火墙

  1. CentOS 7、RedHat 7 之前的 Linux 发行版防火墙开启和关闭( iptables ):
    • 即时生效,重启失效
    #开启
    service iptables start
    #关闭
    service iptables stop
    • 重启生效
    chkconfig iptables on
    #关闭
    chkconfig iptables off
  2. CentOS 7、RedHat 7 之后的 Linux 发行版防火墙开启和关闭( firewall )

    systemctl stop firewalld.service

开放端口

  1. CentOS 7、RedHat 7 之前的 Linux 发行版开放端口:

    ```
    #命令方式开放5212端口命令

    #开启5212端口接收数据
    /sbin/iptables -I INPUT -p tcp --dport 5212 -j ACCEPT

    #开启5212端口发送数据
    /sbin/iptables -I OUTPUT -p tcp --dport 5212 -j ACCEPT

    #保存配置
    /etc/rc.d/init.d/iptables save

    #重启防火墙服务
    /etc/rc.d/init.d/iptables restart

    #查看是否开启成功
    /etc/init.d/iptables status

  2. CentOS 7、RedHat 7 之后的 Linux 发行版开放端口:
    firewall-cmd --zone=public --add-port=5121/tcp --permanent # --zone 作用域 # --add-port=5121/tcp 添加端口,格式为:端口/通讯协议 # --permanent 永久生效,没有此参数重启后失效

使用iptables

  1. iptables 的安装
  • 系统默认使用 firewall 作为防火墙,把他停止和屏蔽,并且装一个iptable【CentOs 7 】

    systemctl stop firewalld
    systemctl mask firewalld
    yum install -y iptables
    yum install iptables-services
  • 升级iptables

    yum update iptables
    yum update iptables-services
  • 解除禁止 iptables 服务

    systemctl enable iptables
  • 开启服务

    systemctl start iptables.service
  • 配置 /etc/sysconfig 下的 iptables 文件[vim /etc/sysconfig/iptables]

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
  • 重启防火墙使配置生效

    systemctl restart iptables.service
    
  • 设置防火墙为开机启动

    systemctl enable iptabls.service
  • 检查是否安装了 iptables

    service iptables status
  • 其它命令

    systemctl start iptables //开启/暂停服务
    systemctl stop iptables //
    
    systemctl disable iptables //禁止/解除禁止 iptables 服务
    systemctl enable iptables

转载于:https://www.cnblogs.com/jjxhp/p/11111898.html

<think>好的,我需要帮助用户找到在Linux系统中查看防火墙开放端口命令。首先,我需要回忆一下用户提供的引用内容,里面有关于firewalldiptables的相关信息。用户特别提到了查看开放端口,所以应该集中在那些命令上。 引用[3][4]提到了使用firewall-cmd工具的命令。比如,firewall-cmd --zone=public --list-ports可以列出所有开放端口。另外,引用[4]还提到可以用firewall-cmd --query-port=端口号/tcp来检查特定端口是否开放。这些应该是最直接的命令。 用户可能使用的是firewalld,因为现在很多Linux发行版默认用它代替了iptables。不过为了全面,也应该提到iptables的情况,比如iptables -L -n可以查看规则,但需要sudo权限。不过用户的问题更偏向于查看开放端口,所以重点放在firewall-cmd上。 还需要注意是否需要开启或重启防火墙服务,比如systemctl status firewalld查看状态,确保防火墙正在运行。如果用户遇到问题,可能需要先启动防火墙,但用户的问题主要是查看已经开放端口,所以列出相关命令即可。 最后,整理步骤:先确认防火墙状态,然后使用firewall-cmd列出端口,或者用iptables查看规则。同时,提供检查特定端口重新加载配置的命令作为补充。这样用户可以根据自己的系统配置选择合适的方法。</think>在Linux系统中查看防火墙开放端口命令取决于使用的防火墙管理工具,常见的有`firewalld`(如CentOS/RHEL)`iptables`。以下是具体操作步骤: --- ### **1. 使用 firewalld 查看开放端口** #### 步骤1:确认防火墙状态 ```bash systemctl status firewalld # 查看防火墙运行状态[^2] ``` 若状态为`inactive`,需先启动防火墙: ```bash systemctl start firewalld # 启动防火墙[^2] ``` #### 步骤2:查看已开放端口 ```bash firewall-cmd --zone=public --list-ports # 列出所有开放端口[^3] ``` 或检查特定端口是否开放(如6379): ```bash firewall-cmd --query-port=6379/tcp # 返回yes/no表示端口状态[^4] ``` #### 步骤3(可选):重新加载配置 ```bash firewall-cmd --reload # 更新防火墙规则[^3] ``` --- ### **2. 使用 iptables 查看开放端口** 若系统使用`iptables`,执行以下命令: ```bash iptables -L -n --line-numbers # 列出所有规则,包含端口信息[^1] ``` 重点关注`ACCEPT`规则对应的端口。 --- ### **关键命令对比** | 工具 | 命令 | 功能 | |------------|--------------------------------------|--------------------------| | firewalld | `firewall-cmd --list-ports` | 列出开放端口[^3] | | firewalld | `firewall-cmd --query-port=端口/tcp` | 检查特定端口[^4] | | iptables | `iptables -L -n` | 查看所有防火墙规则[^1] | --- ### **注意事项** 1. 操作防火墙需`root`权限,可通过`sudo`执行。 2. 端口开放后需确保服务已监听该端口,可通过`netstat -tuln`验证。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值