Linux从入门到精通——Linux下的网络配置

####linux下的网络配置###

1.什么是IP ADDRESS
       internet protocol ADDRESS    ##网络进程地址
       ipv4  internet protocol version 4
      ip是由32位组成,是由32个0和1组成
       11111111.11111111.11111110.11111110 = 254.254.254.254
       一个区域的集和叫网络位。

2.子网掩码
       是用来划分网络区域的,上面非0的位对应的ip,上的数字表示这个ip的网络位。0位对应的数字是ip的主机位。
       网络位表示网络区域


3.ip通信判定
    172.25.254.1/24     ##前三个为网络位,后面的1为主机位
    172.25.254.2/24     ##前两个可以连接
    172.25.2.1/16         ##这个包含前面两个的地址,所以就可以和那两个链接,但是前面两个链接后面这个有可能会出问题
                                  ##前两位一样的其实是都可以链接的,只是有可能不稳定
                                  ##最后一个这个网络区域大,包含上面两个网络区域小的

4.网络设定工具(临时设定)

     ping    ##检测网络是否通畅    ping -c 10 -i 0.5 172.25.254.10   ##表示 ping 172.25.254.10 这个主机 -c 表示 ping 的次数,-i 表示 ping的时间间隔。

     ifconfig   ##查看或设定网络接口
     ifconfig (device) ip/24   ##设定

     ifconfig (device) down/up      ##开启/关闭某接口
       【device的名字是一个物理事实(有什么用什么) eth0是网卡名】

     ip addr   ##检测或这顶网络接口 
     ip addr show   ##检测,查看
     ip addr add ip/24 dev device  ##设定ip没有ip的时候
     ip addr change ip/24 dev device  ##本来存在ip的时候

  在linux中只要在一个网卡上配置的ip是同一个网段的,那么它有Primary IP和Secondary address的区分,反之只要不是同一个网段的ip那么都是Primary IP;primary 和secondary 的关系就是一条链上的吊链结构中上面的那条主链中的IP就是Primary IP,Secondary address是主链结点的子链结点中的IP,一 旦主链上一个节点被删除了,那么它的子链也将不复存在,随之被删除

5.图形方式设定ip
   (1)nm-connection-editor
      networkmanager记录网络状态的服务
      关闭网络状态的服务关闭——>restart network——>再开启记录服务
      真正管理网络的是network
 
      【如果关闭了图形(init3)就用不了这个】
   (2)nmtui  ##有没有图形都能用,在有图形时直接输入nmtui

6.命令的方式设定网络
   (1)nmcli    ##前提是networkmanager必须开启

  Red Hat Enterprise Linux 7 与 CentOS 7 中默认的网络服务由 NetworkManager 提供,这是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态,同时也支持传统的 ifcfg 类型的配置文件。

   NetworkManager 可以用于以下类型的连接:Ethernet,VLANS,Bridges,Bonds,Teams,Wi-Fi,mobile boradband(如移动3G)以及 IP-over-InfiniBand。针对与这些网络类型,NetworkManager 可以配置他们的网络别名,IP 地址,静态路由,DNS,VPN连接以及很多其它的特殊参数。

   可以用命令行工具 nmcli 来控制 NetworkManager


        show显示网卡信息  status显示为谁工作的
        nmcli device connect eth0          ##启用eth0网卡
        nmcli device disconnect eth0     ##关闭eth0网卡
        nmcli device show eth0              ##显示网卡信息
        nmcli device status eth0            ##查看网卡服务接口信息

        nmcli connection show                  ##显示网卡接口信息
        nmcli connection down student      ##关闭网卡接口信息

        nmcli connection up student          ##开启网卡接口信息
        nmcli connection delete student    ##删除网卡接口信息
        nmcli connection add type ethernet con-name westos ifname eth0 ip4 172.25.254.100/24

                ##添加一个类型为以太网接口名称为westos网卡名称为eth0使用静态网络ipv4为以上的网络
        nmcli connection modify student ipv4.method auto                                ##更改ipv4的网络连接方式为动态的
        nmcli connection modify student ipv4.method manual                            ##更改ipv4的网络连接方式为静态的
        nmcli connection modify student ipv4.addresses 172.25.254.210/24    ##更改ipv4的地址是172.25.254.210/24

7.管理网络配置文件(以编辑文件的方式)
   (1)网络配置目录    /etc/sysconfig/network-scripts/
   (2)网络配置文件的命名规则
        ifcfg-xxx
        DEVICE=eth0     ##设备名称
        BOOTPROTO=dhcp(动态)|static|none(静态) 
                                            ##设备的工作方式
        ONBOOT=yes      ##网络服务开启时自动激活网卡      
        IPADDR=         ##IP地址
        PREFIX=24       ##子网掩码
        或者NETMASK=255.255.255.0  ##子网掩码
        NAME=           ##接口名称  
   
       示例:静态网络设定文件
       vim /etc/sysconfig/network-scripts/ifcfg-eth0
       DEVICE=eth0    
       BOOTPROTO=none
       ONBOOT=yes
       IPADDR=172.25.254.10
       PREFIX=24
       NAME=student

       systemctl restart network

       注意:同一个网卡设置多个ip
       ifconfig eth0  ##只能查看0的那个配置文件
       ip addr show   ##想要查看一个网卡全部的ip,用这个命令

8.lo回环接口
       回环接口————类似于人的神经————127.0.0.1————localhost
       主机内部,当一个服务只开在回环接口,只能自己链接。
       0.0.0.0表示都能用

