Linux 配置 DNS

本文介绍了在Linux系统中配置DNS的基本方法,包括通过hosts文件、网卡配置文件和resolv.conf文件来设置DNS服务器地址,以及这些配置文件的作用和配置顺序。

   这里不讨论如何在linux上搭建一台DNS服务器:

   这里讨论的是 配置 linux系统,让其能够解析域名,使用户可以流畅使用Internet

 

         先了解几个文件,位于/etc目录下的有:hosts,host.conf,resolv.conf,named.boot,named.conf。
1、hosts文件:本地主机数据库数据库文件,定义了主机名和ip地址的对应,其中也有将要运行dns这台电脑的ip地址和主机名。内容:
              IP地址         本机默认域名                   别名
             127.0.0.1    localhost.localdomain    localhost


2、host.conf”文件:解析器配置文件,在这个文件里 "order hosts bind"语句,指定了对主机名的解析顺序是先到hosts中查找,然后到dns服务器的记录里查找。“multi on”则是允许一个主机名对应多个ip地址。内容:

  order hosts, bind

  multi on

  nospoof on


3、resolv.conf”文件:DNS客户端配置文件“nameserver 10.0.0.211”指定了dns服务器的地址。注意,这个文件对普通非dns服务器的电脑(非windows的系统;Windows系统是在“网络属性”中设置这项的)来说,是必不可少的。你如果没有设置本机为dns服务器,你又要能够解析域名,就必须指定一个dns服务器的地址。你可以最多写上三个地址,作为前一个失败时的候选dns服务器。“domain zrs.com”指定默认的域。文件内容:

  domain 21php.com      (本机的域名后缀)

  nameserver 114.114.114.114
                nameserver 8.8.8.8

 

我们可以修改dns服务器地址的方法

1.在终端输入 setup命令即可调出图形界面设置(配置信息会写入/etc/resolv.conf文件里面)

2.编辑 vi /etc/resolv.conf 设置首选DNS和次要DNS  添加
nameserver 114.114.114.114
nameserver 8.8.8.8

3.通过编辑vi /etc/sysconfig/network-scripts 网卡下面的ifcfg-eth0 配置文件添加DNS服务器地址

添加
DNS1=114.114.114.114
DNS2=8.8.8.8

4.跟Windows系统一样,Linux系统也有主机表文件。同样可以通过设置主机表地址进行特定主机的解析,优先DNS服务器地址。配置文件,在/etc/hosts    这里要具体设置各个域名对应的ip(举例)
218.28.33.39     www.baidu.com
115.168.12.92   www.163.com

 

hosts 配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。

例如:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

127.0.0.1   localhost.localdomain localhost

192.168.1.195  debian.localdomain debian
        一般情况下hosts的内容关于主机名(Hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。

第一部份:网络IP地址

第二部份:主机名.域名,注意主机名和域名之间有个半角的点。

第二部份:主机名(主机名别名) ,其实就是主机名。

当然每行也可以是两部份,就是主机IP地址和主机名;比如 192.168.1.195 debian

        再比如 我们有三台主机,每台做不同的事,一台做MAIL服务器,一台做FTP服务器,一台做SMB服务器,所以我们就可以这样来设计Hostname;

127.0.0.1 localhost.localdomain localhost

192.168.1.2 ftp.localdomain ftp

192.168.1.3 mail.localdomain mail

192.168.1.4 smb.localdomin smb

把这上面这个配置文件的内容分别写入每台机器的/etc/hosts内容中,这样这三台局域网的机器就可以通过Hostname来访问了。

 

比如文件中有这样的定义

192.168.1.100 linumu100 test100

假设192.168.1.100是一台网站服务器,在网页中输入http://linumu100或http://test100就会打开192.168.1.100的网页。

 

 

总结:

Linux下设置DNS的位置主要是,

1网卡设置配置文件里面DNS服务器地址设置,2.系统默认DNS服务器地址设置。3,hosts文件指定

生效顺序是:

1 hosts文件 ---- 2 网卡配置文件DNS服务地址 ---3 /etc/resolv.conf

Linux系统中配置DNS服务器是一项基本任务,它可以帮助您的计算机解析域名到IP地址。以下是几种常见的方法来修改或设置DNS: ### 方法一:通过`/etc/resolv.conf` 这是最直接的方式之一,您可以手动编辑 `/etc/resolv.conf` 文件来添加DNS服务器。 ```bash sudo nano /etc/resolv.conf ``` 然后加入如下内容: ``` nameserver 8.8.8.8 # Google DNS主服务 nameserver 8.8.4.4 # Google DNS备用服务 ``` 保存并退出后生效。 注意:有时此文件可能会被网络管理工具覆盖,如果发现更改无效可以尝试第二种方法。 ### 方法二:对于NetworkManager用户 如果您正在使用图形界面并且安装了 NetworkManager ,那么推荐您通过其GUI或者命令行来进行调整更简便安全些。 #### 图形界面步骤: 1. 打开“网络”设置; 2. 点击有线/WiFi连接旁边的齿轮图标进入详细设定页面; 3. 转至IPv4标签页,在"Additional DNS servers:"框里输入如 `8.8.8.8,8.8.4.4`; 4. 应用改动重启网卡即可完成操作。 #### 命令行步骤: 也可以利用nmcli命令来做同样的事情, 例如针对无线LAN设备 wlan0 添加谷歌公共DNS: ```bash nmcli dev modify wlan0 ipv4.dns "8.8.8.8 8.8.4.4" nmcli con down id 'your_wifi_name' nmcli con up id 'your_wifi_name' ``` ### 方法三:静态IP下的配置 - 编辑`/etc/network/interfaces` 当机器设定了固定的IP而非DHCP分配时,则需要对相应的接口描述文档做出修正。 找到对应的部分比如 eth0 接口,并补充dns-nameservers一行, 示例片段: ``` auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 ``` 最后记得运行下面这条指令更新规则使之立即作用起来: ```bash sudo systemctl restart networking.service # 或者某些发行版上可能是这个命令: sudo service networking restart ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值