我是Fedora和后端新的。 最近我有一份工作,通过linode构build一个游戏服务器。 目前的设置是2 linode + 1 nodebalancer,我有一个memcached服务器在每个linode,我已经设置memAdmin监视memcached。
我的问题是,如何build立允许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,但我仍然无法telnet S2 11211 form S1。
我试图阻止iptables服务。 而且我可以通过我的电脑telnet到S2,但我仍然不能从S1到S2 telnet。
我是新手,请帮忙。
iptables的输出-L INPUT -vn:
链INPUT(策略DROP 225数据包,13464字节)
pkts字节目标人选退出源目的地
0 0 ACCEPT tcp - * * S1的IP 0.0.0.0/0 tcp dpt:23
7 420 ACCEPT tcp - * * S1的IP 0.0.0.0/0 tcp dpt:11211
24 1314 ACCEPT all - lo * 0.0.0.0/0 0.0.0.0/0
最后我find了解决办法。 我错过了S1和S2的规则: iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT将此规则附加到INPUT链的末尾对我有效。 Thx再次为您所有的答案。
服务器和客户端是否在同一个子网? 首先检查你的memcached是否监听所有的IP: netstat -pntle | grep 11211 netstat -pntle | grep 11211 。 你可以在第四列看到“0.0.0.0:11211”。 如果没有,检查你的configuration,重新启动你的服务器。 添加行iptables -A INPUT -j LOG以拒绝连接日志。