草庐IT

Linux系统配置DNS服务器

水星李布斯 2023-06-05 原文
  1. 配置ip地址

用vi命令编辑网卡配置文件eth0进行修改ip地址:

#vi命令是一个linux自带的编辑工具类似于windows上的记事本。vi有三种模式,分别是命令模式,输入模式和底线命令模式,用vi打开一个文件时即处于命令模式,命令模式下敲击键盘动作都被vi编辑器视为命令,可以使用i、o、a切换到输入模式,在输入模式按esc键切换到命令模式,在命令模式输入英文的冒号“ : ”即进入了底线命令模式,可以使用“:q”退出编辑器,“:w”保存,“wq”保存并退出编辑器,“!”表示为强制执行(所有命令字符皆为英文的字符)。 

用vi命令打开ifcfg-eth0网卡配置文件后就进入了vi编辑器的命令模式

按下键盘上的a就能进入vi的编辑模式

网卡配置文件的含义:

DEVICE=eth0            #网卡设备名称 可以用ifconfig

BOOTPROTO=none      #网络配置参数,参数可为none,static,dhcp(none和static为静态ip,dhcp为动态ip)

ONBOOT=yes           #是否激活网卡

USERCTL=no              #是否允许非root用户控制该设备

PEERDNS=no             #是否允许DHCP获得的DNS覆盖本地的DNS

TYPE=Ethernet                     #网络类型,默认为以太网

IPADDR=192.168.47.131             #ip地址,修改ip地址需要修改的地方                   

NETMASK=255.255.255.0                     #子网掩码

GATEWAY=192.168.47.254                    #网关

NETWORK=192.168.47.0                     #网络地址,由ip地址与子网掩码做与运算得来

BROADCAST=192.168.47.255                #主机号为皆为1为广播地址

修改ip只需要修改标黄色的这几个参数即可。

例如,配置网卡ip为192.168.57.100,子网掩码:255.255.255.0(也可以说成24位的子网掩码),网关:192.168.57.1

IPADDR=192.168.57.100                  #子网掩码为255.255.255.0时即192.168.57为网络地址,100为主机号

如果子网掩码为255.255.0.0时即192.168为网络地址,57.100为主机号,网络地址+主机号=ip地址,一般情况下网络地址相同的才可以互通

NETMASK=255.255.255.0                      #子网掩码用于区分ip地址是否同一网络

GATEWAY=192.168.57.1                     #网关是通向其他网络的IP地址

NETWORK=192.168.57.0                        #同一网络地址的ip即可通信,由IP地址转为二进制与子网掩码做与运算得来,

                                                                 例如:192.168.57.100 与 255.255.255.0

                                  1100 0000.1010 1000.0011 1001.0110 0100  与 1111 1111. 1111 1111.1111 1111.0000 0000 得到

                                 1100 0000.1010 1000.0011 1001.0000 0000  转化为10进制就是192.168.57.0

                                 (小技巧:如果子网掩码为24位的话,网络地址就把ip地址最后一位改成0就行了,16位就把后2位改成0即可)

BROADCAST=192.168.57.255

 修改好了后 按esc键进入命令模式,再按 :wq  保存并退出即可

配置好网卡文件后重启网卡使配置生效,先用ifdown eth0关掉网卡,再用ifup eth0启动网卡(service network restart也是重启网卡命令),最后用ifconfig查看ip地址是否配置成功

2.配置DNS服务器

DNS解析功能由bind程序完成,bind程序在linux上的名称为named,bind(即dns服务)的管理配置文件是/etc/named.conf,

这个配置文件主要定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容。

需求:配置192.168.57.100为DNS服务器,并添加以下域名:

dns.test.org    192.168.57.100

aaa.test.org    192.168.57.110

修改dns服务的管理配置文件/etc/named.conf

输入 vi /etc/named.conf

#vi命令是一个linux自带的编辑工具类似于windows上的记事本。vi有三种模式,分别是命令模式,输入模式和底线命令模式,用vi打开一个文件时即处于命令模式,命令模式下敲击键盘动作都被vi编辑器视为命令,可以使用i、o、a切换到输入模式,在输入模式按esc键切换到命令模式,在命令模式输入英文的冒号“ : ”即进入了底线命令模式,可以使用“:q”退出编辑器,“:w”保存,“wq”保存并退出编辑器,“!”表示为强制执行(所有命令字符皆为英文的字符)。

用vi命令打开ifcfg-eth0网卡配置文件后就进入了vi编辑器的命令模式

按下键盘上的a就能进入vi的编辑模式

网卡配置文件的含义:

DEVICE=eth0            #网卡设备名称 可以用ifconfig

BOOTPROTO=none      #网络配置参数,参数可为none,static,dhcp(none和static为静态ip,dhcp为动态ip)

ONBOOT=yes           #是否激活网卡

