我有一个EC2微型实例与亚马逊Linux运行。 我安装了绑定并为某个域设置了一个条目,如果您在该服务器上并input:
nslookup the-domain.com本地主机
但是我不能通过键入来从外部服务器获取它
nslookup the-domain.com 10-10-10-10.compute-1.amazonaws.com
在我的安全组中,我将其设置为允许端口53(TCP和UDP)上的传入stream量,但仍然没有任何内容。 任何人都知道我错过了什么?
检查AWS安全组
login到awspipe理控制台,点击EC2选项卡,点击左侧导航栏中的安全组。
安全组是为您的实例pipe理虚拟防火墙的地方。 与在实例上运行的操作系统无关。
有一段时间,您只能改变未分配的安全组。 现在,您可以更改分配给活动实例的组,并立即应用它们。
检查绑定configuration
默认情况下,bind只监听127.0.0.1。 确保你正在监听所有的接口。 编辑/etc/named.conf,将相应的行更改为:
listen-on port 53 { any; };
然后重新启动服务。
service named restart
确认命名是听“一切”,像这样使用netstat。
[root@...]# netstat -nlp | grep named tcp 0 0 10.1.7.152:53 0.0.0.0:* LISTEN 8664/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 8664/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 8664/named tcp 0 0 ::1:953 :::* LISTEN 8664/named udp 0 0 10.1.7.152:53 0.0.0.0:* 8664/named udp 0 0 127.0.0.1:53 0.0.0.0:* 8664/named
在networking可访问的接口(在这种情况下是10.1.7.152)寻找命名监听。
检查可能阻塞端口的防火墙。
检查是否有防火墙规则可能阻止你的DNS服务器。
sudo iptables -L -v
如果你得到任何输出检查,看看你是否允许在这种格式的53端口input,这将是类似的东西
102 11468 ACCEPT udp -- any any anywhere anywhere udp dpt:domain 20 1013 ACCEPT tcp -- any any anywhere anywhere tcp dpt:domain
如果你需要启用端口53,那么你可以这样做
sudo /sbin/iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT sudo /sbin/iptables -I INPUT -p tcp -m tcp --dport 53 -j ACCEPT