欢迎来到我的博客园

Linux hostname介绍

Linux hostname介绍

什么是主机名?

主机名就是网络中一个机器的名字,为了方便记忆与连接操作。我们为一个机器设置一个主机名。这样在同一个网络中我们就可以通过dns解析来识别该机器。

场景的缩写:

NIS Network Information Service网络信息服务

NIS+ NIS plus

YP  Sun Yellow Pages NIS的旧名字,YellowPage被United Kingdom of British Telecom plc注册了商标,所以使用的是Sun YellowPage

NSS 名称服务转换. /etc/nsswitch.conf 文件决定了当指定某一信息来查找时的执行顺序,

NYS  就是NIS+,YP和switch的项目名

 

 

Linux hostname
 

获取名字

hostname执行时,没有任何参数和选项时,或者-a -i -f -d等选项时 hostname会返回当前的名字.

当没有任何参数搭配hostname使用时,hostname是通过调用gethostname函数来返回机器名。当使用-a,-d ,-f ,-i配合hostname使用时,会调用gethostbyname. gethostname和gethostbyname的区别是,gethostbyname是通过网络识别的,会通过查询/etc/nsswitch.conf和/etc/host.conf文件来判断读/etc/hostname的信息还是/etc/hosts的信息。

 

hostname查询主机名选项
          hostname [-a|--alias] [-d|--domain] [-f|--fqdn|--long] [-A|--all-fqdns] [-i|--ip-address] [-I|--all-ip-addresses] [-s|--short] [-y|--yp|--nis]
[root@node1 ~]# hostname -a

[root@node1 ~]# hostname -d
[root@node1 ~]# hostname -f
node1
[root@node1 ~]# hostname -A
node1
[root@node1 ~]# hostname -i
fe80::20c:29ff:fe09:84b4%ens33 192.168.31.100
[root@node1 ~]# hostname
node1
[root@node1 ~]# 

 

ypdomainname会输出NIS/YP 域名

nisdomainname会输出NIS/YP 名

domainname执行时会输出NIS(Network Information Services)服务器的域名,domainname也是调用gethostname函数来实现的。

  
domainname/ypdomainname/nisdomainname 选项,什么参数都不加会查询域名,加了参数,会将该参数设置为域名
      domainname [nisdomain] [-F file]
      ypdomainname [nisdomain] [-F file]
      nisdomainname [nisdomain] [-F file]
[root@node1 ~]# domainname
(none)
[root@node1 ~]# domainname ryan
[root@node1 etc]# domainname
ryan
[root@node1 etc]# ypdomainname ryanyp
[root@node1 etc]# domainame
-bash: domainame: command not found
[root@node1 etc]# domainname
ryanyp
[root@node1 etc]# nisdomainname
ryanyp
[root@node1 etc]# nisdomainname ryannis
[root@node1 etc]# nisdomainname
ryannis
[root@node1 etc]# ypdomainname
ryannis
[root@node1 etc]# domainname
ryannis

 

dnsdomainname 会输出完整的域名FQDN (Fully Qualified Domain Name).实际上通过hostname --fqdn返回。

[root@node1 etc]# dnsdomainname
[root@node1 etc]# 

  

设置名字
当调用hostname,domainname/ypdomainname/nisdomainname时,如果这些命令搭配一个参数或者文件来使用。那么就会修改主机名或域名。hostname会调用sethostname, domainname/ypdomainname/nisdomainname会调用setdomainname函数。
当然这些修改只会在本次机器运行期间生效,下次重启就会失效。如果想永久更改,需要修改/etc/hostname文件。而且只能超级管理员修改。FQDN是不能通过dnsdomainname修改的。
 
FQDN(Fully Qualified Domain Name)
FQDN是解析器返回的系统机器名,例如 test.example.com.通常是机器名+域名的组合。可以通过hostname -f或hostname --fqdn或dnsdomainname来查询。
FQDN是不能通过hostname或dnsdomainname来修改的。
通常的建议是修改/etc/hosts文件来设置FQDN,例如主机名是ryan
 
 
 
 
 
 
 

 

posted @ 2022-07-12 22:52  panzq  阅读(500)  评论(0编辑  收藏  举报