如何只向一个 IP 地址开放端口?(IPtables)

如何只向一个 IP 地址开放端口?(IPtables)

我家里有一台小型服务器,还有一台较大的租用服务器。我想使用家里的服务器(尽管这可能会切断我的互联网连接)作为数据库服务器。租用的服务器有一个固定 IP,那么我该如何打开 MySQL 端口(我认为是 3306)以便只有我租用的服务器的 IP 才能访问数据库?我在两台服务器上都使用 Debian,所以我想通过 IPTables 进行设置

//编辑:如果我遗漏了什么,或者这是另一个问题的重复,对不起,我是这个论坛的新手...如果您需要更多信息,请询问,然后我可以提供。

答案1

您必须完成多个步骤才能使此设置正常工作。

  • 在路由器上设置端口转发。
  • 设置某种 dyndns,因为您的家庭 IP 很可能会时常发生变化。
  • 为您的家庭和租用的服务器设置防火墙规则。
    • 对于具体步骤,您必须详细说明您当前的服务器设置。您是否已经设置了一些 iptables 规则?否则,您可能只需使用类似这样的规则即可iptables -A INPUT -i eth0 -p tcp --dport 3306 --source <serverip> -j ACCEPT

您可能希望通过阅读更通用的教程来仔细了解 iptables 的工作原理。iptables 有多个队列(链),默认情况下为输入、转发和输出。维基百科有一个很好的图表,但相当复杂。本质上,您很可能会使用输入和输出链来按您想要的方式过滤流量。不要忘记,默认情况下,链通常设置为接受所有,因此您可以运行类似这样的操作iptables -P INPUT DROP来丢弃所有不符合规则的流量 - 小心,它也可能将您锁定在系统之外。有一些工具可以帮助您降低此类更改的危险性。;)

相关内容