如何查看FQDN

如何查看FQDN,第1张

FQDN是Fully Qualified Domain Name的缩写, 含义是完整的域名. 例如, 一台机器主机名(hostname)是www, 域后缀(domain)是example.com, 那么该主机的FQDN应该是www.example.com.

题外话, 其实FQDN最后是以"."来结尾的, 但是大部分的应用和服务器都允许忽略最后这个点.

Linux允许用户通过hostname命令查看并设置主机名. 用户也可以通过hostname -f命令得到该主机的FQDN. 但是, 却没有直接设置FQDN的命令.

实际上, 设置Linux的FQDN可以通过两种方法实现.

第一种, /etc/hostname + /etc/hosts文件组合

首先在/etc/hostname文件中设置主机名, 假设是

www

然后在/etc/hosts文件中增加一行主机记录, 第一个字段是该主机的IP地址, 第二个字段是你希望设置的FQDN, 最后是刚刚设置的主机名, 如下

A.B.C.D www.example.com www

设置好之后, 通过hostname -F /etc/hostname更新主机名. 这时, 通过hostname -f看到的FQDN就应该是: www.example.com

第二种, /etc/hostname + /etc/resolv.conf组合

如果Linux不能在/etc/hosts文件中找到hostname对应的记录, 就会试图从resolv.conf文件中得到主机的域名后缀(domain name). 例如, 这样的/etc/resolv.conf文件

domain example.com

search example.com

nameserver W.X.Y.Z

根据配置文件中的domain后缀example.com, 加上主机名www, Linux会试图自动拼接成一个候选FQDN:www.example.com. 但这个候选FQDN还需要进一步验证.

Linux通过DNS服务器W.X.Y.Z解析候选FQDN, 如果解析失败, 生成FQDN过程就失败了. 如果解析成功, 则会返回www.example.com这个域名的正式名称. 也就是说, 如果在DNS服务器的记录中, www.example.com这个域名是指向server.example.com的CNAME记录的话, 而server.example.com才是A记录. 返回的FQDN就是server.example.com, 而不是www.example.com.

以上就是Linux下设置FQDN的方法.

网上查来,非本人所写

linux系统下搭建DDNS服务

记住把 dhcp 和 bind, bind-utils 装上就行了。

配置:

一 生成密钥

# dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER

这时当前目录下会生成Kdhcp_updater.+xxx+xxxxx.key及.private两个文件

# cat Kdhcp_updater.+xxx+xxxxx.key

DHCP_UPDATER. IN KEY 0 2 157 qSSpjerAuaPE/X3JJyxSww==

其中qSSpjerAuaPE/X3JJyxSww==下面要用到的。

参数说明:

上述dnssec-keygen命令的功能就是生成更新密钥,其中参数-a HMAC-MD5是指密钥的生成算法采用HMAC-MD5;参数-b 128是指密钥的位数为128位;参数-n USER DHCP_UPDATER是指密钥的用户为DHCP_UPDATER

二、DHCP的配置:

配置DHCP server 时很简单,可以参考 /usr/share/doc/dhcp-x.xx/dhcpd.conf.sample来做。也可以先把这个文件cp 到 /etc/dhcpd.conf,然后根据自己的需要做适当修改。下面贴出我的一个/etc/dhcpd.conf,供大家参考:

ddns-update-style interim

ignore client-updates

max-lease-time 604800

default-lease-time 86400

key DHCP_UPDATER {

algorithm HMAC-MD5

secret qSSpjerAuaPE/X3JJyxSww==

}

zone shcto.com. {

primary 127.0.0.1

key DHCP_UPDATER

}

zone 160.230.10.in-addr.arpa. {

primary 127.0.0.1

key DHCP_UPDATER

}

subnet 10.230.160.0 netmask 255.255.255.0 {

range 10.230.160.30 10.230.160.230

# --- default gateway

option routers 10.230.160.254

option subnet-mask 255.255.255.0

option broadcast-address 10.230.160.255

# --- option nis-domain "domain.org"

option domain-name "shcto.com"

option domain-name-servers 10.230.128.33,10.230.128.34

}

