Linux下防火墙开放端口

本文详细介绍了如何使用iptables命令开放特定端口,包括通过命令行即时开放端口、编辑配置文件永久开放端口以及检查端口开放状态的方法。适用于Linux系统下的网络管理与配置。

查看状态

iptables -L -n

下面添加对特定端口开放的方法:

使用iptables开放如下端口
/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
保存
/etc/rc.d/init.d/iptables save
重启服务
service iptables restart
查看需要打开的端口是否生效?
/etc/init.d/iptables status

法2:
或直接编辑/etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 4000 -j ACCEPT
保存在前面部分
再重启:
service iptables restart

 

转载于:https://www.cnblogs.com/stitchZsx/p/10058301.html

### 配置 Linux 防火墙开放指定端口Linux 系统中,开放指定端口通常涉及使用 `firewalld` 或 `iptables` 工具。以下分别介绍这两种方式的具体操作步骤。 #### 使用 `firewalld` 开放端口 `firewalld` 是一种动态管理防火墙的工具,支持运行时配置和永久配置。开放指定端口时,可以通过以下命令实现: - 添加指定端口(如 8080)到防火墙规则中: ```bash sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent ``` 该命令将端口 8080 添加到 `public` 区域,并设置为 TCP 协议,`--permanent` 表示该规则在系统重启后依然有效。 - 重新加载防火墙规则以应用更改: ```bash sudo firewall-cmd --reload ``` - 验证端口是否已成功开放: ```bash sudo firewall-cmd --query-port=8080/tcp ``` 如果返回 `yes`,则表示端口已成功开放;如果返回 `no`,则表示未开放。 - 查看当前开放的所有端口: ```bash sudo firewall-cmd --zone=public --list-ports ``` 该命令会列出当前区域中已开放的所有端口和协议组合。 - 移除指定端口: ```bash sudo firewall-cmd --permanent --remove-port=8080/tcp ``` 此命令用于删除之前添加的端口规则,同样需要重新加载防火墙规则才能生效。 #### 使用 `iptables` 开放端口 `iptables` 是一种更传统的防火墙管理工具,适用于大多数 Linux 发行版。开放指定端口时,可以通过以下命令实现: - 添加规则以允许指定端口(如 8080)的流量: ```bash sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT ``` 该命令将允许所有目标端口为 8080 的 TCP 流量通过防火墙。 - 保存规则以确保系统重启后规则依然有效: ```bash sudo iptables-save > /etc/iptables/rules.v4 ``` 对于 Debian/Ubuntu 系统,保存规则到 `/etc/iptables/rules.v4`;对于 CentOS 系统,可以使用以下命令: ```bash sudo service iptables save ``` - 查看当前的防火墙规则: ```bash sudo iptables -L -n | grep 8080 ``` 该命令会列出与端口 8080 相关的规则,确保规则已正确添加。 #### 其他防火墙管理工具 对于 Ubuntu 系统,默认使用 `ufw`(Uncomplicated Firewall)作为防火墙管理工具。开放指定端口时,可以通过以下命令实现: - 允许指定端口(如 8080)的流量: ```bash sudo ufw allow 8080/tcp ``` 该命令将允许所有目标端口为 8080 的 TCP 流量通过防火墙。 - 重新加载防火墙规则以应用更改: ```bash sudo ufw reload ``` #### 确保服务正在监听端口 开放端口后,还需要确保服务正在监听该端口。可以通过以下命令检查端口状态: - 使用 `netstat` 检查端口状态: ```bash sudo netstat -tulnp | grep 8080 ``` 该命令会列出与端口 8080 相关的监听状态。 - 使用 `ss` 检查端口状态: ```bash sudo ss -tulnp | grep 8080 ``` 该命令的功能与 `netstat` 类似,但性能更优。 如果服务未在监听指定端口,可能需要检查应用程序的配置文件,确保其绑定到正确的 IP 地址和端口上。 #### 防火墙相关命令 - 查看防火墙状态: ```bash sudo systemctl status firewalld ``` 该命令会显示防火墙服务的当前状态,包括是否启用机启动以及最近的运行状态信息。 - 启动防火墙: ```bash sudo systemctl start firewalld ``` 该命令会立即启动防火墙服务。 - 停止防火墙: ```bash sudo systemctl stop firewalld ``` 该命令会立即停止防火墙服务。 - 禁用防火墙机自启: ```bash sudo systemctl disable firewalld ``` 该命令会禁用防火墙服务的机自启动功能。 - 启用防火墙机自启: ```bash sudo systemctl enable firewalld ``` 该命令会设置防火墙服务机自启。 #### 示例:开放端口并验证状态 ```bash # 添加指定端口防火墙规则中 sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent # 重新加载防火墙规则 sudo firewall-cmd --reload # 验证端口是否已开放 sudo firewall-cmd --query-port=8080/tcp ``` 上述命令将指定端口添加到防火墙规则中,并通过重新加载规则应用更改,最后验证端口是否已成功开放[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值