当前位置: 首页 > news >正文

允许防火墙通过端口 6379(通常用于 Redis 服务)那些年因为连接失败而一起熬过的夜

要允许防火墙通过端口 6379(通常用于 Redis 服务),您可以按照以下步骤在防火墙中添加规则。这里提供了使用 firewalldufw 两种常见防火墙管理工具的方法。

使用 firewalld (CentOS、Red Hat 等)

1. 启动并启用 firewalld

sudo systemctl start firewalld   # 启动防火墙服务
sudo systemctl enable firewalld   # 设置防火墙服务开机启动

2. 检查防火墙状态

首先,检查 firewalld 的状态,确保它正在运行:

sudo systemctl status firewalld

3. 允许端口 6379

使用 firewall-cmd 命令添加允许端口 6379 的规则:

sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent

这条命令将端口 6379 的 TCP 访问权限添加到公共区域,并使用 --permanent 选项使规则持久化,即在防火墙重启后仍然有效。

4. 重新加载防火墙配置

应用新的防火墙规则:

sudo firewall-cmd --reload

5. 验证规则是否生效

可以再次运行以下命令检查端口 6379 是否已经允许:

sudo firewall-cmd --zone=public --list-ports

如果端口 6379 在列表中显示,则表示规则已成功添加。

使用 iptables

如果您使用的是传统的 iptables,可以按以下步骤启用防火墙:

1. 启动并启用 iptables

sudo systemctl start iptables   # 启动 iptables 服务
sudo systemctl enable iptables   # 设置 iptables 服务开机启动

2. 检查防火墙状态:

sudo systemctl status iptables   # 检查 iptables 状态

3. 创建 iptables 规则文件夹

首先,确保 /etc/iptables 文件夹存在,如果不存在则创建它:

sudo mkdir -p /etc/iptables

4. 保存 iptables 规则

使用 iptables-save 命令将当前的 iptables 规则保存到文件中:

sudo iptables-save > /etc/iptables/rules.v4

如果您使用 IPv6 规则,可以保存 IPv6 规则:

sudo ip6tables-save > /etc/iptables/rules.v6

5. 设置系统使规则在启动时加载

使用 iptables-restore 加载规则

在系统启动时,iptables 可以通过 iptables-restore 命令加载保存的规则文件。为了确保规则在每次系统启动时加载,您可以添加一个启动脚本来执行这个命令。

创建一个新的启动脚本文件,例如 /etc/network/if-pre-up.d/iptables

sudo nano /etc/network/if-pre-up.d/iptables

在文件中添加以下内容:

#!/bin/sh
/sbin/iptables-restore < /etc/iptables/rules.v4
/sbin/ip6tables-restore < /etc/iptables/rules.v6

保存并退出编辑器。然后设置脚本文件的执行权限:

sudo chmod +x /etc/network/if-pre-up.d/iptables

6. 验证和测试

确保新的规则文件被正确加载,可以尝试重新启动网络服务或者重启系统,并验证 iptables 规则是否正确应用。

完整步骤总结

以下是您可以按照的完整命令序列:

# 创建目录
sudo mkdir -p /etc/iptables# 保存 iptables 规则
sudo iptables-save > /etc/iptables/rules.v4# 启动 iptables 服务
sudo systemctl start iptables# 设置 iptables 服务开机启动
sudo systemctl enable iptables# 验证规则是否保存成功
sudo cat /etc/iptables/rules.v4

确保防火墙允许 6379 端口

iptables 中添加允许 6379 端口的规则:

sudo iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

保存更改:

sudo iptables-save > /etc/iptables/rules.v4

这些步骤应该能帮助您解决问题,确保 Redis 容器的 6379 端口在防火墙中正确开放,并且规则在系统重启后依然生效。

注意事项

  • 在不同的 Linux 发行版中,网络服务的启动方式可能有所不同。您可以根据您使用的具体发行版来调整启动脚本的路径和方式。

  • 如果您在使用 Docker 或其他容器化技术,确保您正确地配置了容器的网络和端口映射,以便外部可以访问到容器内的服务。

通过以上步骤,您应该能够手动管理 iptables 规则,并确保在系统重启后规则能够正确加载和应用,从而实现端口的持久化开放。

使用 ufw (Ubuntu、Debian 等)

1. 检查 ufw 状态

首先,检查 ufw 的状态,确保它正在运行:

sudo ufw status

2. 允许端口 6379

使用 ufw 命令添加允许端口 6379 的规则:

sudo ufw allow 6379/tcp

这条命令允许 TCP 访问端口 6379,并自动将规则应用到防火墙。

3. 验证规则是否生效

可以再次运行以下命令检查端口 6379 是否已经允许:

sudo ufw status

如果端口 6379 在列表中显示,则表示规则已成功添加。

注意事项

  • 安全性考虑:允许端口前,请确保了解该端口的用途,并只允许必要的端口及其相关流量。

  • 服务重新加载:在添加新规则后,有时可能需要重启相关服务(如 Redis)或重新加载服务配置,以确保新的端口允许规则立即生效。

通过上述步骤,您应该能够在您的 Linux 系统上允许端口 6379 的访问,从而使您的 Redis 服务能够正常工作并且在防火墙重启后保持规则生效。

http://www.lryc.cn/news/391663.html

相关文章:

  • tsconfig.json的include和exclude作用
  • firewalld(8) policies
  • 为什么进口主食冻干那么高贵?必入榜主食冻干总结分享
  • 状态模式在金融业务中的应用及其框架实现
  • redis学习(002 安装redis和客户端)
  • 在线客服系统多国语言,适合跨境外贸业务对外沟通 ,哈萨克语客服系统,根据浏览器语种标识自动切换...
  • 等保2.0是否强制要求所有物联网设备都必须支持自动更新?
  • gin框架解决跨域问题
  • 4.判断登录用户选择按钮的展示
  • 【硬核科普】存算一体化系统(Processing-in-Memory, PIM)深入解析
  • 基于Java的壁纸网站设计与实现
  • Zookeeper底层原理
  • Spring Boot 事件监听机制实战【自定义 Spring Boot 事件监听】
  • AIGC笔记--Stable Diffusion源码剖析之DDIM
  • 【BUUCTF-PWN】13-jarvisoj_level2_x64
  • 项目实战--Spring Boot 3整合Flink实现大数据文件处理
  • 开发者工具攻略:前端测试的极简指南
  • git保存分支工作状态
  • 系统架构设计师——计算机体系结构
  • 3D鸡哥又上开源项目!单图即可生成,在线可玩
  • 设计模式实现思路介绍
  • Node.js学习教程
  • 项目页面优化,我们该怎么做呢?
  • 【PCIe】P2P DMA
  • Linux shell编程学习笔记62: top命令 linux下的任务管理器
  • 如何在Java中实现高性能的网络通信
  • 政务单位网站SSL证书选择策略
  • 零基础入门 Ai 数据挖掘竞赛-速通 Baseline-1
  • 第二十六章 生成器(generator)(Python)
  • Vue通过Key管理状态