linux 防火墙操作

文章讲述了在Linux系统中,如何使用iptables和firewalld关闭和开放防火墙端口,解决服务器上Docker服务因防火墙问题而无法访问的问题,包括查看、修改和持久化防火墙规则。

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

前言

服务器安装宝塔后我的docker里面的minio服务突然不能用了,但是minio容器是正常的,经过各种排查发现我的linux 防火墙被打开了(本来是没有打开的,具体不知道原因,我怀疑是宝塔搞得鬼。。。。)。而且相关的端口并没有开放。排查花费了一点时间 所以记录一下。

在Linux操作系统中,防火墙是一项重要的安全措施,用于保护计算机免受未经授权的访问和恶意攻击。有时候,为了满足特定的网络需求或进行网络测试,我们可能需要关闭或者防火墙或特定的防火墙端口,防火墙工具有多种,如iptables和firewalld。下面将介绍如何使用防火墙。

一、 关闭iptables防火墙端口?

sudo iptables -A INPUT -p tcp --dport [端口号] -j DROP

上述命令将会向iptables防火墙添加一个规则,使得TCP协议、指定端口号的进入流量被丢弃。这样,该端口将会被关闭,并且无法访问。

如果您希望在重启系统后仍然保持该端口关闭状态,您可以保存iptables规则:

sudo service iptables save

二、关闭firewalld防火墙端口

 sudo firewall-cmd --zone=public --remove-port=[端口号]/tcp --permanent
 sudo firewall-cmd --reload

第一条命令将会从firewalld防火墙中移除指定的TCP端口号,第二条命令将使更改生效

三、检查防火墙状态

systemctl status firewalld

三、查看已经开放的端口

firewall-cmd --list-ports
sudo iptables -L-n| grep 端口号

四、检测已经开放的特定端口

sudo firewall-cmd --zone=public --query-port=80/tcp
sudo iptables -L -n | grep 80

测试:
在这里插入图片描述

五、开放端口

如果发现没有我们需要的的端口 开启端口,例如此时需要8080端口

firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload  # 重新载入firewalld配置
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT    # 开放80端口
sudo service iptables save    # 保存iptables配置
sudo service iptables restart    # 重启iptables服务

在这里,--zone=public 表示添加到公共区域,--add-port=80/tcp 表示添加TCP协议的80端口,
--permanent 表示将该规则持久化保存。

六、检测Linux端口是否开放

使用ss或grep命令组合:

ss -tuln | grep 80       或者   netstat -tuln | grep 80

这些命令会列出所有开放的TCP和UDP端口,并通过grep筛选出端口80。如果端口开放,您会看到包含该端口的输出行。

使用netcat(nc)工具:

nc -zv 127.0.0.1 80

如果端口开放,您会看到类似于“succeeded”的输出。如果端口关闭或者不可达,则会显示错误信息。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值