在CentOS上配置Redis的防火墙规则,通常涉及到两个步骤:一是确保Redis服务本身只监听本地接口(localhost),二是配置防火墙(如firewalld或iptables)以允许外部访问Redis端口(默认是6379)。以下是具体步骤:
编辑Redis配置文件 /etc/redis/redis.conf,找到 bind 和 protected-mode 配置项,并进行如下修改:
# 只监听本地接口
bind 127.0.0.1
# 启用保护模式
protected-mode yes
如果你希望Redis能够从外部网络访问,可以将 bind 设置为 0.0.0.0,但这会降低安全性。建议使用更安全的方式,比如设置密码和限制IP访问。
CentOS 7及以上版本默认使用firewalld作为防火墙管理工具。你可以通过以下命令来配置firewalld:
打开Redis端口(默认6379)
sudo firewall-cmd --permanent --zone=public --add-port=6379/tcp
重新加载防火墙配置
sudo firewall-cmd --reload
验证端口是否开放
sudo firewall-cmd --list-all
你应该能在输出中看到 6379/tcp 被添加到了 ports 列表中。
如果你使用的是CentOS 6或者更喜欢使用iptables,可以按照以下步骤操作:
打开Redis端口(默认6379)
sudo iptables -A INPUT -p tcp --dport 6379 -j ACCEPT
保存iptables规则
CentOS 6不支持 firewall-cmd,所以你需要手动保存iptables规则:
sudo service iptables save
重启iptables服务
sudo service iptables restart
验证端口是否开放
你可以使用 netstat 或 ss 命令来验证Redis是否在监听6379端口:
sudo netstat -tuln | grep 6379
或者
sudo ss -tuln | grep 6379
设置密码:编辑 /etc/redis/redis.conf 文件,找到 requirepass 配置项并设置一个强密码。
requirepass your_password
限制IP访问:如果你希望只有特定的IP地址可以访问Redis,可以在 redis.conf 中添加 bind 指令,或者使用iptables的 -s 选项来限制来源IP。
通过以上步骤,你应该能够在CentOS上成功配置Redis的防火墙规则。