几个要注意的地方:

1. 'ddns-update-style'

这个就是动态DNS的更新方式,有几个选项,我用的是interim,可以用 man dhcpd.conf找到另外的几个选项。

2. 'ignore client-updates'

这个选项是不允许客户机更新DNS记录。当然,也可能允许,但会有一点问题。

3. 'key DHCP_UPDATER'

这个是更新DNS的KEY,是必须的。其中algorithm 后的是生成key的算法,key的生成是用 'dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER'。

4. 'zone'

要更新的zone,如果是本机就是DNS server,primay 就写127.0.0.1,要是其它机器是DNS server, 就写那台机器的IP。

别的都是一般DNS该有的了,要注意的是一定要有 range 那一行,不然就分不了IP啦。

配好以后,可以启动一下试试, service dhcpd start,如果没问题,把dhcpd改成开机就启动,chkconfig --level 2345 dhcpd on。

三、bind(named)的配置。

# rpm -qa | gerp bind

看有没有bind-xx及bind-chroot-xx理论上chroot可以提高安全性但设置时繁琐一点

# rpm -qa | gerp caching-name

看caching-nameserver是否也已经装了,这个不装的话就要自己写named.ca等几个文件了

######################3named.conf参考范例:

// generated by named-bootconf.pl

options {

directory "/var/named"

/*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below. Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

forward first

forwarders { 202.99.224.8202.99.224.67202.106.0.20}

// query-source address * port 53

}

//

// a caching only nameserver config

//

controls {

inet 127.0.0.1 allow { localhost} keys { rndckey}

}

key DHCP_UPDATER {

algorithm HMAC-MD5

secret qSSpjerAuaPE/X3JJyxSww==

}

zone "." IN {

type hint

file "named.ca"

}

zone "localhost" IN {

type master

file "localhost.zone"

allow-update { none}

}

zone "0.0.127.in-addr.arpa" IN {

type master

file "named.local"

allow-update { none}

}

zone "160.230.10.in-addr.arpa" IN {

type master

file "named.160.230.10"

allow-update { key DHCP_UPDATER}

}

zone "shcto.com" IN {

type master

file "named.shcto.com"

allow-update { key DHCP_UPDATER}

}

include "/etc/rndc.key"

/var/named/

区域文件

$TTL 86400

$ORIGIN shcto.com.

@ IN SOA NS1.shcto.com. root.NS1.shcto.com. (

2007121001

28800

14400

3600000

86400)

IN NS NS1.shcto.com.

IN MX 0 mail.shcto.com.

mail IN A 10.230.129.40

webserver IN A 10.230.128.36

www IN CNAME webserver

smbserver IN A 10.230.128.33

ftp IN CNAME smbserver

named.128.230.10

$TTL 86400

@ IN SOA NS1.shcto.com. root.mail.shcto.com.(

2007121001

28800

14400

3600000

86400)

IN NS NS1.shcto.com.

40 IN PTR mail.shcto.com.

33 IN PTR smbserver.shcto.com.

80 IN PTR webserver.shcto.com.

其中多了的是

key DHCP_UPDATER {

algorithm HMAC-MD5

secret qhB++OR5yWo8BTXwk/m4ng

}

这就是更新dns要用的key,必须和dhcpd.conf里的一样。

还有就是每个 zone 都可以用 key 来update了。

这样就行了。然后启动一下试试吧。

你就可以ping 机器名来找你同事的机器了。

四。测试(主要讲讲LINUX)

在客户机上加入一个文件/etc/dhclient.conf内容如下

send fqdn.fqdn "test"//test为本机的hostname

send fqdn.encoded on

send fqdn.server-update off

运行dhclient或重新启动

正常的话DNS服务器主机的/var/named/chroot/var/named下会多出一个以jnl结尾的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11239262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存