我正在运行一个 ubuntu vps,它通过 apache2 的虚拟主机托管至少 2 个不同的站点/域,并且它们已经运行了几个月。现在我想设置一些子域,并为当前我托管的域使用电子邮件。
我已经阅读了有关设置 bind9 的帖子和文章,甚至有关电子邮件实际工作原理及其从 MTA 到 MTA 的旅程的文章(只需单击“发送”即可),但我的理解在这里仍然有点不稳定。
我的一个问题是:从线性角度来说,如果我使用 BIND9 设置子域/子区域,假设它当前已安装但未运行(未显示 bind9 或命名进程),bind9-DNS 服务器是否会位于我的 vps 服务提供商的名称服务器和我的 apache2-HTTP 服务器之间?
例如:[ns1.serviceprovider.com] > [BIND9 DNS 服务器] > [Apache2] > [sub.mydomain.com]
而且我不仅需要为新的子域/子区域创建记录,还需要为所有当前域创建必要的记录?
我的另一个问题是:我知道电子邮件在我的服务器上正常运行,因为我可以通过检查和发送mail
,但往返于服务器外部的电子邮件却无法正常运行(我认为目前只有本地邮件)。我执行了此操作,dig mydowmain.com MX
它显示有一个 MX 记录指向我的服务器 ip,那么为什么我没有收到我发送的电子邮件[email protected]
?
用户“postmaster”不存在,但在别名文件中显示postmaster: root
。
我非常感谢你们提供的任何帮助,我知道这些问题看起来有点菜鸟,但我们以前都是从菜鸟开始的 ;)
答案1
我不确定您是否需要设置绑定。不确定您是否想将此作为学习练习,但如果不想,我建议您在服务提供商的当前区域中设置子域和主机。您应该能够在那里创建子域,如果您没有使用绑定的经验,则不必担心。它只是:[ns1.serviceprovider.com]->[mydomain.com]->[sub.mydomain.com] > [Apache2]->[vhost]
至于电子邮件。您可能没有让邮件监听外部连接。如果您查看 /etc/mail/sendmail.mc,应该有一行类似这样的内容:DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') 您需要删除 Addr=127.0.0.1 以告知 sendmail 监听所有接口(如果您有多个 IP,您也可以只列出特定 IP 地址,如果您只希望它监听特定 IP)。编辑文件后,退出编辑器并运行 make。然后,重新启动 sendmail。我强烈建议您在开始这项工作(或雇用承包商)之前阅读有关 sendmail 和 bind 的信息。在不知道自己在做什么的情况下向全世界开放这些服务可能会导致系统出现巨大的安全漏洞。更不用说您可能会破坏系统 :-)。