如何在 Linux 中打开端口

2023-11-15

在 Linux 操作系统中,端口是用于通过网络发送或接收数据的通信端点。网络端口由数字标识,每个端口号与特定类型的网络服务相关联。例如,端口 80 用于 HTTP 流量,端口 21 用于 FTP,端口 25 用于电子邮件。

为了建立网络连接,您需要在 Linux 系统上打开一个端口。有多种方法可以执行此操作,包括使用内置防火墙程序防火墙D, UFW, and iptables。这些方法中的每一种都有其各自的优点和缺点,在本文中,我们将讨论如何使用每种方法在 Linux 中打开端口。

检查系统上的监听端口

您可以使用`ss` or `netstat`命令行实用程序列出本地系统上侦听的所有端口。

ss -tuln 

此命令将列出您计算机上侦听的所有端口以及连接到该端口的套接字。您可以使用以下命令过滤监听端口。

ss -tuln | grep "LISTEN" 

您将看到如下输出:


Output
tcp LISTEN 0 5 127.0.0.1:631 0.0.0.0:* tcp LISTEN 0 100 0.0.0.0:25 0.0.0.0:* tcp LISTEN 0 100 0.0.0.0:143 0.0.0.0:* tcp LISTEN 0 4096 0.0.0.0:111 0.0.0.0:* tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* tcp LISTEN 0 5 [::1]:631 [::]:* tcp LISTEN 0 100 [::]:25 [::]:* tcp LISTEN 0 511 *:443 *:* tcp LISTEN 0 70 *:33060 *:* tcp LISTEN 0 151 *:3306 *:* tcp LISTEN 0 511 *:80 *:* tcp LISTEN 0 128 [::]:22 [::]:*

使用 FirewallD 打开端口:

FirewallD 是一个防火墙管理工具,包含在许多流行的 Linux 发行版中,包括 CentOS、Fedora 和 Red Hat Enterprise Linux。它提供了一个简单易用的界面来配置系统上的防火墙规则。

  • 列出服务:要使用 FirewallD 打开端口,您首先需要检查您要允许的服务是否在预定义服务列表中列出。您可以通过运行以下命令来执行此操作:
    firewall-cmd --get-services 
    

    这将显示 FirewallD 支持的所有预定义服务的列表。

  • Open Port by Service Name: If the service you want to allow is listed, you can open the port by running the following command:
    1
    2
    # Syntax
    firewall-cmd --永恒的 --add-service=服务名称

    将“service_name”替换为您要允许的服务的名称。例如,要打开 HTTP 流量的端口 80,您可以运行以下命令:

    firewall-cmd --permanent --add-service=http 
    
  • Open Port by Number: If the service you want to allow is not listed in the predefined service list, you can open a specific port by running the following command:
    1
    2
    # Syntax
    firewall-cmd --永恒的 --add-port=端口号/protocol

    Replace “端口号”以及您要打开的端口号,以及“协议”与服务使用的协议(“tcp”或“udp”)。例如,要使用 TCP 协议为 HTTP 流量打开端口 8080,您可以运行以下命令:

    firewall-cmd --permanent --add-port=8080/tcp 
    

保存防火墙规则:添加必要的防火墙规则后,您需要重新加载防火墙以应用更改。您可以通过运行以下命令来执行此操作:

firewall-cmd --reload 

使用 UFW 打开端口:

UFW(Uncomplicated Firewall)是一种防火墙管理工具,包含在许多流行的 Linux 发行版中,包括 Ubuntu 和 Linux Mint。它提供了一个简单易用的界面来配置系统上的防火墙规则。

  • 列出服务:要使用 UFW 打开端口,您首先需要检查您要允许的服务是否在预定义服务列表中列出。您可以通过运行以下命令来执行此操作:
    ufw app list 
    

    这将显示 UFW 支持的所有预定义服务的列表。

  • Open Port by Service name: If the service you want to allow is listed, you can open the port by running the following command:
    1
    2
    # Syntax
    ufw allow 服务名称

    Replace “服务名称”以及您想要允许的服务的名称。例如,要打开 HTTP 流量的端口 80,您可以运行以下命令:

    ufw allow http 
    
  • Open port by number: If the service you want to allow is not listed in the predefined service list, you can open a specific port by running the following command:
    1
    2
    # Syntax
    ufw allow 端口号/protocol

    Replace “端口号”以及您要打开的端口号,以及“协议”与服务使用的协议(“tcp”或“udp”)。例如,打开端口8080 for HTTP交通使用TCP协议,您将运行以下命令:

    ufw allow 8080/tcp 
    
  • 检查防火墙状态:添加必要的防火墙规则后,您可以通过运行以下命令检查 UFW 防火墙的状态:
    ufw status 
    

    这将显示所有活动防火墙规则的列表及其状态(或者“已启用” or “残疾人”).

