我可以在家庭网络上设置 subdomain.hostname.local 吗?

我可以在家庭网络上设置 subdomain.hostname.local 吗?

我的家庭网络上运行着主机alpha.localbeta.local,网络由一个(非常)简单的无线路由器管理。我可以使用例如ssh alpha或来访问服务器http://beta.local。我想在每个服务器上安装服务,以便可以通过子域访问它们,例如http://sub1.alpha.localhttp://sub2.alpha.local

是否可以做到这一点,例如使用 avahi?

答案1

只需运行此命令:

sudo nano /etc/hosts

然后添加网络中的所有机器,也适用于 Windows 机器:

192.168.0.2   alpha.local sub1.alpha.local 
192.168.0.3   beta.local  sub2.beta.local 

之后你应该在 nginx 或 apache 配置文件中添加 sub1.alpha.local 和 sub2.beta.local 别名

答案2

从设置中我了解到您的网络中没有 DNS 服务器可以解析名称sub1.alpha.local到其 IP 地址。
因此,通常的解决方法是手动配置文件中的 IP,/etc/hosts例如

192.168.1.101  sub1 sub1.alpha sub1.alpha.local

如果你的路由器有 DHCP 功能,你可以进入你的路由器并手动设置服务器的 MAC 地址或硬件地址alpha以分配 IP 地址192.168.1.101

您可以使用以下命令找到机器的 MAC 地址ifconfig

$ ifconfig
enp4s0:标志=4163 mtu 1500
        inet 192.168.10.115 网络掩码 255.255.255.0 广播 192.168.10.255
        inet6 fe80::16da:e9ff:fe96:343e 前缀长度 64 范围 ID 0x20
        ether 14:da:e9:96:34:3e txqueuelen 1000(以太网)
        RX 数据包 222436 字节 52837578 (50.3 MiB)
        RX 错误 0 丢失 0 超限 0 帧 0
        TX 数据包 55928 字节 7339677 (6.9 MiB)
        TX 错误 0 丢失 0 超限 0 载波 0 冲突 0
lo:标志=73 mtu 65536
        inet 127.0.0.1 网络掩码 255.0.0.0
        inet6 ::1 前缀长度 128 范围 ID 0x10
        loop txqueuelen 0(本地环回)
        RX 数据包 529 字节 15607 (15.2 KiB)
        RX 错误 0 丢失 0 超限 0 帧 0
        TX 数据包 529 字节 15607 (15.2 KiB)
        TX 错误 0 丢失 0 超限 0 载波 0 冲突 0

这将是价值

ether 14:da:e9:96:34:3e

答案3

最好使用技巧来做到这一点:在目录示例中创建一个符号链接(在配置中启用如下,即 apache):/var/www/html/mysite --> 如果您输入主目录 /var/www/html/subdomain/ 的 IP,您将获得此信息 --> 这就是您想要的,然后将符号链接复制到 .../subdomain/mysite/ 然后您就可以访问它:http://192.168.XXX.XXX/子域名/这会起到作用。

我在家里就是这么做的,效果很好:)

相关内容