使用DNS CNAME访问局域网服务器

我有一个运行Redis,Mongo和MySQL服务器的本地服务器。 我可以通过它的局域网IP地址(192.168。*。*)访问它,但是我无法通过它的CNAME访问它。 我有我们的本地路由器的DMZ中设置的服务器。 如果我在端口3000上运行Rails服务器,我可以在CNAME(cname.domain.com:3000)上看到它。 对于我尝试使用CNAMElogin的mysql服务器,我得到一个错误:

ERROR 1130 (HY000): Host '**************.rr.com' is not allowed to connect to this MySQL server 

我正在运行Ubuntu并configuration了ufw(IP表的前端),以允许所有192.168.0.0/24

我需要确保每个端口都在路由器上进行端口转发吗?

这听起来不像防火墙的问题,因为你已经从MySQL中得到了错误。
更有可能的是,由于您现在通过CNAME访问MySQL服务器,您不是来自允许的IP,而是来自您的网关IP(或类似的,很难说不知道您的networking布局)。
检查MySQL权限。

查找主机名logging,它可以指向一个公共IP地址,在这种情况下,你很可能会被路由出局域网的公共接口而不是内部进行访问,在这种情况下,你需要更新你的mysql.user表来允许从您的公共IP访问用户。