我有几个子域名。 我们假设:
a.domain.com b.domain.com mysql.domain.com c.domain.com
全部指向相同的IP地址。 我想阻止所有连接到端口3306,除非他们想连接到mysql.domain.com 。
所以像这样:
mysql -h a.domain.com -P 3306 -u username mysql -h b.domain.com -P 3306 -u username
应该是不可能的,但是
mysql -h mysql.domain.com -P 3306 -u username
应该pipe用。
这可能使用iptables? 还是我还得做点别的?
这是不可能的,句号。 像几乎所有的networking感知客户端一样, mysql在客户端执行DNSparsing,所以服务器从来不知道执行了什么样的查询来获取被访问的IP地址。
正如你所知道的那样,有很less的服务将完整的服务器名称作为协议的一部分传递给服务器–Http需要注意,而HTTPS使用SNI–但这些都是例外而不是规则。