我是 ubuntu 新手,所以请注意这一点 :)
我在学校有一个项目,需要使用交换机和路由器创建一个内部网。我使用的是 Ubuntu 14.04 和 apache2 服务器。
我已经用 HTML 创建了一个网页,我可以连接不同的计算机来进入该页面。但我唯一可以进入的方式是输入 IP 地址。我试图进入该页面,但使用域名(如“www.example.com”),而不仅仅是数字。
我按照以下步骤创建了内联网:https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts 顺便说一句,我已经有域名了(我在这里获得的www.noip.com)
谢谢>:)
答案1
如果我没记错的话,www.noip.com 是一家动态 DNS 提供商。归根结底,它允许具有动态 (DHCP) IP 地址的主机运行一个小型客户端程序,该程序使用客户端正在运行的主机的当前 IP 地址更新 noip 数据库。请注意,这通常还要求您的服务器的 IP 地址可通过互联网路由,或者已建立到此类地址的端口映射/静态 NAT。
但是,如果您没有运行客户端软件,则没有任何内容可以更新数据库,因此主机名将无法解析。或者,如果您的 IP 地址在互联网上不可见,您的服务器将无法访问。
在这种情况下您可以做的是:
- 配置本地 DNS 服务器并配置客户端以将其用作 DNS 源
- 或者您可以在所有客户端的 /etc/hosts 中输入服务器的 FQDN,这样它们就可以将名称解析为 IP 地址。显然,这只有在您有一组已知的客户端时才有效。
答案2
要解决您的问题,您必须设置域名解析。您可能已经在不知情的情况下启用了它。请检查:
您能通过主机名 ping 服务器吗(例如
ping example-host
)?在 Ubuntu 中可以轻松找到主机名。它是提示符中 @ 和 : 之间的部分。您也可以尝试使用后缀.local
→执行相同操作ping example-host.local
。您的路由器是否提供 DNS 服务?有些路由器提供 DNS 服务,它们允许您解析特殊域中的主机。
如果两种方法都不起作用,您仍然可以选择其他方法:
设置您自己的 DNS 服务器并配置所有客户端来使用它。
在客户端的hosts文件中手动配置主机名;http://en.wikipedia.org/wiki/Hosts_(文件)
使用您有控制权的域并在其中创建新的 A(或 IPv6 AAAA)记录。记录中的 IP 只有在无关紧要的情况下才可以是本地的。外部人员可以将主机名解析为 IP,但他们无法访问服务器。
答案3
我假设您指的是您的 ISP 分配的外部 IP 地址。
如果您已经有一个没有 IP 的域名,那么您只需要在您的路由器/防火墙中配置动态 DNS,并将您的 Web 服务器的必要端口 (80 和 443) 转发到您的 Web 服务器的内部 IP 地址。
通常,要登录防火墙,您需要查找分配给 Web 服务器的默认网关地址,然后在连接到网络的系统上的浏览器中键入该地址来登录。
编辑:让 IP 地址显示为域地址的另一种方法是在您的 Web 服务器中设置一个虚拟主机,该虚拟主机解析为该域名,并编辑所有 LAN 计算机的 hosts 文件以在您的 Web 服务器内部 IP 地址上解析该域。如果您需要,我有更多信息。