Linux网络属性配置管理

网络属性配置方式:

静态指令:

  • 命令:

    1. ifcfg家族:
       ifconfig:配置IP,NETMASK
       route:路由
       netstat:状态及统计数据查看
    2. iproute家族:
       ip OBJECT:
        addr:地址和掩码
        link:接口
        route:路由
        netns:网络名称空间
       ss:状态及统计数据查看(性能好于netstat)
    3. nm(Network Manager)家族(CentOS 7专用):
       nmcli:命令行工具
       nmtui:text window工具
  • 配置文件(RedHat系列发行版):

    1. 本地主机名配置:
       配置文件:/etc/sysconfig/network
       命令:
        [root@node1 ~]# hostname
        [root@node1 ~]# hostnamectl #(CentOS 7)
    2. 路由的相关配置文件:
      /etc/sysconfig/network-scripts/route-IFACE
    3. IP/NETMASK/GW/DNS等属性的配置文件:
      /etc/sysconfig/network-scripts/ifcfg-IFACE
      注意:
      配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通过大量参数来定义接口属性;其可通过vim等文本编辑器直接修改,也可以使用专用的命令进行修改。
      CentOS 6:system-config-networksetup
      CentOS 7:nmtulnmcli
      • ifcfg-IFACE配置文件格式:
        TYPE=Ethernet                                 #接口类型,常见的有Ethernet、Bridge;
        PROXY_METHOD=none                             #代理方式;
        BROWSER_ONLY=no                               #是否仅支持浏览器;
        BOOTPROTO=none                                #激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;
        DEFROUTE=yes                                  #是否为默认路由接口;
        IPV4_FAILURE_FATAL=no                         #是否开启IPV4致命错误检测;
        IPV6INIT=yes                                  #是否初始化IPv6;
        IPV6_AUTOCONF=yes                             #是否自动配置IPv6;
        IPV6_DEFROUTE=yes                             #是否为IPv6默认路由接口;
        IPV6_FAILURE_FATAL=no                         #是否开启IPV6致命错误检测;
        IPV6_ADDR_GEN_MODE=stable-privacy             #IPV6地址生成模型;
        NAME=ens33                                    #网卡物理设备名称;
        UUID=fac256e3-e571-4ef0-9770-d8c208eaeabf     #此设备唯一标识;
        DEVICE=ens33                                  #此配置文件对应的设备的名称;
        ONBOOT=yes                                    #在系统引导过程中,是否激活此接口;
        IPADDR=172.16.0.11                            #IP地址;
        PREFIX=24                                     #子网掩码;
        GATEWAY=172.16.0.1                            #默认网关;
        DOMAIN=taobao.com                             #DNS搜索域;
        DNS1=223.5.5.5                                #首选DNS服务器指向;
        DNS2=114.114.114.114                          #备选DNS服务器指向;
        USERCTL=no                                    #是否允许普通用户控制此设备;
        PEERDNS=yes                                   #如果BOOTPROTO的值为"dhcp",是否允许dhcp server分配的DNS服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;
        HWADDR=                                       #设备的MAC地址;
        NM_CONTROLLED=yes                             #是否使用NetworkManager服务来控制接口(CentOS 6建议关闭);
        
  • 网络服务:

    • network
    • NetworkManager(CentOS 6不完善,不建议使用)
    • 管理服务:
       CentOS 6:service SERVICE {start|stop|restart|status}
       CentOS 7:systemctl {start|stop|restart|status} SERVICE[.service]
    • 配置文件修改之后,如果要生效,需要重启网络服务;
        CentOS 6:[root@node1 ~]# service network restart
        CentOS 7:[root@node1 ~]# systemctl restart network.service
    • 用到非默认网关路由,且永久生效,需配置:/etc/sysconfig/network-scripts/route-IFACE
      • 支持两种配置方式,但不可混用:
        1. 每一行一个路由条目:
           TARGET via GW
           例:8.8.8.0/16 via 192.168.0.11
        2. 每三行一个路由条目:
           ADDRESS#=TARGET
           NETMASK#=MASK
           GATEWAY#=NEXTHOP
          例:ADDRESS0=192.16.20.0
            NETMASK0=255.255.255.0
            GATEWAY0=172.16.0.1
  • 给接口配置多个地址:
    除了ip addr之外,ifconfig或配置文件也都可以实现

    1. ifconfig IFACE_LABEL IPADDR/NETMASK
       IFACE_LABEL:ens33:0,ens33:1,...
      例:ifconfig ens33:0 192.168.18.12/24
    2. 为别名添加配置文件
       DEVICE=IFACE_LABEL
       BOOTPROTO=none(网卡别名不支持'dhcp'动态获取地址,仅能用static或none)

动态分配:依赖于本地网络中有的DHCP服务

 DHCP:Dynamic Host Configure Procotol


配置主机名

hostname命令:

  • 查看:hostname
  • 配置:hostname HOSTNAME
    注意:主机名立即生效,重启后无效;
  • 配置文件:/etc/sysconfig/network
    HOSTNAME=<HOSTNAME>
    注意:此方法的设置不会立即生效,重启后方能一直有效;

hostnamectl命令(CentOS 7专用):

  • 显示当前主机名信息:hostnamectl status
  • 设定主机名(永久有效):hostnamectl set-hostname HOSTNAME

配置DNS服务器指向:

  • 配置文件:/etc/resolv.conf
    nameserver DNS_SERVER_IP
    [root@node1 ~]# cat /etc/resolv.conf 
    # Generated by NetworkManager
    search simon.ye
    nameserver 192.168.1.1
    
  • 如何测试(host/nslookup/dig):
    [root@node1 ~]# dig -t A FQDN
      FQDN --> IP
    [root@node1 ~]# dig -x IP
      IP --> FQDN
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。