Linux系统下的网络管理及DHCP服务

#############################
#####网络管理以及DHCP服务#####
#################
############

 

##linux下的网络管理与网络配置##

1.什么是IP ADDRESS

          internet  protocol ADDRESS
          ipv4  -->  internet  protocol version
          2*32        ip是由32位01组成

          11111110.11111110.11111110.11111110 = 254.254.254.254

2.子网掩码netmask

          用来划分网络区域
          子网掩码非0的位对应的ip上的数字表示这个ip的网络位
          子网掩码0位对应的ip数字表示这个ip主机位    24=255.255.255.0
          值得注意的是:

                                   网络位表示网络区域, 主机位表示网络区域里某台主机

3.ip通信判定

           网络位一致,主机位不一致的2个IP可以直接通讯 例如:172.25.254.227与172.25.254.127之间
            172.25.254.1/24          24=255.255.255.0
            172.25.254.2/24         子网掩码 24个一

           

           

           
                       
            临时更改ip

                          172.25.0.0/16              16=255.255.0.0
                           ##16位比24位包含的主机多,16位不稳定

           

4.网络设定工具

                ping                                        ##检测网络是否通畅
                ifconfig                                   ##查看或设定网络接口
                ifconfig    eth0                        ##查看网卡下的IP信息

           

                ip    addr                                  ##检测或设定网络接口(临时 systemctl restart network就没了)网络服务
                ip    addr  show                       ##检测

           
                ip    addr add  ip/24  dev  device  ##设定ip(在没有ip时设定)

5.图形方式设定ip

     nm-connection-editor 图形界面更改(永久)
     ifconfig eth0

    

     删除原有eth0,点击添加

    

    

    输入网络名称,选择网卡设备

    

     选择IPv4以及静态设置IP选项后,Add添加网络地址以及子网掩码,点击save保存设置

6.命令方式设定网络

           nmcli                                                     ##使用前提NetWorkMansge必须开启(statue查看)

          

           nmcli  device connect eth0                 ##启用eth0网卡(以太网第一块网卡)
           nmcli  device disconnect eth0            ##关闭eth0网卡

          


           nmcli  device show  eth0                    ##查看网卡信息
           nmcli  device status eth0                    ##查看网卡服务

          


           nmcli connection show
           nmcli connection down eth0
           nmcli connection up eth0

          


           nmcli connection delete redhat
           nmcli connection add type ethernet con-name redhat ifname eth0 ip4 172.25.254.216/24
           nmcli connection modify redhat ipv4.method auto
           nmcli connection modify redhat ipv4.method manual
           nmcli connection modify redhat ipv4.addresses 172.25.254.126

          

7.管理网络配置文件


         网络配置目录                                   注:在用系统文件配置网络时徐进入目录
         cd  /etc/sysconfig/network-scripts/
         网络配置文件的命名规则
          vim ifcfg-eth0            
          DEVICE=xxxx                                              ##设备名称
          BOOTPROTO=dhcp|static|none               ##设备工作方式
          ONBOOT=yes                                             ##开启时自动激活网卡
          IPADDR=172.25.254.100                         ##ip地址
          PREFIX=24                                                 ##子网掩码
          NETMASK=255.255.255.0                       ##子网掩码
          NAME=redhat                                             ##定义名字,不定义自动加system(不是必须的)

          systemctl restart network

我们不妨来做个示例:
          静态网络设定文件     首先还原实验环境

          cd  /etc/sysconfig/network-scripts/  

                   

           

       

一块网卡上配置多个IP

            DEVICE=eth0
            ONBOOT=yes
            IPADDR0=172.25.254.116
            PREFIX0=24
            IPADDR0=172.25.0.116
            PREFIX1=24
            NAME=redhat
            BOOTPROTO=none

            ip addr show eth0                  ##注:此命令查看多个IP

        

8.网关设置管理

对于网关和路由的定义:

      路由器
                  主要功能是用来作nat的
                  dnat    目的地地址转换
                  snat    源地址转换

      网关gateway
                  路由器上和自己处在同一个网段的那个ip

 我们来模拟一个实验环境来更形象的介绍网关的定义
#把真实主机变成路由器
systemctl  stop  libvirtd                ##关闭libvirtd虚拟服务
systemctl  restart  firewalld          ##重启火墙
systemctl  start  libvirtd                ##开启libvirtd虚拟服务

