【问题标题】:Users access same domain name, but LAN users point to local IP rather than internet IP用户访问相同的域名,但局域网用户指向本地IP而不是互联网IP
【发布时间】:2011-12-20 08:27:44
【问题描述】:

我有一个网络问题。我已经设置了自己的服务器。服务器已启动并正在运行。但是我必须给我网络内的人提供服务器的本地 IP 地址以获得更好的降速,因为当我的网络客户端使用互联网时,服务器的上速很慢。

我认为给我的用户提供 ip 地址很奇怪而且很难记住。有什么方法可以允许同一个域名访问服务器,局域网用户通过本地 IP 地址(例如:192.168.1.99)和互联网用户通过静态 IP 地址(例如:111.111.111.111)访问,但具有相同的域名字?

如果你不完全理解我的问题,我已经做了一个流程图。

本地网络和互联网上的用户键入相同的域:example.com

【问题讨论】:

  • 您可以控制 DNS 服务器吗?如果是这样,您设置了拆分 dns,因此它对 192.166.x.y 上的查询的响应不同
  • @nos 哦,你的意思是我也必须设置一个 dns 服务器?
  • 是的,这就是人们可以使用主机名而不是 IP 地址来访问您的服务器的方式。
  • @nos 我的服务器也是用 dns 服务器构建的,带有 ubuntu 包。我可以完全访问 dns。我在注册商上购买的域 dns 指向我的服务器。
  • 我用谷歌搜索了拆分 DNS。所以我的局域网上必须有 2 个 DNS 服务器? DNS服务器和web-mail-ftp服务器是否应该分开?

标签: networking dns lan


【解决方案1】:

如果您可以 100% 识别用户是内部用户还是外部用户(例如,使用内部用户帐户设置列表),您可以只使用互联网站点,然后将内部用户重定向到内部 IP 地址他们登录了。他们只会在未登录之前通过互联网使用该网站,我认为这是可以接受的。不要忘记,当将用户从 example.com 重定向到 192.168.1.99 时,所有 cookie 都将“丢失”,用户的会话将被清除,您必须以某种方式解决它(例如,重定向到本地站点)一个神奇的参数,它重新初始化 192.168.1.99 服务器上的会话)。

它有一个退出:您列为内部人员的用户不能在其他地方使用该站点,例如在家中。可以通过向他们(且仅对他们)放置直接链接他们登录(“如果您不在办公室,请单击此处”)来解决,这会强制使用互联网站点(example.com),或者您可以通过JavaScript解决它(使用AJAX从192.168.1.99请求一些数据,如果失败,请不要将用户重定向到192.168.1.99 - 可能有点困难)。

编辑,@glglgl 建议: 检查客户端的 IP 地址以查看请求是从本地网络还是通过 Internet 发起的。 (见 cmets。)

【讨论】:

  • 用户登录无关紧要。我想做的是做一个令人难忘和更漂亮的方式,当然还有更快的访问速度。
  • 那就继续吧!此外,入侵 DNS 更容易。
  • 这不是唯一的方法。您可以通过源 IP 地址区分它们是“内部”还是“外部”。所以他们也可以在家中访问。
  • @glglgl:多么真实!现在才上午 10:00,我还是太慢了。
  • @glglgl 但如何?我不太了解网络,尤其是在这个问题上。我不是本科网络东西的人。你有参考吗?
猜你喜欢
  • 2015-01-01
  • 1970-01-01
  • 2021-03-07
  • 1970-01-01
  • 1970-01-01
  • 2014-09-11
  • 2013-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多