9.网关
      假如虚拟机的IP为172.25.254.110,想要上网,而公网的IP为183.232.231.172.两个不在一个网域内,所以不能连接,需要一个转换器(toute路由器,路由器里面有很多区域的ip),虚拟机给路由器一个IP为172.25.254.110的包,然后路由器将这个包伪装一个新的IP为183.233.231.172的包发给公网。因为网络位相同所以可以连接。这个过程叫SNAT(SNAT = source network address transform)
   (DNAT =directory network address transform 目的地地址转换 )
   (1)把真实主机变成路由器
        systemctl stop libvirtd
        systemctl restart firewalld  ##火墙打开才会有地址伪装功能
        systemctl start libvirtd
   
        firewall-cmd --list
        firewall-cmd --permanent --add-masquerade(地址伪装)
        firewall-cmd --reload
        firewall-cmd --list-all
   

        当出现masquerade:yes的时候,地址伪装功能开启,真实主机变成路由器
   (2)设定虚拟机的网关(虚拟机通过哪一个IP链接路由器)
        vim /etc/sysconfig/network   ##全局网关(针对所有没有设定网关的网卡生效)
        GATEWAY=172.25.254.10

        vim /etc/sysconfig/network-scripts/ifcfg-eth0
        GATEWAY0=172.25.254.10   ##当网卡中设定的IP有多个的时候
        GATEWAY=172.25.254.10   ##当网卡中设定的IP有单个的时候

        systemctl restart network
        route -n        ##查看网关是否添加上

           【真机的网关查看:ifconfig bro0】
           【br0和虚拟机链接  wlp3s0和公网链接】
         ###当全部步骤做完后,ping主机的br0的IP的时候平不到,有可能是网卡的问题,在真实主机上,  1)输入virt-manager  2)点击desktop  3)点击灯泡
  4)将原本的网卡remove  5)add重新添加一个network,选择virtio
完成以后再ping主机

     ###当地址伪装,虚拟机也能ping通真实主机,那就看内核路由功能是否打开,在真机上, 1)vim /etc/sysctl.conf   2)sysctl -a | grep ip_forward   会发现net.ipv4.ip_forward=0(要更改这个为1)  3)sysctl -p   会更改成net.ipv4.ip_forward=1 

                            以上是应为自己知道网关是多少加在文件中的,然而不知道网关,就用不了上面的方法


10.设定DNS

   DNS = Domain name server == 域名解析服务
      ##解析就是把域名变成IP
      DNS 地址解析 把网址(域名)和IP联系到一起,通过网络共享
      谁提供地址解析,谁就是我的DNS(提供解析的ip)

   (1)vim /etc/resolv.conf   ##DNS的指向文件
        nameserver 114.114.114.114
            ##当需要某个域名的IP地址时去问114.114.114.114
            【即改即生效】

   (2)vim /etc/hosts/  本地解析文件(自己告诉自己,在文件添加baidu就是某一个ip) 
        ip            域名
        220.181.111.181       www.baidu.com

   (3)vim /etc/sysconfig/network-scripts/ifcfg-xxx
        DNS1=114.114.114.114
   
   注意:
    当网络工作模式为dhcp时,系统会自动获得:ip 网关 DNS
    那么/etc/resolv.conf会被获取到的信息修改
    如果不需要获得DNS信息,在网卡配置文件中加入
    PREEDNS=no



11.设定解析DNS的优先级
      系统默认:
      /etc/hosts > /etc/resolv.conf
      修改优先级:
      vim /etc/nsswitch.conf
      39.hosts: files dns   ##/etc/hosts优先
      39.hosts: dns  files  ##/etc/resolv.conf dns指向优先

 

12.dhcp配置服务

   在server服务器上设置:

    (1)yum install dhcp -y
    (2)vim /etc/sysconfig/network-scripts/ifcfg-eth0
    改成none
    (3)systemctl restart network
    (4)vim /etc/yum.repos.d/rhel_dvd.repo
      baseurl:http://172.25.254.250/rhel7
    (5)ping 172.25.254.250
    (6)yum clean all
    (7)yum repolist
   
    (8)vim /etc/dhcp/dhcpd.conf
    (9)cp /usr/share/doc/dhcp*/dhcp.conf.example /etc/dhcp/dhcpd.conf
    (10)vim dhcpd.conf
      ##27和28以及35行以后删除
      ##195 option domain-name "student.com"   域名 
      ##196 option domain-name-servers 114.114.114.114  DNS
      ##default-lease-time 600   默认租约期
      ##max-lease-time 7200    最长租约期
     
      ##subnet 172.25.254.0 netmask 255.255.255.0 { 子网设定                           ## subnet 网络     netmask 子网掩码
         range 172.25.254.160  172.25.254.200;  IP地址池
          option routers 172.25.254.250;   网关
         }

    (11)systemctl restart dhcpd
    (12)systemctl stop firewalld

    测试:

 在client客户端上:

  重新添加一块网卡,配置网络。

  1.可以在图形界面:   nm-connection-editor  —>  将类型配置为 dhcp 模式  —>  保存  —>  ifconfig 查看是否有分配的 ip

  2.可以用命令行的方式:   nmcli  connection  modify  eth1  ipv4.method  manual

     结果:在网络工作模式是dhcp的主机中重启网络可以看到 IP GW DNS全部获取成功

 

原文地址:https://www.cnblogs.com/wf-aiyouwei/p/9393259.html