如何为 memcached(Fedora)建立接受内网 11211 端口的防火墙规则?

如何为 memcached(Fedora)建立接受内网 11211 端口的防火墙规则?

我是 Fedora 和后端的新手。我最近有一份工作,要通过 linode 构建一个游戏服务器。当前设置是 2 个 linode + 1 个 nodebalancer,我在每个 linode 上都有一个 memcached 服务器,并且我已设置 memAdmin 来监控 memcached。

我的问题是,如何建立允许 S1 (memAdmin) telnet S2 11211 的防火墙规则?由于我的 memAdmin 位于 S1,并且需要权限才能访问 S2 memcached。我尝试了一些规则,例如:

iptables -P INPUT DROP
iptables -A INPUT -p tcp -s (S1's ip) --dport 23 -j ACCEPT
iptables -A INPUT -p tcp -s (S1's ip) --dport 11211 -j ACCEPT

我甚至尝试过将内联网 IP 地址(如 192.168.0.0/24)设置为 -s,但仍然不起作用。我已将 /etc/sysconfig/memcached 中的 OPTION 设置为“-l 0.0.0.0”,memcached 服务正在监听 ip 0.0.0.0,但我仍然无法从 S1 远程登录 S2 11211。

我尝试停止 iptables 服务。我可以通过 PC 远程登录到 S2,但仍然无法从 S1 远程登录到 S2。

我是新手,请帮忙。

iptables -L INPUT -vn 的输出:

链输入(策略丢弃 225 个数据包,13464 字节)                                                                 
 pkts 字节数 目标 协议 选择加入 退出 源 目标                                    
    0 0 接受 tcp -- * * S1 的 IP 0.0.0.0/0 tcp dpt:23                
    7 420 接受 tcp -- * * S1 的 IP 0.0.0.0/0 tcp dpt:11211             
   24 1314 接受全部 -- lo * 0.0.0.0/0 0.0.0.0/0

答案1

最后我找到了解决方案。我缺少 S1 和 S2 的规则: iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 将此规则附加到 INPUT 链的末尾对我来说有效。再次感谢您的所有回答。

答案2

服务器和客户端是否在同一个子网上?首先检查您的 memcached 是否正在监听所有 IP:。netstat -pntle | grep 11211您应该在第 4 列中看到“0.0.0.0:11211”。如果没有,请检查您的配置,重新启动服务器。添加行iptables -A INPUT -j LOG以记录拒绝连接。

相关内容