您还可以使用 UFW 命令行界面启用或禁用特定规则,或将其完全删除。

使用 iptables 打开端口:

Iptables是大多数 Linux 发行版中都包含的功能强大的防火墙管理工具。它提供了多种用于在系统上配置防火墙规则的选项,但使用起来可能比 FirewallD 和 UFW 更复杂。

  • 按号码打开端口:要使用 iptables 打开端口,您需要使用“iptables”命令后跟适当的选项和参数。例如,要使用 TCP 协议为 HTTP 流量打开端口 80,您可以运行以下命令:
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
    

    此命令添加一条新的防火墙规则,允许使用 TCP 协议在端口 80 上传入流量。 “-A”选项指定规则应附加到 INPUT 链的末尾,“-j”选项指定要采取的操作(在本例中为 ACCEPT)。

  • 开放端口范围:如果你想打开一系列端口,你可以使用“-m 多端口”模块并指定以逗号分隔的端口范围。例如,打开端口80 to 90对于使用 TCP 协议的 HTTP 流量,您将运行以下命令:
    iptables -A INPUT -p tcp -m multiport --dports 80:90 -j ACCEPT 
    
  • 保存防火墙规则:添加必要的防火墙规则后,您可以通过运行以下命令保存 iptables 配置:
    service iptables save 
    

    这会将当前的防火墙配置保存到适当的配置文件中,以便每次重新启动系统时应用规则。

结论

在本文中,我们探讨了可用于在 Linux 中打开端口的三种不同工具:FirewallD、UFW 和 iptables。 FirewallD是一个防火墙管理工具,为iptables提供前端接口。它是一个用户友好的工具,可让您轻松管理防火墙规则。 UFW 是另一个用户友好的防火墙工具,可让您轻松打开和关闭端口。最后,我们研究了 iptables,这是一种更高级的工具,可以让您更好地控制防火墙。所有这三个工具都可用于在 Linux 中打开端口并允许网络流量流向特定的程序或服务。总之,选择使用哪种工具取决于您对 Linux 防火墙的熟悉程度以及您的个人喜好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Linux 中打开端口 的相关文章

