在没有域名服务器的情况下,系统上的所有网络程序都通过查询/etc/hosts文件来解析对应于某个主机名的IP地址,实现快速访问。
在支持 mDNS(multicast DNS) 多播DNS的局域网中,使用主机名加上”.local”即可直接访问主机名对应的设备。这个就不需要配置/etc/hosts文件来完成P地址与域名解析,笔者的小米路由器支持这个功能。但是笔者觉得配置/etc/hosts文件更加方便,也可以设置别名。
下图是笔者配置的,填入局域网内所有linux服务器的IP和域名,而且每个服务器都需要设置一样。当主机互连时,每台主机都需要设置自己的ip与域名,同时在对方的hosts文件里加入自己的ip和主机名。笔者遇到的linux服务器上,都配置了这个文件,方便通过域名或别名来访问。
下图是笔者实验的两个树莓派配置信息。
hosts文件的格式如下:
第一部份:网络IP地址,比如192.168.31.76。
第二部份:主机名或域名,比如host1。
第三部份:主机名别名,比如host_maria。
在marai服务器上测试域名和别名, ping host2或者ping host_LAMP都可以实现,笔者在这里就不把测试结果贴出来了。
查看当前的主机名
首先我们使用hostname命令来查看当前的主机名。
hostname1
也可以使用hostnamctl命令
hostnamectl
方法1:修改配置文件
主机名保存在/etc/hostname文件里,所以我们可以打开这个文件,手动编辑主机名。
sudo nano /etc/hosts12
把旧的主机名删除,替换为新的主机名,保存文件就行了。要注意大小写。
方法2:hostnamectl命令
命令语法为:
sudo hostnamectl set-hostname <newhostname>12
这条命令会删除/etc/hostname文件中的主机名,然后替换为新的主机名。和第一种方法一样,我们也需要更新/etc/hosts文件。这两种方法的本质都是一样的。
方法3:hostname命令进行临时更改
如果只需要临时更改主机名,可以使用hostname命令。 《Linux就该这么学》
sudo hostname <new-hostname>12
这条命令不会更改/etc/hostname文件中的静态主机名(static hostname),它更改的只是临时主机名(transient hostname)。所以重启计算机后会回到旧的主机名。
静态主机名保存在/etc/hostname文件中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)