如何设置 iptables 以仅允许来自指定 IP 地址的指定端口进行通信?

如何设置 iptables 以仅允许来自指定 IP 地址的指定端口进行通信?

我在一台机器上运行一个数据库服务器(特别是 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

https://help.ubuntu.com/community/IptablesHowTo进行基本介绍。

相关内容