随机推荐

  • 如何在 Ubuntu 18.04 LTS 上安装和配置 Apache

    本教程将帮助您在 Ubuntu 18 04 LTS Linux 操作系统上安装并保护 Apache Web 服务器 先决条件 通过 SSH 访问 Ubuntu 18 04 SUDO特权 在 Ubuntu 18 04 上安装 Apache 首
  • 如何将 Ubuntu 14.04 LTS 升级到 Ubuntu 16.04 LTS

    将 Ubuntu 14 04 LTS 升级到 Ubuntu 16 04 LTS Ubuntu 是广泛使用的 Linux 操作系统 用于桌面版和服务器版 Ubuntu 提供两种类型的发行版标准发布 and 长期支持 LTS 发布 Ubuntu
  • Bash 中单引号和双引号的区别

    Bash 是大多数 Linux 发行版中使用的 shell 它提供了多种引用字符串的方法 其中 单引号 和双引号 是最常用的 虽然它们可能看起来相似 但它们具有不同的行为 并且会影响 shell 解释字符串内容的方式 在本文中 我们将探讨
  • 如何在AWS实例中创建和添加EBS卷

    Amazon EBS 弹性块存储 提供持久块存储以与 Amazon 实例一起使用 每个 Amazon EBS 卷都提供高可用性和持久性 它能够在其可用区中自动复制 以保护您免受组件故障的影响 本文将帮助您创建 EBS 卷并将其添加到现有实例
  • 下载 CentOS 7 – DVD ISO 映像

    CentOS 是一个 Linux 操作系统 它是 Red Hat Enterprise Linux 100 兼容的重建版 用户可以免费下载并使用该企业级操作系统 CentOS 项目宣布了发行版的新更新 发布了CentOS 7 9它源自 Re
  • 如何从完整 MySQL 转储文件中提取表备份

    mysql转储是 MySQL MariaDB 提供的用于备份数据库和表的实用程序 一般来说 我们会定期对数据库进行完整转储并保留它 但有时我们需要从备份中恢复单个或 2 3 个表 那么问题是如何从完整备份文件中恢复特定的表 本文将帮助您了解
  • 如何在CentOS/RHEL 9/8中安装Nagios服务器

    Nagios 是一款开源监控软件 允许系统管理员监控服务器 应用程序和网络设备的运行状况和性能 Nagios 提供了一个用于监控 IT 基础设施的全面解决方案 并可以在潜在问题变得严重之前向管理员发出警报 在本文中 我们将介绍在 CentO
  • 在 Linux 中使用命令将用户添加到辅助组中

    次要组是用户创建后添加的组 主要组是在用户创建过程中创建的 为了权限 它们之间没有区别 本快速教程可帮助您通过命令行将现有用户添加到 Linux 中的辅助组 Example Use the usermod command line tool
  • 最有效的 WordPress 行业特定插件

    WordPress WP 完全开源且价格极其实惠 是最独特 最流行的内容管理系统 CMS 之一 事实上 可以肯定的是 如果没有它 博客圈和现代商业世界都会完全不同 它的独特之处在于其众多的插件 其中一些插件是针对特定行业手工定制的 为所有使
  • Tomcat 默认管理员密码是什么

    安装新的 Tomcat 服务器后 默认情况下不会创建用于访问 Administrator 和 Manager Web 界面的用户 完成安装后 设置 Tomcat Admin 和 Manager 用户帐户并设置其密码 您还可以访问我们以下有关
  • 如何在 Apache 中仅允许 GET 和 POST 方法

    Apache HTTP Server 俗称 Apache 是世界上最流行 使用最广泛的 Web 服务器软件系统之一 它提供了许多功能 包括基于 HTTP 方法限制对资源的访问的能力 当您出于与安全或应用程序逻辑相关的原因而只想允许某些类型的
  • 使用 CRON 监控和通知 Linux 中的服务状态

    监控 Linux 系统上运行的关键服务的状态对于确保平稳 不间断的运行至关重要 实现此目的的一种方法是使用 cron 作业定期检查这些服务的状态 并在其状态发生变化时发送通知 在本文中 我们将探讨如何设置 cron 作业来监控服务状态 并讨
  • 如何从 CentOS 6.9-6.0 升级 CentOS 6.10

    CentOS 6 10已经发布 如果您使用旧版本 6 x 版本的 CentOS 操作系统 本文将帮助您将 CentOS 升级到最新版本 6 10 这个新版本有很多安全更改和软件包更新 目前 我的服务器运行的是 CentOS 6 9 请按照以
  • 在 Bash 中使用模运算符 (%)

    在编程中 模数或余数是返回除法余数的运算 在 Bash 中 模运算符由 符号表示 模运算符通常在编程中用于检查一个数字是否可以被另一个数字整除或执行需要循环模式的运算 在本文中 我们将探讨如何在 Bash 中使用模运算符 Syntax Ba
  • 什么是 MAC 地址?

    了解 MAC 地址的功能和重要性对于任何处理计算机网络 无论是家庭网络还是复杂的企业设置 的人来说都是至关重要的 本文提供了全面的指南媒体访问控制 MAC 地址 它们在网络通信中的作用以及它们在当今数字世界中的重要性 什么是 MAC 地址
  • 使用 cURL 发送电子邮件的分步指南

    cURL 短缺 URL 客户端 是一个开源软件项目 它提供了一个库 libcurl 和一个命令行工具 curl 用于使用各种网络协议传输数据 虽然它通常用于与 HTTP 和 HTTPS 交互 但它也可以处理 SMTP 这是在互联网上发送电子
  • 如何在 Ubuntu 和 Debian 上安装和使用 Imapsync

    Imapsync是一种 IMAP 传输工具 用于将电子邮件从一个 IMAP 服务器复制到另一个 IMAP 服务器 本文将帮助您在 Ubuntu Debian 和 Linuxmint 系统上安装 imapsync 并在两个 IMAP 服务器之
  • Linux 中不存在目录时如何创建

    Linux 是全球数百万用户使用的流行操作系统 使用 Linux 时的一项常见任务是创建和管理目录 在本文中 我们将介绍如何在 Linux 中创建目录 仅当目录尚不存在时 这在编写脚本或执行需要创建多个具有唯一名称的目录的任务时非常有用 使
  • 解决 Flask 中的“AssertionError:视图函数映射正在覆盖现有端点函数”错误

    Flask 是一种广泛使用的用 Python 编写的微型 Web 框架 它因其简单性和为开发人员提供的控制而广受欢迎 但是 与任何其他框架一样 开发人员在使用 Flask 时可能会遇到错误 其中一个错误是 断言错误 视图函数映射正在覆盖现有
  • 如何在 Linux 中打开端口

    在 Linux 操作系统中 端口是用于通过网络发送或接收数据的通信端点 网络端口由数字标识 每个端口号与特定类型的网络服务相关联 例如 端口 80 用于 HTTP 流量 端口 21 用于 FTP 端口 25 用于电子邮件 为了建立网络连接