hostname

Linux/windows 系统的设备都会有一个 hostname,也就是设备的名称,执行命令可以查看当前名称:

hostname

这一名称会在终端命令头显示:

root@niekun-bandwagon:~#

root 是当前登陆用户名,niekun-bandwagon 就是本机设备名称。可以执行 whoami 命令查看当前登陆用户名:

whoami

想要修改 hostname 可以编辑 /etc/hostname 将里面名称换为你想要修改的名字即可,重启系统生效新的 hostname。

hosts

hosts 文件作用是将 hostname 映射到本地 IP 地址,可以定义多个 hostnames 和 IP 的对应关系。

Linux 系统路径是:/etc/hosts
windows 系统路径是:c:\Windows\System32\Drivers\etc\hosts

Marcos_Router /home/root]# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.123.1 Marcos_Router.lan Marcos_Router
192.168.123.1 my.router
192.168.123.1 my.pdcn

以上是我路由的 hosts 文件内容,访问 my.router 就相当于访问 192.168.123.1

局域网通过 hostname 访问其他设备

连接到同一局域网的设备都会分配一个内网 IP 地址,比如:
路由器地址:192.168.0.1
设备 A 地址:192.168.0.2
设备 B 地址:192.168.0.3

在设备 A 上操作:要访问路由器可以通过访问:192.168.0.1,访问设备 B 通过地址:192.168.0.3

如果想要使用各自设备的 hostname 来访问就需要设置 hosts 了。

在设备 A 上的 hosts 文件加入如下内容:
192.168.0.1 my.router
192.168.0.1 machine.b

修改完成后要访问路由器可以通过访问:my.router,访问设备 B 通过地址:machine.b (注意如果在浏览器里直接访问 hostname 要加上 http:// 前缀,不然可能访问不到)

另一个简单的方法是直接在路由器上设置各个设备的 IP 地址映射的 hostname,这样就不需要在每个设备上设置了。

在路由器的 DHCP 列表里根据 MAC 地址区分设备,单独设置设备的名称即可,不过一般会自动识别到设备的 hostname,默认直接就可以使用了。