网络配置基础(文件及命令)

时间:2024-05-22 13:21:12

  Linux主机要与网络中其他主机进行通信,首先要进行正确的网络配置。网络配置通常包括主机名、IP地址、子网掩码、默认网关、DNS服务器等。

常见网络配置文件

TCP/IP网络的配置信息是分别存储在不同的配置文件中的,相关配置文件有/etc/sysconfig/network,网卡配置文件、/etc/hosts、/etc/resolv.conf 以及/etc/host.conf 等。

  • /etc/sysconfig/network
    该文件主要用于设置基本的网络配置,包括主机名称、网关等

      [[email protected] Desktop] # cat /etc/sysconfig/network
      NETWORKING=yes
      HOSTNAME=Server
      GATEWAY=192.168.239.142
    

    ~NETWORKING:设置Linux网络是否运行,取值yes或no
    ~NETWORKING_IPV6:设置是否启用IPV6,取值yes或no
    ~HOSTNAME:设置主机名称
    ~GATEWAY:设置网关的IP地址     ## 该文件中为全局网关
    除以上外,常见的还有这些选项
    ~GATEWAYDEV:设置连接网关的网络设备
    ~DOMAINNAME:设置本机域名

  • /etc/sysconfig/network-scripts/ifcfg-eth0
    网卡配置文件,包含网卡设备名,IP地址,子网掩码,网关等配置信息,一块网卡对应一个配置文件,如系统第一块网卡配置文件名ifcfg-eth0,第二块ifcfg-eth1 以此类推。网卡配置文件如下格式:

       [[email protected] Desktop] # cd /etc/sysconfig/network-scripts/
       [[email protected] network-scripts] # cat ifcfg-eth0
       DEVICE=eth0
       BOOTPROTO=none
       ONBOOT=yes
       HWADDR=00:0C:29:FA:AD:85
       IPADDR=192.168.239.142
       NETMASK=255.255.255.0    #PREFIX=24
       NETWORK=192.168.239.0
       GATEWAY=192.168.239.254
    

    ~DEVICE:当前网卡设备名称
    ~BOOTPROTO:获取IP的方式,取值为none、static或dhcp
    ~ONBOOT:设置系统启动时是否启动该设备
    ~HWADDR:该网络设备MAC地址
    ~IPADDR:该网络谁被IP地址
    ~NETMASK:该网络设备子网掩码
    ~NETWORK:该网络设备所处网络的地址
    ~GATEWAY:网卡网关地址        ## 该文件中为网卡接口网关
    再介绍一下动态和静态网络的网卡配置文件内容
    静态:

                 DEVICE=eth0			                               ##设备
                 BOOTPROTO=static|none		                           ##网卡工作模式静态
                 ONBOOT=yes			                                   ##开启网络服务启动设备
                 NAME=eth0			                                   ##指定网络接口名称
                 IPADDR=172.25.0.100		                           ##IP
                 NETMASK=255.255.255.0 | PREFIX=24                     ##子网掩码
    

    动态:

                 DEVICE=eth0		
                 BOOTPROTO=dhcp		                                   ##网卡工作模式动态
                 ONBOOT=yes		
                 NAME=eth0		
    

    每次设置完后,记得 systemctl restart network 重启网络

  • /etc/hosts
    该文件存储IP地址和主机名的静态映射关系,用于本地名称解析,系统默认优先级高于/etc/resolv.conf

      [[email protected] Desktop] # cat /etc/hosts
      #Do not remove the following line, or various programs
      #that require network functionality will fail
      127.0.0.1         jnrp-mlx localhost.localdomain localhost
      202.108.22.5      www.baidu.com
    
  • /etc/resolv.conf
    该文件是DNS客户端用于指定系统所用的DNS服务器的IP地址,还可以设置当前主机所在的域以及DNS搜寻路径

      [[email protected] Desktop] # cat /etc/resolv.conf
      nameserver 192.168.0.5
      nameserver 114.114.114.114
      search jw.com
      domain jw.com
    

    ~nameserver:设置DNS服务器的IP地址,可设置多个,解析时按顺序使用
    ~search:设置DNS搜寻路径,不完全域名解析时,默认附加域名后缀
    ~domain:设置计算机的本地域名

  • /etc/host.conf
    指定如何进行域名解析,通常包含:
    order:设置主机名解析的可用方法及顺序,可用方法包括hosts(利用/etc/hosts文件解析),bind(利用DNS服务器解析),NIS(利用网络信息服务器解析)
    multi:设置是否从/etc/hosts文件中返回主机的多个IP地址,取值为on或off
    nospoof:取值为on或off,当设置为on时,系统会启动对主机名的欺骗保护以提高rlogin、rsh等程序的安全性
    网络配置基础(文件及命令)

  • /etc/services
    保存各种网络服务名称与该网络服务所使用的协议及默认端口号的映射关系

      ssh				22/tcp					## SSH Remote Login Protocol
      ssh				22/udp					## SSH Remote Login Protocol
      telnet			23/tcp
      telnet			23/udp                   ## telnet采用明文传输,已经淘汰
    

