【Linux】网络基本配置命令

一、使用网络配置命令

1.常用网络配置文件

1.1. /etc/hosts

"/etc/hosts"文件保存着IP地址和主机名或域名的静态映射关系。当用户使用一个主机名或域名时,系统会在该文件中查找与它对应的IP地址。

shell 复制代码
[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
1.2. /etc/hostname

"/etc/hostname"文件用于保存主机名localhost。

shell 复制代码
[root@localhost ~]# cat /etc/hostname
localhost
1.3. /etc/services

"/etc/services"文件用于保存各种网络服务与该网络服务所使用的默认端口及协议的映射关系。以下是部分数据

shell 复制代码
[root@localhost ~]# cat /etc/services
ftp             21/tcp
ftp             21/udp           fsp fspd
ssh             22/tcp           # The Secure Shell (SSH) Protocol
ssh             22/udp          # The Secure Shell (SSH) Protocol
telnet         23/tcp
telnet         23/udp
项目 Value
service-name 网络服务名
port/protocol 服务端口和协议
[aliases...] 网络服务的别名
[#comment] 注释或说明
1.4. /etc/sysconfig/network-scripts/ifcfg-网卡名

"/etc/sysconfig/network-scripts/ifcfg-网卡名"文件是网卡配置文件,保存着设备类型、网卡名、IP地址、子网掩码、网关地址、DNS服务器等信息。不同网卡对应不同配置文件。

shell 复制代码
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=d04251c2-91a6-485b-9891-16cf6fe6b4f4
ONBOOT=yes

2.常用网络配置命令

2.1. 显示网卡的配置信息---ifconfig命令
shell 复制代码
[root@localhost ~]# ifconfig ens160 192.168.1.164 netmask 255.255.255.0
[root@localhost ~]# ifconfig ens160 
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.164  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2409:8931:95:7e34:9905:cc5f:c384:6300  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::cddc:8b96:ae5f:1d7b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:8a:69:d5  txqueuelen 1000  (Ethernet)
        RX packets 2702  bytes 3601093 (3.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1478  bytes 147517 (144.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
2.2. 配置网卡信息------nmcli命令
bash 复制代码
# 显示所有网络连接
[root@localhost ~]# nmcli connection show
# 显示设备连接状态
[root@localhost ~]# nmcli device status
# 显示所有设备详细信息
[root@localhost ~]# nmcli device show
# 重新加载网络配置文件
[root@localhost ~]# nmcli connection reload
# 手动配置网卡信息
[root@localhost ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.1.165/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.1
# 使用静态IP地址创建网络连接,其中,con-name指定网络连接名,ifname指定网卡名,type指定设备类型
[root@localhost ~]# nmcli connection add con-name company ifname ens160 type ethernet ip4 192.168.1.165/24 gw4 192.168.1.1
# 使用动态IP地址创建网络连接
[root@localhost ~]# nmcli connection add con-name company01 type ethernet ifname ens160
2.3. 显示和修改主机名------hostname和hostnamectl命令
shell 复制代码
[root@localhost ~]# hostname
localhost
[root@localhost ~]# hostnamectl set-hostname Gao
[root@localhost ~]# hostnamectl
   Static hostname: Gao
         Icon name: computer-vm
           Chassis: vm
        Machine ID: d19c7aea263b496ca39c4062af306c9b
           Boot ID: 37bc06b2e3584b77bb880e887d6083fe
    Virtualization: vmware
  Operating System: Red Hat Enterprise Linux 8.0 (Ootpa)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:8.0:GA
            Kernel: Linux 4.18.0-80.el8.x86_64
      Architecture: x86-64

通过hostname命令修改主机名只是临时有效,当重启系统后,指定的主机名将失效。

二、使用网络调试命令

1. 测试网络连通性------ping命令

检查本地网络栈是否正常工作

shell 复制代码
[root@localhost ~]# ping -c 3 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.072 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.087 ms

--- 127.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 60ms
rtt min/avg/max/mdev = 0.072/0.078/0.087/0.009 ms

2. 显示网络相关信息(netstat)

显示网络相关信息使用netstat命令,包括正在监听的服务、已连接的会话、正在结束的会话、接口状态等信息,其格式如下。

shell 复制代码
[root@localhost ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 Gao:domain              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN  

3. 显示数据包到达主机所经过的路由信息(tracepath)

访问百度域名的部分路由信息

shell 复制代码
[root@localhost ~]# tracepath www.baidu.com
 1?: [LOCALHOST]                        0.009ms pmtu 1432
 1:  ah-ipv6                            2.570ms 
 1:  ah-ipv6                            6.331ms 
 2:  fd00:a0a:25::ffff                  1113.912ms 
 3:  ah-ipv6                            123.184ms 

当两台主机之间无法正常ping通时,可以使用tracepath命令追踪数据包到达目的主机时途经的所有路由信息,以分析是哪台主机出了问题。

4. 显示域名和IP地址的对应关系(nslookup)

shell 复制代码
[root@localhost ~]# nslookup www.baidu.com
Server:		172.20.10.1
Address:	172.20.10.1#53

Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: 36.155.132.3
Name:	www.a.shifen.com
Address: 36.155.132.76
Name:	www.a.shifen.com
Address: 2409:8c20:6:1135:0:ff:b027:210c
Name:	www.a.shifen.com
Address: 2409:8c20:6:1d55:0:ff:b09c:7d77
相关推荐
码上飞扬2 分钟前
Nginx功能及应用全解:从负载均衡到反向代理的全面剖析
运维·nginx·负载均衡
良许Linux4 分钟前
为什么我学了几天 STM32 感觉一脸茫然?
linux
良许Linux15 分钟前
为什么程序员必须坚持写技术博客?
linux
azaz_plus16 分钟前
Linux makefile的一些语法
linux·makefile
圈圈编码21 分钟前
WebSocket
java·网络·spring boot·websocket·网络协议·spring
奔跑吧 android21 分钟前
《Linux内存管理:实验驱动的深度探索》【附录】【实验环境搭建 4】【Qemu 如何模拟numa架构】
linux·qemu·内存管理·kernel
良许Linux28 分钟前
不想做程序员了,自己又没其他本领,能干什么呢?
linux
Brilliant Nemo34 分钟前
Docker 镜像相关的基本操作
运维·docker·容器
良许Linux38 分钟前
程序员加班的真正原因是什么?
linux
良许Linux1 小时前
C++ 程序员入门需要多久,怎样才能学好?
linux