我在一台机器上运行一个数据库服务器(特别是 Tokyo Tyrant),在另一台机器上运行一个 Web 服务器。
我需要在两台机器上设置 iptables,以便 Web 服务器可以对数据库服务器进行查询。目前,当我从 Web 服务器尝试以下操作时,出现“连接被拒绝”提示:
tcrmgr list ${ip_of_db_server}:${port}
最好的情况下,数据库服务器应该只接受来自网络服务器的 IP 地址的流量。
我是 iptables 的新手,所以这可能很明显,但我很挣扎。
非常感谢您的帮助 - 谢谢!
(编辑:注意:这是我的 iptables 规则列表:
sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:www
DROP all -- anywhere anywhere
ACCEPT tcp -- anywhere 10.179.51.126 tcp dpt:1948
)
答案1
在数据库服务器上运行类似下面的命令以允许入站连接:
/sbin/iptables -I INPUT 1 -p tcp -d ${ip_of_db_server} --dport ${port} -j ACCEPT
要查看当前有效的规则,请运行:
/sbin/iptables -L -v