如何阻止一个端口的所有流量?请考虑以下情况:
- Ubuntu桌面虚拟机
- 浏览器可以访问互联网(端口80保持打开状态)
- Ubuntu更新服务正常工作(可能无法阻止)
- MySQL图形客户端已安装
在正常设置中,MySQL客户端可以连接到托管的mysql服务器,就像使用Amazon EC2一样,因为允许传出流量。
我现在有以下设置。我认为这会阻止3306,但我仍然可以使用MySQL客户端与亚马逊建立联系。我重新启动以确保所有规则都已应用。
来自行动 - ------ ---- [1] 22允许在任何地方 [2] 80允许在任何地方 [3] 5900允许在任何地方 [4]任何地方拒绝在3306年 [5] 3306在任何地方拒绝 [6] 22允许任何地方(第6节) [7] 80允许任何地方(第6节) [8] 5900允许在任何地方(v6) [9]任何地方(第6节)拒绝在3306年 [10] 3306 DENY IN Anywhere(v6)
更多解释......
我使用VM来测试现有的Web应用程序。我制作了一个实时环境的副本,在VM中恢复它。实时应用程序由Amazon EC2托管。实时应用程序的数据库服务器不是localhost,而是另一台服务器。使用亚马逊,您可以使用公共地址作为连接字符串12.34.56.78.eu-west-1.compute.amazonaws.com
。在内部,他们捕获这个并使用内部IP地址。这样做的好处是,当实例崩溃,并且您需要使用另一个内部IP地址创建另一个实例时,不必更改连接字符串。
此地址适用于AWS外部,因此可以从我的VM运行。我可以从我的VM连接到生产数据库。我知道它,并知道我应该编辑连接字符串。有时我会忘记它,然后使用生产数据库。我更喜欢从我的测试环境中收到一条很大的丑陋错误消息,告诉我数据库连接失败了。(如果本地网络中的另一个客户端想要连接到VM中的mysql-server,那真的不是问题。)
那我怎么能让这个工作?我认为阻止防火墙中的端口3306可以完成这项工作。
这是ufw状态的输出,在哪台机器,服务器或客户端?
—
MariusMatutiae 2013年
Ubuntu桌面VM 是服务器。对于测试和开发,使桌面功能可用更实用。VM充当同一网络中其他计算机(如主机)的Web服务器。因此,您在此处看到的UFW输出来自服务器/桌面。
—
2013年
将您的mysql配置文件更改为仅接受来自localhost的连接。
—
Renju Chandran chingath
在我看来,你需要在
—
3306
@RenjuChandranchingath - 我可能没有正确解释它。本地客户端(在VM本身上)不应该能够连接到外部mysql服务器。我不关心LAN,但应该阻止WAN。如果局域网也被阻止,为了保持更简单,没关系。如果在阻止WAN的同时允许LAN更简单,那也没关系。
—
SPRBRN