腾讯云Redis公网连接 IP转发

2022-05-28 10:19:27 浏览数 (2)

文章时间:2021年4月26日 21:52:49 解决问题:腾讯云Redis没有公网连接,通过服务器进行公网连接

ps:首先要保证的是服务器和Redis在同一个区域内,然后服务器上面如果有宝塔环境的话,还是不建议搞了,太麻烦了。

腾讯给出的官方教程: https://cloud.tencent.com/document/product/239/39611

ps:centos7.x使用的是firewalld,但是iptables规则是生效的。底层都是iptables

查看iptabls的防火墙规则可通过 iptables -nL 查看。 查看iptables 的转发规则 可通过 iptables -nL -t nat 查看

腾讯云官方工单回复

若您需要通过firewall做相关转发,您可参考如下命令。 查看已经存在的规则

代码语言:javascript复制
firewall-cmd --list-all

配置相应的规则

代码语言:javascript复制
# firewall-cmd --add-forward-port=port=服务器映射端口:proto=tcp:toport=数据库内网端口:toaddr=数据库IP --permanent

给出的文档解决方案(Centos7.x测试通过)

ip地址说明:172.21.0.3:6379为Redis数据库的地址 172.21.0.9为服务器的内网地址

代码语言:javascript复制
iptables -t nat -A PREROUTING -d 172.21.0.9 -p tcp --dport 56379 -j DNAT --to-destination 172.21.0.3:6379
代码语言:javascript复制
iptables -t nat -A POSTROUTING -d 172.21.0.3 -p tcp --dport 6379 -j SNAT --to-source 172.21.0.9
代码语言:javascript复制
echo 1 > /proc/sys/net/ipv4/ip_forward  #开启转发(临时生效)
代码语言:javascript复制
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 #找到这一行将原先的0 改为1
sysctl -p # 执行生效
代码语言:javascript复制
#!/bin/sh
#该脚本为修改脚本,直接编辑保存为sh文件进行运行即可
sed -i '/net.ipv4.ip_forward/ s/(.*= ).*/11/' /etc/sysctl.conf

0 人点赞