linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

 一、网络信息的文本配置
      之前我们学习过用nm-connection-editor命令在图形界面进行网路地址等基本信息的配置,今天我们试着用文本方式来进行网络信息的配置。
      首先,进入/etc/sysconfig/network-scripts/目录中,发现很多关于网络配置的文件,如果之前在图形界面对网卡进行过配置,那么此目录下就会有这块网卡的配置文件,如下图的ifcfg-eth0这个文件就是我的网卡的相关配置:linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

      用vim打开此文件就会发现与网络相关的一些基本配置,如下图

   linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

        但若有一个新的没有进行过配置网络信息的网卡,我们该怎么进行配置呢? 没错,模仿上图进行配置即可,我们可以删除这个文件重新亲自配置一遍,今天的实验环境只需配置几条简单的配置即可。

       输入命令 vim  ifcfg-eth0 ,输入配置信息,如下图:

    linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

           DEVICE表示配置的对象是哪块网卡

           ONBOOT表示在开机时自启动

           BOOTPROTO表示ip、dns的ip等信息的获取时手动配置还时自动获取,写none表示手动添加,写dhcp表示自动获取

           IPADDR表示添加的IP 地址

           NETMASK表示子网掩码

           NAME表示给设备起的名字

          做完上一步,网卡的基本信息就配置好了,可以用图形界面查看配置好的信息,如下图:

     linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

        这就是网络信息文本配置的方法。

二、dhcp服务的配置

     简单来说,dhcp就是能给client动态分配ip相关信息的一个服务。专业术语中dhcp是 动态主机配置协议,通常用在局域网中。作用是为集中的管理、分配ip地址,使client动态的获取ip地址、网关、dns服务器地址等。

     开始实验,我们将下载好的dhcp安装包打开进行dhco服务的安装。安装成功之后,进入/etc/dhcp/目录,对该目录下的 dhcpd.conf 进行修改。

    linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

        进入该文件后,主要修改内容为:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

   linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

    第7行是域名服务器的域名

    第8行是域名服务器的ip地址

    第32行是指定服务的网络范围

    第33是ip地址池的分配空间

    第34行是dhcp服务提供的网关

   第27、28行注释掉,35行以后的信息删除掉,此次实验不需要用 。

         然后wq退出编辑器,接着重新启动网络载入配置信息 systemctl   restart   network ,此时一个简单的dhcp服务就算搭建好了。

         测试:

    我们在图形界面删除掉之前配置的网卡信息重新创建一块网卡,获取ip方式选dhcp,如下图:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

    接着我们重启网络服务systemctl  restart  network.service  ,      然后我们用ifconfig命令去查看dhcp协议给eth0这块网卡分配的ip地址,如图所示分配的ip是 172.25.254.101,在配置的地址池中,所以实验成功。

   linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

      三、通过实验对NAT协议作用的简单理解

  实验需要环境:两台虚拟机(一台名称desktop、一台server)、一台真机

第一步: 此实验中用server这台虚拟机模拟模拟路由器来连通两个网络区域,所以此虚拟机需要两块网卡。所以在真机的虚拟机管理中再添加一块网卡,共两块。

第二步:在模拟的路由器上先配置两块网卡信息,eth0和真机在同一个网络区域,eth1和desktop这台虚拟机在一个网络区域。配置方法使用实验一的文本配置方法即可,配置结果如下图:

   linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

第三步:首先,将desktop的ip和1.1.1.2/24 设在同一个网段

                 接着,编辑/etc/sysconfig/network,加入网关1.1.1.2,即为模拟路由的一块网卡的地址,desktop虚拟机里面的数据包即可通过该网管与其它网络区域进行通信,如图

 linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

此时进行ping路由机在另外一个网络区域的网卡ip,ping 172.25.254.213, 结果如下图,路径不可达,这是因为在模拟路由器内部没有进行防火墙策略的ip伪装功能,这样两个不同网段的地址就无法进行通信。

第四步:配置路由的ip伪装功能。

         分别执行以下四条命令:

          systemctl      start      firewalld.service

          firewall-cmd    --add-masquerade ######  开启防火墙的ip伪装功能。作用是将私有网络的地址隐藏并映射到一个公有ip上。

         firewall-cmd  --reload  ######  载入配置

         firewallcmd    --list-all    ######## 查看防火墙的服务列表

   linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

执行完后,结果如上masquerade已经开启。

第五步:测试

先在desktop虚拟机上ping模拟路由器上和它不是同一个网段的网卡ip 172.25.254.213

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

第二步: ping 真机的ip ,看能否ping通,真机ip为172.25.254.13

   linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

第三步: 在desktop这台虚拟机上远程登陆真机:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

          接着,在真机中用w  -i 这条命令查看谁在登陆它,会发现登陆真机的ip是172.25.254.13,如下图:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置     实验结果说明:通过ssh远程登陆的虚拟机的ip 1.1.1.1 以经被模拟路由的NAT协议经过伪装,在外网的主机上显示的已经是经过伪装的ip地址。

      NAT是一个强大的协议,经过发展现在已经成为PAT协议,它极大缓解了ip地址消耗殆尽的危机,这也正是ipv6迟迟没能正式投入应用的原因所在。

四、配置dns服务

实验环境:一台虚拟机desktop用来进行测试,  真机用来模拟路由, 一部能开启热点的手机。

实验目的: 让虚拟机能够通过访问域名上网

接下来让我们开始实验:

第一步:让虚拟机能通过ip地址访问网址

  这一步不再赘述详细步骤,因为和上一个实验思路一模一样。

    大概步骤是,在虚拟机上配置和真机的优先网卡的ip在同一个网段,并将真机的有线的ip在虚拟机上指定为网关。

然后真机上配置防火墙NAT策略,最后开启手机热点,真机的虚拟网卡连上热点,做完这三步就能通过ip上网了。

   下图是经过配置后的测试结果:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

第二步:配置dns服务

做完上一步后,已经可以通过ip访问外网,但当我们直接ping 域名时,却发现提示主机不可达,如下图:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

     这是因为域名对我们主机来说是不可识别的,我们主机只能识别ip地址这种格式,那么有什么方法呢?  办法就是通过DNS服务来解决这一问题,DNS服务能够建立主机ip和域名的映射关系,该服务能建立一个ip和域名的映射表,当访问域名时,它就查看该表,找到域名对应的ip地址,这样就实现了对域名的访问。

      那么在测试机上如何配置dns服务呢?  下面就介绍配置方法。

      配置dns服务有两种办法:手动配置映射表,配置一个DNS服务器自动建立映射表

     先来进行手动配置。直接编辑/etc/hosts 这个文件,添加百度的域名和ip的映射,如图:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

接着退出保存,重启网络服务,接着ping  www.baidu.com  ,如图已经能通了:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

       那么问题来了,大家都知道,你要访问的不止百度这一个网址,你要访问的网址各种各样,难道你要都手动去添加吗?

这时候dns服务器就能解决这一问题,我们用户只需要接受它的服务即可。

       所以第二种方法实际就是指定一个dns服务器,让它替我们去做域名解析工作。我们编辑/etc/resolv.conf  这个文件,如下图:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

保存退出后重启网络服务,接着随便ping一个域名,比如:ping  www.****.net    测试结果如下:

linux网络基本信息的配置以及dhcp服务、dns服务的简单配置

此时,已经能通过访问域名来上网。