如何允许 IP 地址访问服务器上的特定端口而不阻止其他流量

如何允许 IP 地址访问服务器上的特定端口而不阻止其他流量

首先,我使用 Firewalld,我的配置如下:

  • 允许所有流量(没什么特别的)。
  • 服务器有 MySQL 和 Apache2 (Linux Debian)

我需要允许 MySQL 远程连接到特定 IP 地址(我的 IP),而不关闭 http 连接。MySQL 配置文件只允许一个 IP,因此我无法直接在那里添加我的 IP,因为这样 Apache2 将无法通过 http 连接,这就是我寻找防火墙解决方案的原因。

我也尝试过使用firewalld(firewall-cmd)创建一个特定的区域,但是该区域最终阻止了所有http流量,因为它有一个源ip,因此最终出现在这里。

非常感谢您的帮助。

答案1

在外部任何地方打开 MySQL 端口都存在安全风险,我建议避免这样做。

我会让 MySQL 保持监听状态localhost,并使用 SSH 端口转发来远程访问 MySQL:

  1. 在远程机器上运行ssh -L 3306:localhost:3306 [email protected]
  2. 在远程机器上,用作localhostMySQL 服务器。

如果您需要一直保持 SSH 连接,那么您可以使用一个工具autossh来保持 SSH 连接打开,并在某个时候断开连接时自动重新连接。

相关内容