常见网络配置命令

Linux系统网络设置,除可以修改各种配置文件之外,也可以用相关网络配置命令进行设置,我们来介绍几种常见网络配置命令

  • hostname
    显示或者临时设置当前主机名称,修改的主机名只是临时的,要永久修改需要修改配置文件

     [[email protected] Desktop] # hostname                                    ##显示当前主机名称
     localhost.localdomain
     [[email protected] Desktop] # hostname network                            ##临时设置主机名称为network
     [[email protected] Desktop] # hostname
     network
    

  

  • ping
    主要用于测试本主机与目标主机的连通性
    网络配置基础(文件及命令)
    常用选项:
    -c  count:指定ping命令发出的ICMP的消息数量,不加的话,发无限次消息
    -i  interval:两次ICMP消息包的时间间隔,不加的话,默认时间间隔1s
    -s:设置发出的每个消息的数据包大小,默认64字节
      

  • ifconfig
    该命令是使用频率相当高的,可以查看系统网络接口状况,也可以对网络接口设置进行修改
    网络配置基础(文件及命令)
    系统中启动了两个网络接口eno16777736(一般为eth0,我的虚拟机问题该网卡名这么长)和lo,各网络接口信息:
    ~inet :此接口对应的IP地址
    ~inet6 :此接口对应的IPv6的IP地址
    ~broadcast:广播地址
    ~netmask:子网掩码
    ~mtu:最大传输单元,表示此接口能传输的最大帧数
    ~TX packets:传出的数据包数,错误数、遗失数和溢流数
    ~RX packets:接收的数据包数,错误数、遗失数和溢流数
    该命令还可以用来启动(up)或关闭(down)某个网络接口

     [[email protected] Desktop] # ifconfig eth0 up                             ##启动eth0
     [[email protected] Desktop] # ifconfig eth0 down                           ##关闭eth0
     [[email protected] Desktop] # ifconfig eth0 192.168.239.142 netmask 255.255.255.0    ##临时设定
    

  

  • route
    查看本机路由表,添加、删除路由条目,设置默认网关等
    网络配置基础(文件及命令)
    ~Destination:目标网络IP地址,可以是一个网络地址,也可以是一个主机地址
    ~Gateway:网关地址,即该路由条目中下一跳的路由器IP地址
    ~Flags:路由标识,其中U表示路由项是活动的;H表示目标是单个主机;G表示使用网关;R表示对动态路由进行复位;D表示路由项是动态安装的;M表示动态修改路由;!表示拒绝路由。其他就先不介绍了
      
  • nm-connection-editor
    配置ip的图形化界面,最快捷的方式
    网络配置基础(文件及命令)
    这篇先写到这里,后续补充。。。。。。