0


网络配置命令

文章目录

一、查看网络接口信息

ifconfig

主机的网络接口卡(网卡)通常称为网络接口。在 Linux 操作系统中,使用

ifconfig

命令可以查看网络接口的地址配置信息(Interface Configuration)。

若采用 mini 版 CentOS 7 安装的系统,默认是没有

ifconfig

命令的,需要先通过

yum

方式安装

net-tools

软件包,才有

ifconfig

命令。

1.1 网络接口名称

  • ens33:第一块以太网卡的名称。“ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。
  • lo:回环网络接口,“lo”是“loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其 IP 地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试。

1.2 使用

ifconfig

查看网络接口信息

ifconfig# 显示已启用的网络接口,不包括禁用的设备
1.2.1 输出示例
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.245.211  netmask 255.255.255.0  broadcast 192.168.245.255
        inet6 fe80::20c:29ff:fef4:bf17  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f4:bf:17  txqueuelen 1000(Ethernet)
        RX packets 117334  bytes 171217990(163.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 17699  bytes 1155659(1.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
inet 192.168.245.211  # ip地址
netmask 255.255.255.0  # 子网掩码
broadcast 192.168.245.255  # 广播地址
ether 00:0c:29:f4:bf:17   # mac地址

image-20240714185735120

1.2.2 输出解释
  1. 第一行:以太网卡的名字不是常见的 eth0,变成了 ens33。- en 代表以太网卡。- ens33 代表 PCI 接口的物理位置为 (0,3),其中横坐标代表 bus,纵坐标代表 slot。- UP:代表此网络接口为启用状态(down 为关闭状态)。- RUNNING:代表网卡设备已连接。- MULTICAST:表示支持组播。- MTU:为数据包最大传输单元。
  2. 第二行:网卡的 IP 地址、子网掩码、广播地址。
  3. 第三行:IP v6 地址。
  4. 第四行:Ethernet(以太网)表示连接类型;ether 表示为网卡的 MAC 地址。
  5. 第五行:接收数据包个数、大小统计信息。
  6. 第六行:异常接收包的个数,如丢包量、错误等。
  7. 第七行:发送数据包个数、大小统计信息。
  8. 第八行:发送包的个数,如丢包量、错误等。

1.3 查看特定网络接口信息

ifconfig ens33    # 只查看网卡 ens33 的配置信息
1.3.1 输出示例
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.245.211  netmask 255.255.255.0  broadcast 192.168.245.255
        inet6 fe80::20c:29ff:fef4:bf17  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f4:bf:17  txqueuelen 1000(Ethernet)
        RX packets 117396  bytes 171222511(163.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 17724  bytes 1159336(1.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1.4 查看所有网络接口信息

ifconfig-a# 显示所有活动及非活动的连接

image-20240714185807935

1.5 特殊网络接口

  • lo:表示主机的回环地址,IP 地址固定为 127.0.0.1,子网掩码为 8 位,表示本机。用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD 服务器的指定到回环地址,在浏览器输入 127.0.0.1 就能看到你所架设的 WEB 网站,但只是您能看得到,局域网的其它主机或用户无从知道。
  • virbr0:是一个虚拟的网络连接端口,默认为 0 号虚拟网络连接端口。一般在通过虚拟机进行移植操作系统时,默认会以 nat 的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是 CentOS 镜像的虚拟机,所以会有这一行)。

二、修改网络配置文件

网络接口的配置文件默认位于

/etc/sysconfig/network-scripts/ifcfg-ens33

。文件名格式为 “ifcfg-XXX”,其中“XXX”是网络接口的名称。例如,网卡 ens33 的配置文件是 “ifcfg-ens33”,回环接口 lo 的配置文件是 “ifcfg-lo”。

2.1 配置文件示例

TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"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="ens33"UUID="769b6c3c-8981-44ca-8920-26b48cad5496"DEVICE="ens33"ONBOOT="yes"IPADDR=192.168.78.22
NETMASK=255.255.255.0
GATEWAY=192.168.78.2
DNS1=114.114.114.114

image-20240714185914568

2.2 使配置生效

在 CentOS 7 操作系统中,当修改了网络接口的配置文件以后,若要使新的配置生效,可以重新启动 network 服务或者重启主机。

systemctl restart network  # 重启网络服务

2.3 关闭 NetworkManager 服务

建议关闭 NetworkManager 服务,否则有时启动 network 会报错。

systemctl stop NetworkManager
systemctl disable NetworkManager

三、设置网络接口参数

ifconfig
ifconfig

命令不仅可以用于查看网卡配置,还可以修改网卡的 IP 地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。

3.1 启用、禁用网络接口配置

ifconfig ens37 down  # 禁用网络接口ifconfig ens37 up    # 启用网络接口

3.2 使用

ifup

ifdown

控制网络接口

ifup ens37    # 启用网络接口ifdown ens37  # 禁用网络接口

3.3 为网卡绑定虚拟接口

在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的 IP 地址,但是又不能覆盖原有 IP 地址而导致服务程序不可用。这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的 IP 地址(相当于一块网卡配多个 IP 地址)。

ifconfig ens37:0 192.168.10.20 netmask 255.255.255.0   #

 临时配置网卡的 IP 地址
ifconfig ens37:0 192.168.10.20/24  # 当不指定子网掩码时,将使用 IP 地址所在分类的默认子网掩码

image-20240714190048399

四、查看主机名称

hostname

主机名在 Linux 操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障。

4.1 查看主机名

hostname

示例输出:

localhost.localdomain

4.2 修改主机名

4.2.1 临时修改
hostname newhostname
4.2.2 永久修改
hostnamectl set-hostname newhostname

也可以直接编辑

/etc/hostname

文件。

image-20240714190116352

五、查看路由表条目

route

路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。

5.1 查看当前路由表信息

route

示例输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    000 ens33
link-local      0.0.0.0         255.255.0.0     U     100200 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     000 virbr0
192.168.245.0   0.0.0.0         255.255.255.0   U     000 ens33

image-20240714190204407

5.2 查看数字形式的路由表

route -n

示例输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.245.2   0.0.0.0         UG    000 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     100200 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     000 virbr0
192.168.245.0   0.0.0.0         255.255.255.0   U     000 ens33

image-20240714190334333

5.3 使用

ip route

查看路由配置

ip route show

示例输出:

default via 192.168.245.2 dev ens33 
169.254.0.0/16 dev ens33 scope link metric 1002192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
192.168.245.0/24 dev ens33 proto kernel scope link src 192.168.245.211 

image-20240714190402609

5.4 添加和删除静态路由

5.4.1 添加静态路由
route add-net192.168.3.0/24 gw 192.168.10.1
5.4.2 删除静态路由
route del -net192.168.3.0/24

5.5 添加和删除默认网关

5.5.1 添加默认网关
route add default gw 192.168.10.1
5.5.2 删除默认网关
route del default gw 192.168.10.1

六、

netstat

命令

netstat

命令用于查看当前操作系统的网络连接状态、路由表、接口统计等信息,是了解网络状态及排除网络服务故障的有效工具。

6.1 常用参数

  • -n:以数字的形式显示相关的主机地址、端口等信息。
  • -r:显示路由表信息。
  • -a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
  • -l:显示处于监听状态的网络连接及端口信息。
  • -t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。
  • -u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。
  • -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。

6.2 使用示例

6.2.1 显示所有 TCP 连接
netstat-at
6.2.2 显示所有 UDP 连接
netstat-au
6.2.3 显示所有活动的网络连接
netstat-a
6.2.4 显示所有监听状态的网络连接及端口信息
netstat-l
6.2.5 显示所有监听状态的 TCP 连接
netstat-lnpt
6.2.6 显示所有监听状态的 UDP 连接
netstat-lnpu

6.3

netstat

ss

命令的对比

当服务器的 socket 连接数量变得非常大时,使用

netstat

命令可能会很慢。相比之下,

ss

命令更快速更高效,尤其是在服务器维持大量连接时。

image-20240714190445464

image-20240714190506719

七、

ss

命令

ss

命令(Socket Statistics)用于获取 socket 统计信息,显示和

netstat

类似的内容,但能显示更多更详细的有关 TCP 和连接状态的信息,比

netstat

更快速更高效。

7.1

ss

命令参数

  • -h:–help,获取更多使用帮助。
  • -V:–version,显示软件版本号。
  • -t:–tcp,显示 TCP 协议的 sockets。
  • -u:–udp,显示 UDP 协议的 sockets。
  • -n:–numeric,不解析服务的名称。
  • -l:–listening,只显示处于监听状态的端口。
  • -p:–processes,显示监听端口的进程。
  • -a:–all,显示所有套接字(sockets)。
  • -r:–resolve,把 IP 解释为域名,把端口号解释为协议名称。

7.2 使用示例

7.2.1 显示所有 TCP 连接
ss -t-a
7.2.2 显示 Sockets 摘要
ss -s
7.2.3 显示所有打开的网络连接端口
ss -l
7.2.4 查看进程使用的 socket
ss -pl
7.2.5 找出打开特定端口的应用程序
ss -lp|grep3306
7.2.6 显示所有 UDP Sockets
ss -u-a
7.2.7 显示所有状态为 established 的 HTTP 连接
ss -o state established '( dport = :http or sport = :http )'
7.2.8 列举处于 FIN-WAIT-1 状态的源端口为 80 或 443 的所有 TCP 套接字
ss -o state fin-wait-1 '( sport = :http or sport = :https )' dst 193.233.7/24

image-20240714190549137

image-20240714190628776

八、测试网络连通性:

ping

使用

ping

命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按 Ctrl+C 组合键后中止测试,并显示最终统计结果。

8.1 常用示例

8.1.1 测试与某 IP 地址的连通性
ping192.168.10.10
8.1.2 指定发送的 ICMP 数据包数
ping-c10192.168.10.10
8.1.3 设置 ping 的间隔时间
ping-c10-i0

.5 192.168.10.10
8.1.4 设置 ping 的超时时间
ping-w5 www.baidu.com

image-20240714190716741

8.2 错误反馈信息

  • “Destination Host Unreachable”:目的主机不可达,可能目标地址不存在或者主机已经关闭。
  • “Network is unreachable”:没有可用的路由记录(如默认网关),无法达到目标主机所在的网络。
  • “Request timeout”:目标主机有严格的防火墙限制,或者网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)。

九、跟踪数据包

traceroute

若服务器上没有

traceroute

命令,可通过

yum

方式安装

traceroute

软件包。

9.1 使用

traceroute

跟踪数据包

traceroute192.168.245.201
traceroute

命令能够比

ping

命令更加准确地定位网络连接的故障点(中断点),因此执行速度会比

ping

命令稍慢。在网络测试与排错过程中,通常会先使用

ping

命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用

traceroute

命令跟踪查看是在哪个中间结点存在故障。

image-20240714190756228

十、配置网络参数

10.1 临时配置

通过命令行直接修改当前正在使用的网络地址,修改后立即生效。这种方式操作简单快速,执行效率高,一般在调试网络的过程中使用。但由于所做的修改没有固定地存放在静态的文件中,因此当重启 network 服务或重启主机后将会失效。

10.2 永久配置

通过配置文件来存放固定的各种网络地址,需要重启 network 服务或重启主机后才会生效。这种方式操作上相对复杂,但相当于“永久配置”,一般在需要为服务器设置固定的网络地址时使用。

十一、查看本主机 IP

hostname-i

示例输出:

fe80::20c:29ff:fe4f:e948%ens33 192.168.245.151 192.168.122.1

image-20240714190834564

十二、域名解析

nslookup

12.1 安装

bind-utils
yum install-y bind-utils

12.2 使用

nslookup

查询域名

nslookup www.google.com

示例输出:

Server:        114.114.114.114
Address:    114.114.114.114#53

Non-authoritative answer:
Name:    www.google.com
Address: 31.13.87.19
Name:    www.google.com
Address: 2001::45ab:f20b

image-20240714190919107

十三、域名解析配置文件

13.1 修改

/etc/resolv.conf

文件

vi /etc/resolv.conf 

内容示例:

search localdomain 
nameserver 202.106.0.20 
nameserver 202.106.148.1
resolv.conf

文件中的“search localdomain”行用来设置默认的搜索域(域名扩展名)。例如,当访问主机“localhost”时,就相当于访问“localhost.localdomain”。一行一个 DNS,最多配置三个 DNS。

image-20240714191136027

13.2 本地主机映射文件

/etc/hosts

文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。

若在

/etc/hosts

文件中添加“119.75.218.70 www.baidu.com”的映射记录,则当访问网站 www.baidu.com 时,将会直接向 IP 地址 119.75.218.70 发送 Web 请求,省略了向 DNS 服务器的查询。

119.75.218.70 www.baidu.com

image-20240714191318336

十四、查询 DNS 记录

dig
dig

是一个在类 Unix 命令行模式下查询 DNS 记录(包括 NS 记录、A 记录、MX 记录等)相关信息的工具,系统默认安装。

14.1 使用

dig

查询域名

dig www.baidu.com

示例输出:

;<<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15827;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:
;www.baidu.com.            IN    A

;; ANSWER SECTION:
www.baidu.com.        882    IN    CNAME    www.a.shifen.com.
www.a.shifen.com.    189    IN    A    180.101.49.12
www.a.shifen.com.    189    IN    A    180.101.49.11

;; Query time: 14 msec
;; SERVER: 114.114.114.114#53(114.114.114.114);; WHEN: 一 6月 2119:51:19 CST 2021;; MSG SIZE  rcvd: 101

P2.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15827
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A

;; ANSWER SECTION:
www.baidu.com. 882 IN CNAME www.a.shifen.com.
www.a.shifen.com. 189 IN A 180.101.49.12
www.a.shifen.com. 189 IN A 180.101.49.11

;; Query time: 14 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: 一 6月 21 19:51:19 CST 2021
;; MSG SIZE rcvd: 101


![image-20240714191346253](https://img-blog.csdnimg.cn/img_convert/9df56a0729a922aa1a5d9239299a7906.png)
标签: 网络

本文转载自: https://blog.csdn.net/xw2441176267/article/details/140421169
版权归原作者 爱吃糖的蠢猫 所有, 如有侵权,请联系我们删除。

“网络配置命令”的评论:

还没有评论