firewall-cmd --list
firewall-cmd --permanent --add-masquerade    ##显示success
firewall-cmd --reload
firewall-cmd --list-all
public (default, active)
  interfaces: br0 enp0s25 wlp3s0
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: yes        <<<地址伪装功能开启,真实主机变成路由器  no->yes
  forward-ports:
  icmp-blocks:
  rich rules:

可见我们的真实主机时可以上网的

#设定虚拟机网关

测试:

虚拟机与主机连通

虚拟机与百度的地址不通

设置全剧网关

vim /etc/sysconfig/network                                ##全局网关(针对所有没有设定网关的网卡生效)
GATEWAY=172.25.254.27                               ##加上网关

测试:

可见当添加网关后通过真实主机虚拟机能实现上网功能

设置指定配置网关

vim  /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY0=172.25.254.27                             ##网卡中有多个ip时需要指定ip生效
GATEWAY=172.25.254.27                               ##当网卡中的ip只有一个时

可见,这样也可以实现上网。

9.DNS设计管理

 DNS全名Domain name  srver == 域名解析服务                 ##就是一个用户地址的多个IP用一个域名表示

例如:
           ip                                      域名
220.181.111.188等         www.baidu.com

vim  /etc/hosts                                                               ##本地解析文件(只能打开百度网页的首页,其他节点不能打开)

实验如下:

vim /etc/hosts

由此可见修改本地解析文件只能打开一个网页节点

下面我们来做修改DNS只想文件的实验来:

vim  /etc/resolv.conf                                                                    ##dns的指向文件
nameserver  218.30.19.50                                                            ##当需要某个域名的ip地址时去问218.30.19.50

vim /etc/sysconfig/network-scripts/ifcfg-eth0                        ##网卡配置文件加
DNS=218.30.19.50

由此可见:网卡配置文件加载域名后可以不止实现只上一个网站
但值得注意:
当网络工作模式为 dhcp 时
系统会自动获得ip 网关  dns
那么/rtc/resolv.conf会被获得到的信息修改
如果不需要获得dns信息
在网卡中配置文件中加入
PEERDNS=no

10.设定解析的优先级

系统默认:/etc/hosts  >  /etc/resolv.conf

vim  /etc/nsswitch.conf
39 hosts:       files dns                           ##/etc/hosts优先

vim  /etc/nsswitch.conf
39 hosts:       dns files                           ##/etc/resolv.conf dns优先

#####dhcp服务######

[root@server0 ~]# yum install -y dhcp
安装dhcp软件包
[root@server0 dhcp]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
查看dhcpd服务配置文件
[root@server0 dhcp]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite '/etc/dhcp/dhcpd.conf'? y
拷贝配置文件

编辑配置文件
[root@server0 dhcp]# vim /etc/dhcp/dhcpd.conf
  7 option domain-name "redhat.com";
  8 option domain-name-servers 172.25.254.0;
  27 #subnet 10.152.187.0 netmask 255.255.255.0 {                  ##修改为注释
  28 #}                                                                                                    ##修改为注释
  32 subnet 172.25.254.0 netmask 255.255.255.0 {
  33   range 172.25.254.200 172.25.254.210;
  34   option routers 172.25.254.27;
  35 }
35行之后全部删除
[root@server0 dhcp]# systemctl start dhcpd
[root@server0 dhcp]# systemctl status dhcpd
dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled)
   Active: active (running) since Thu 2017-11-02 11:34:44 CST; 3s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 3024 (dhcpd)

让我们来做一个实验来验证以上结果:

在做此实验之前我们要确保提供服务的server主机装有dhcp服务,另外保证另一台client主机是动态获取ip地址的

我们先在server里做yum源的指向,来指向一个有镜像的主机,编辑rhel_dvd.repo文件

做完以上操作我们来安装DHCP服务

编辑 dhcp.conf文件

粘贴标注行并且覆盖源文件

编辑dhcpd.conf,以下为修改的内容:

注:35行以后全部删除

可见:

现在我们用另一台主机client来做测试:

不难看出我们实验成功获取了server主机提供的IP

用cat /var/lib/dhcpd/dhcpd.leases查看有哪些主机链接

###################################

           

猜你喜欢

转载自blog.csdn.net/houzeyu666/article/details/81258897
今日推荐