我正在使用terraform提供一个EC2实例,然后创建指向它的DNS记录。在AWS上,建议使用静态ip地址而不是公共ip地址,以便在重新启动时更改ip地址不会引起问题。但是对于terraform,DNS记录将使用新的公共IP/公共DNS更新。因此,从理论上讲,我不需要弹性IP地址..
没有eip,我仍然能够使用公共IP地址和AWS提供的公共DNS/主机名进行SSH。但是,当将DNS记录(A,或CNAME)指向公共IP地址&公共DNS时,SSH超时。即使在DNS记录传播时也会发生这种情况(我使用domain.com和全局DNS传播检查器进行了检查)。看起来好像有东西阻止了非IP地址/非aws公共DNS主机的访问。
是否有过将DNS记录直接指向公共IP/公共DNS?的问题?
发布于 2019-11-16 22:10:31
哦哇哦。最后发现是DNS记录..。打完这个问题后,我再试一次,结果成功了。由于某种原因,dig最初返回了更新的记录,但是ssh使用的是旧记录?这怎么可能!
为什么SSH使用旧记录?我可以使用dig. 清楚地得到正确的记录。
答案是DNS缓存!尽管dig会给我提供来自Cloudflare的DNS服务器的最新DNS记录,但我的计算机使用的是旧的。所以我不得不冲洗DNS。在mac上,我用了sudo killall -HUP mDNSResponder。然后,这带来了DNS欺骗检测到的消息,所以我不得不使用ssh-keygen -R domain.com更新ssh-keygen -R domain.com文件夹。
dig命令不使用运行在macOS上的其他进程使用的主机名和地址解析或DNS查询路由机制。
https://stackoverflow.com/questions/58895664
复制相似问题