在CentOS上配置Redis的防火墙主要涉及到修改防火墙配置文件和设置防火墙规则。以下是详细的步骤:
1. 关闭或禁用firewalld服务(如果使用iptables作为防火墙)
如果你使用的是iptables作为防火墙,首先需要关闭或禁用它,因为firewalld和iptables是互斥的。
# 停止firewalld服务 sudo systemctl stop firewalld.service # 禁止firewalld开机启动 sudo systemctl disable firewalld.service # 卸载firewalld sudo yum remove firewalld
2. 安装iptables
如果尚未安装iptables,可以使用以下命令进行安装:
sudo yum install iptables-services
3. 配置iptables规则
编辑iptables配置文件:
sudo vi /etc/sysconfig/iptables
在配置文件中添加以下内容以允许Redis的默认端口6379的TCP流量:
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
保存并退出编辑器。
4. 重启iptables服务以应用配置
sudo systemctl restart iptables.service # 设置iptables开机自启 sudo systemctl enable iptables.service
5. 修改Redis配置文件
编辑Redis配置文件以允许远程访问和设置密码:
sudo vi /usr/local/redis/redis.conf
进行以下修改:
- 将
bind 127.0.0.1
修改为bind 0.0.0.0
以允许远程访问(生产环境中不建议设置为0.0.0.0)。 - 将
protected-mode yes
修改为protected-mode no
以允许远程连接。 - 设置密码:
requirepass your_strong_password
。
保存并退出编辑器。
6. 启动Redis服务
使用以下命令启动Redis服务:
redis-server /usr/local/redis/redis.conf
7. 验证配置
可以使用以下命令检查Redis是否正在运行:
ps -ef | grep redis
使用Redis客户端连接Redis服务进行验证:
redis-cli -h your_redis_ip -p 6379 -a your_strong_password