首页 > 解决方案 > 如何为本地网络上的应用程序设置主机名?

问题描述

多年来,我一直在逐渐编写供个人使用的程序。这也是我的日常工作,这些只是我自己使用的副业。不管怎样,起初这没什么大不了的,但现在我已经达到了 6 个,我正试图驯服这头野兽。为了更好地组织我的整个生态系统并使每个应用程序的部署更易于管理,进行了许多更改。

我想做的一件事是为它们分配人类可读的名称。例如,其中之一是我桌面上的 http://localhost:7001,但我家周围其他设备上的http://192.168.5.27:7001。我希望能够导航到 http://my-app-name,它会自动路由到那里。

我知道这正在进入 DNS 领域,这不是我非常有经验的领域。做这样的事情需要多大的努力?

标签: networkingdns

解决方案


您可以从配置本地计算机开始。例如,如果您有一台 Windows 笔记本电脑,请导航到C:\Windows\System32\Drivers\etc\hosts并编辑该文件。它有用于将 IPv4 和 IPv6 地址映射到域名的条目。

你越是扩大你的业务,这种方法就越不可行。要更进一步,您需要一个 DNS 服务器。例如,在 Windows 网络上,您可以将服务器配置为专用域控制器和/或 DNS 服务器。DNS 记录是在该服务器上创建和管理的。然后,要从您的笔记本电脑利用该 DNS 服务器,您可以通过指定要使用的 DNS 服务器(主要和次要)通过指定其 IP 地址来配置您的网卡。

设置 DNS 服务器 (Linux) - 假设有两台服务器,私有 IPv4 地址:

  • ns1 - 192.168.10.11 - 主 DNS 服务器
  • host1 - 192.168.100.101 - 局域网上的 Linux 笔记本电脑

@ns1

  1. sudo apt-get update
  2. sudo apt-get install bind9 bind9utils bind9-doc
  3. OPTIONS="-4 -u bind"( /etc/default/bind9)
  4. 添加可信 acl 列表 ( /etc/bind/named.conf.options)
  5. 设置配置选项 ( /etc/bind/named.conf.options)
  6. 设置前进区 ( /etc/bind/named.conf.local)
  7. 设置反向区域 ( /etc/bind/named.conf.local)
  8. 创建正向区域文件 ( /etc/bind/zones/db.foo.my_zone.com)
  9. 创建反向区域文件 ( /etc/bind/zones/db.168.192)
  10. sudo named-checkconf
  11. sudo named-checkzone foo.my_zone.com db.foo.my_zone.com
  12. sudo named-checkzone 168.192.in-addr.arpa /etc/bind/zones/db.192.168
  13. sudo service bind9 restart

@host1

  1. 添加名称服务器 ( /etc/resolvconf/resolv.conf.d/head)
  2. sudo resolvconf -u

推荐阅读