USERCTL=no              #是否允许非root用户控制该设备

PEERDNS=no             #是否允许DHCP获得的DNS覆盖本地的DNS

TYPE=Ethernet                     #网络类型,默认为以太网

IPADDR=192.168.47.131             #ip地址,修改ip地址需要修改的地方                   

NETMASK=255.255.255.0                     #子网掩码

GATEWAY=192.168.47.254                    #网关

NETWORK=192.168.47.0                     #网络地址,由ip地址与子网掩码做与运算得来

BROADCAST=192.168.47.255                #主机号为皆为1为广播地址

修改ip只需要修改标黄色的这几个参数即可。

例如,配置网卡ip为192.168.57.100,子网掩码:255.255.255.0(也可以说成24位的子网掩码),网关:192.168.57.1

IPADDR=192.168.57.100                  #子网掩码为255.255.255.0时即192.168.57为网络地址,100为主机号

如果子网掩码为255.255.0.0时即192.168为网络地址,57.100为主机号,网络地址+主机号=ip地址,一般情况下网络地址相同的才可以互通

NETMASK=255.255.255.0                      #子网掩码用于区分ip地址是否同一网络

GATEWAY=192.168.57.1                     #网关是通向其他网络的IP地址

NETWORK=192.168.57.0                        #同一网络地址的ip即可通信,由IP地址转为二进制与子网掩码做与运算得来,

                                                                 例如:192.168.57.100 与 255.255.255.0

                                  1100 0000.1010 1000.0011 1001.0110 0100  与 1111 1111. 1111 1111.1111 1111.0000 0000 得到

                                 1100 0000.1010 1000.0011 1001.0000 0000  转化为10进制就是192.168.57.0

                                 (小技巧:如果子网掩码为24位的话,网络地址就把ip地址最后一位改成0就行了,16位就把后2位改成0即可)

BROADCAST=192.168.57.255

修改好了后 按esc键进入命令模式,再按 :wq  保存并退出即可

配置好网卡文件后重启网卡使配置生效,先用ifdown eth0关掉网卡,再用ifup eth0启动网卡(service network restart也是重启网卡命令),最后用ifconfig查看ip地址是否配置成功

3.配置DNS服务器

DNS解析功能由bind程序完成,bind程序在linux上的名称为named,bind(即dns服务)的管理配置文件是/etc/named.conf,

这个配置文件主要定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容。

需求:配置192.168.57.100为DNS服务器,并添加以下域名:

dns.test.org    192.168.57.100

aaa.test.org    192.168.57.110

修改dns服务的管理配置文件/etc/named.conf

输入 vi /etc/named.conf

Named.conf文件已经有了基础配置参数以供参考,如果没有特殊要求并不需要修改,只需要在后面添加上所需要的正向代理参数和反向代理参数即可

配置完成后按esc键进入命令模式再按:wq保存并退出即可,这样就成功配置好了域名与ip地址解析的规则,可以用named-checkconf  /etc/named.conf命令检测该配置文件 

无返回结果即配置无误

接下来就要配置数据配置文件,这个解析文件就是用于域名解析成ip,文件名要与以上配置文件中 zone区域里file字段的相同,且默认的路径为option里的directory字段,

配置正向解析:

在/var/named/下创建test.org数据文件

先用cd进入/var/named路径并用ls查看一下该目录下的文件

named.local文件是一个反向解析的数据配置文件,可以复制一份作为模板,再进行修改,

cp  -a  需要复制的文件  复制之后的文件名 (-a是将源文件的权限与用户组一起赋予给复制之后的文件)

复制后用vi 编辑test.org文件,将文件修改成以下形式

vi test.org

本来是这样的

修改成以下形式

修改成功后保存并退出,用named-checkzone命令测试是否配置成功。

注意:修改过配置文件,要使配置生效必须要重启named服务

接下来配置反向解析:

同样的将named.local复制一份,再进行修改

修改完成后保存退出,用named-checkzone命令测试是否配置成功

这样正向解析与反向解析即可完成

注意:修改过配置文件,要使配置生效必须要重启named服务

启动dns服务,用service named start 即可启动 dns服务(service named restart是重启,stop是关闭)

注意:修改过配置文件,要使配置生效必须要重启named服务

测试:

在linux上:

修改dns配置文件/etc/resolv.conf

将/etc/resolv.conf文件里的所有内容删除(在vi命令模式按两下dd表示删除一整行),再输入以下内容并保存退出

配置完成后用host测试

能获取到正常域名及ip地址即成功! 

有关Linux系统配置DNS服务器的更多相关文章

  1. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  2. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  3. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  4. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

  5. ruby-on-rails - s3_direct_upload 在生产服务器中不工作 - 2

    在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo

  6. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  7. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  8. ruby-on-rails - 在 Rails 中调试生产服务器 - 2

    您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除

  9. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  10. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

随机推荐