Skip to main content

网络管理

网络管理

配置网络

在统信服务器操作系统中,一般用于配置网络接口的命令行工具包括:ifconfig、ifup、ifdown。

ifconfig命令

管理员用户可以使用ifconfig命令查看网络设备状态信息,以及对网络接口进行配置。

■命令格式:ifconfig [网络设备] [参数]

■常用选项

ifconfig常用选项

选项 描述
add <地址> 设置网络设备的IP地址。
del <地址> 删除网络设备的IP地址。
down 关闭指定的网络设备。
netmask <子网掩码> 设置网络设备的子网掩码。

■执行示例

◆执行ifconfig命令,显示网络设备信息。

◆执行ifconfig eth1 down命令,关闭网络接口eth1。

◆执行ifconfig -a命令,显示当前有效的全部接口信息。

ifup命令

管理员用户可以使用ifup命令激活一个指定的网络接口。例如,执行ifup eth1命令,可激活网络接口eth1。

ifdown命令

管理员用户可以使用ifdown命令关闭一个指定网络接口。例如,执行ifdown eth1命令,可关闭网络接口eth1。

nmcli命令

■显示网络管理器的整体状态。

nmcli general status

■查看主机名。

nmcli general hostname

■设置主机名。

nmcli general hostname new_name

■查看所有网络信息。

nmcli connection show

■查看指定接口信息。

nmcli connection show ens33

■显示所有活动连接。

nmcli connection show --active

■查看网络设备状态。

nmcli device status

■创建动态IP地址的网卡连接。

nmcli connection add type ethernet con-name ens37 ifname ens37

:::note

:::

■connection add:添加新的连接。

■con-name:连接名。

■type:设备类型。

■ifname:接口名。

■创建固定IP地址的网卡连接。

nmcli connection add type ethernet con-name ens37 ifname ens37 ipv4.addresses 192.168.38.142/24 ipv4.gateway 192.168.38.2 ipv4.method manual

■重载配置文件使配置生效。

nmcli connection reload

■启动ens37网卡。

nmcli connection up ens37

■停止ens37网卡。

nmcli device disconnect ens37

■给ens37网卡添加DNS。

nmcli connection modify "static" ipv4.dns "202.131.124.4 202.131.124.5"

:::note

static为连接名。 :::

■删除网卡。

nmcli connection show
nmcli connection delete 网卡名称

■修改网卡的IP地址。

nmcli connection modify ens37 ipv4.addresses 192.168.38.161/24

:::note

ens37为网卡名称 :::

■查看生成的配置文件。

cat /etc/sysconfig/network-scripts/ifcfg-ethernet-ens37

■修改连接名称。

nmcli connection modify ethernet-ens37 con-name ens37

■允许/禁止开机自动启动。

nmcli connection modify enp2s0 connection.autoconnect yes
nmcli connection modify enp2s0 connection.autoconnect no

■给网卡增加IP地址或者删除额外的IP地址。

nmcli connection modify ens37 +ipv4.addresses 192.168.38.161/24
nmcli connection modify ens37 -ipv4.addresses 192.168.38.161/24

■重启网络。

nmcli connection reload
systemctl restart NetworkManager

管理IP地址

统信服务器操作系统中,一般用于管理IP地址的命令行工具包括:ip、dhclient、route。

ip命令

ip命令用来显示或操作Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。

使用ip命令,只需一个命令,您就能很轻松地执行一些网络管理任务。相对于ifconfig,ip命令功能更强大。

统信服务器操作系统已经预装了iproute软件包(提供ip命令),可以轻松的管理IP地址。

■命令格式:ip [选项] [参数]...

ip对象说明

■常用选项说明

ip常用选项说明

选项 说明
-V -Version:显示版本信息。
-s -stats,statistics:输出详细信息。
-h -human,-human-readable:输出人类可读的统计信息和后缀。
-o -oneline:将每条记录输出到一行,用‘\’字符代替换行符。

■执行示例

◆执行ip addr show或ip address show命令,显示网卡及配置的地址。

◆执行ip addr add 192.168.100.20/24 dev eth0命令,设置IP地址。24表示子网掩码的长度是24位,换算成十进制是255.255.255.0。

◆执行ip addr del 192.168.100.20/24 dev eth0命令,删除IP地址。

◆执行ip route list命令,显示核心路由表。

dhclient命令

dhclient命令用于动态获取或释放IP地址。

■命令格式:dhclient [选项][参数]

■常用选项

dhclient常用选项

选项 说明
-p 指定DHCP客户端监听的端口号。
-d 总是以前台方式运行程序。
-r 释放IP地址。
-4/-6 支持IPv4或者IPv6。

■执行示例

◆执行dhclient -4 eth0命令,指定支持IPv4协议。

◆执行dhclient -r命令,释放当前IP地址。

route命令

route命令用于显示和操作IP路由表。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。

:::note

直接执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了。可以在“/etc/rc.local”中添加route命令来设置路由永久有效。 :::

■命令格式:route [选项] [参数]

■常用选项

route常用选项

参数 描述
-n --numeric:不解析名字。
-v --verbose:显示详细的处理信息。
-F --fib:显示发送信息。
-C --cache:显示路由缓存。
add 添加一条新路由。
del 删除一条路由。
-net 目标地址是一个网络。
-host 目标地址是一个主机。
netmask 当添加一个网络路由时,需要使用网络掩码。
metric 设置路由跳数。
gw 路由数据包通过网关。注意,您指定的网关必须能够达到。

■执行示例

◆执行route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0命令,添加一条到达192.168.100.0网络的路由,指定网络掩码为255.255.255.0,数据包通过网络接口eth0。

◆执行route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.100.1命令,添加一条到达192.168.100.0网络的路由,指定网络掩码为255.255.255.0,数据包通过网关192.168.100.1。

◆执行route add -host 192.168.100.20 gw 192.168.100.1命令,所有去往192.168.100.20主机的数据包发往网关192.168.100.1。

◆执行route add default gw 192.168.100.1命令,添加一条默认网关,所有的数据包将被转发到192.168.100.1。

◆执行route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0命令,添加或设置网关。

◆执行route del -net 192.168.100.0 netmask 255.255.255.0命令,删除路由记录。

网络诊断

ping命令

ping命令是常用的网络命令,也属于一个通信协议,是TCP/IP协议的一部分。使用ping命令可以检查网络是否连通,能帮助管理员分析和判定网络故障。

执行ping命令会使用ICMP传输协议发出要求回应的信息,若远端主机的网络功能没问题,就会回应该信息,因而得知该主机运作正常。ICMP协议是Internet控制报文协议,是TCP/IP协议簇的一个子协议,用于在IP主机和路由器之间传递控制消息。

■命令格式:ping [选项] [参数]

■常用选项

ping常用选项

选项 描述
-d 使用Socket的SO_DEBUG功能。
-c <完成次数>:设置完成要求回应的次数。
-f 极限检测。
-i <间隔秒数>:指定收发信息的间隔时间。
-I <网络界面>:使用指定的网络接口送出数据包。
-l <前置载入>:设置在送出要求信息之前,先行发出的数据包。
-n 只输出数值。
-p <范本样式>:设置填满数据包的范本样式。
-q 不显示指令执行过程,开头和结尾的相关信息除外。
-r 忽略普通的Routing Table,直接将数据包发送到远端主机上。
-R 记录路由过程。
-s <数据包大小>:设置数据包的大小。
-t <存活数值>:设置存活数值TTL的大小。

■执行示例

◆执行ping 192.168.100.20命令,查看本机的网络状态。

◆执行ping -i 3 -s 1024 www.baidu.com命令,设置发送周期和包大小。

◆执行ping -c 2 www.baidu.com命令,收到两次包后自动退出。

◆执行ping -i 0.5 -c 10 www.baidu.com命令,每0.5秒发送一次网络封装包并限制发送10次。

traceroute命令

通过traceroute命令,我们可以知道信息从您的计算机到互联网另一端的主机是走的什么路径。当然,每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但大多数时候所走的路由是相同的。

traceroute主要用于追踪网络数据包的路由途径,默认的数据包大小是40Bytes,用户可自定义大小。

:::warning

在统信服务器操作系统中,默认未集成traceroute,需执行dnf install traceroute命令安装。 :::

■命令格式:traceroute [选项] [参数]

■常用选项

traceroute常用选项

选项 描述
-d 使用Socket层级的排错功能。
-f 设置第一个检测数据包的存活数值TTL的大小。
-F 设置勿离断位。
-g 设置来源路由网关,最多可设置8个。
-i 使用指定的网络界面送出数据包。
-I 使用ICMP回应取代UDP资料信息。
-m 设置检测数据包的最大存活数值TTL的大小。
-n 直接使用IP地址而非主机名称。
-p 设置UDP传输协议的通信端口。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-s 设置本地主机送出数据包的IP地址。
-t 设置检测数据包的TOS数值。
-w 设置等待远端主机回报的时间。

■执行示例

◆执行traceroute www.baidu.com命令,显示到达目的地的数据包路由。

◆执行traceroute -m 4 www.baidu.com命令,显示到达目的地的数据包路由,设置数据存活数值为4。

域名管理

在统信服务器操作系统中,一般用于管理域名的命令行工具包括:host、nslookup。

host命令

host是一个常用的DNS工具,经常用来查询域名、检查域名解析是否正确。

■命令格式:host [选项] [参数] [参数]

■常用选项

host常用选项

选项 描述
-a 查询所有的信息。
-c 设置查询类型。
-C 查询完整的SOA记录。
-d | -v 显示详细过程。
-l 列表模式。
-t 选择查询类型:CNAME NS SOA SIG KEY AXFR。
-w 永久等待。
-W 设置等待超时。

■执行示例:执行host -a www.baidu.com,查看域名地址的详细信息。

nslookup命令

nslookup是一个用于查询Internet域名信息或诊断DNS服务器问题的工具,主要用来诊断域名系统的基础信息。

■命令格式:nslookup [选项] [参数]

■执行示例

◆执行nslookup www.baidu.com命令,查询网站域名信息。

◆执行nslookup -q=mx mail.qq.com命令,查看邮件服务器的信息。

netstat命令

在统信服务器操作系统中,一般通过netstat命令来查看网络连接状态。当设置不同命令参数时,可以显示网络连接状态、路由表、接口状态、无效连接和多播成员,也可以用于查看某个服务是否运行。

■命令格式:netstat [选项] [参数]

■常用选项

netstat常用选项

选项 描述
-a all:显示所有选项,netstat默认不显示LISTEN相关。
-t tcp:仅显示tcp相关选项。
-u udp:仅显示udp相关选项。
-n 拒绝显示别名,能显示数字的全部转化成数字。(重要)
-l 仅列出有在Listen(监听)的服务状态。
-p 显示建立相关链接的程序名。
-r 显示路由信息、路由表。
-e 显示扩展信息,例如UID等。
-s 按各个协议进行统计。(重要)
-c 连续打印所选信息。

■执行示例

◆执行netstat -a命令,列出所有网路端口。

◆执行netstat -i命令,显示网卡列表。

◆执行netstat -apu命令,查看udp相关的程序。

◆执行netstat -s命令,显示网络统计信息。

网络工具

NetCat(简称nc)是一个可读写TCP或UDP网络连接的工具,它可以读取和从命令行跨网络写入数据。它被设计成一个可靠的后端工具,能被其它的程序或脚本直接调用,也是一个功能丰富的网络调试和开发工具。

数据传输

netcat提供了这样一种方法,您只需要创建一个Chat服务器,一个预先确定好的端口,便可以和客户端进行信息传输。具体步骤如下:

  1. 服务端输入:nc -l 8888 # 8888为服务端设定的端口。

  2. 客户端输入:nc 192.168.100.20 8888 # 客户端连接需要输入服务端的IP地址及端口号。

  3. 客户端输入任何消息,服务端的shell终端会展示数据。

  4. 服务端回复任何消息,客户端的shell终端会展示数据。

文件传输

netcat工具还可用来传输文件。假设,您想要将一个文件file.txt从A传到B,A或B都可以根据需要作为服务器或者客户端。以下示例中,以A作为服务器端,以B作为客户端。

  1. 服务端(A)输入:nc -l 8888 < /home/file.txt

:::warning

服务端需要指定需要传输的文件。 :::

  1. 客户端(B)输入:nc -n 192.168.100.20 8888 > /root/file.txt

:::warning

客户端需要指定保存文件的地址。 :::

目录传输

netcat也可以传输目录。假设,在服务器A上,我们创建一个tar归档包并且通过-在控制台重定向它;然后使用管道,重定向给netcat,netcat可以通过网络发送它;在客户端B我们下载该压缩包通过netcat管道然后打开文件。

  1. 服务端(A)输入:tar -cvf - /tmp | nc -l 8888 # 传送tmp目录。

  2. 客户端(B)输入:nc -n 192.168.100.20 8888 | tar -xvf - # 接收tmp目录。

网络下载

在统信服务器操作系统中,一般用于网络下载的命令行工具包括:wget、curl。

wget命令

wget是一个非交互式的网络文件下载工具,需要在终端命令行下使用。它支持从网站下载软件或从远程服务器恢复/备份数据到本地服务器。wget支持HTTP、HTTPS和FTP协议,还可以使用HTTP代理。

■命令格式:wget [选项][参数]

■常用选项

wget常用选项

选项 描述
-a 在指定的日志文件中记录执行过程。
-A 指定要下载文件的后缀名,多个后缀名之间使用逗号隔开。
-b 以后台的方式运行wget。
-B 设置参考的连接地址的基地地址。
-c 继续执行上次终端的任务。
-d 以调试模式运行指令。
-D --domains=列表:逗号分隔的可接受的域名列表。
-e 作为文件“.wgetrc”中的一部分执行指定的指令。
-h 显示帮助信息。
-i 从指定文件获取要下载的URL地址。
-l 指定递归最大深度级别,默认最大深度级别为5。
-L 仅关注相关链接。用于在没有任何干扰的情况下检索特定主页,即使是来自同一主机的主页。
-r 递归下载方式。
-nc 文件存在时,下载文件不覆盖原有文件。
-nv 下载时只显示更新和出错信息,不显示详细执行过程。
-q 不显示执行过程。
-v 显示详细执行过程。

■执行示例

◆下载网页。

wget https://www.uniontech.com/

◆限速下载。

wget --limit-rate=1K https://www.uniontech.com/

◆后台下载。

wget -b https://www.uniontech.com/

curl命令

curl是文件传输工具,它支持文件的上传和下载。

■命令格式:curl [选项] [参数]

■常用选项

curl常用选项

选项 描述
-A 设置用户代理发送给服务器。
-b cookie字符串或文件读取位置。
-c 操作结束后把cookie写入到这个文件中。
-C 断点续转。
-D 把header信息写入到该文件中。
-e 来源网址。
-f 连接失败时不显示http错误。
-o 把输出写到该文件中。
-O 把输出写到该文件中,保留远程文件的文件名。
-r 检索来自HTTP/1.1或FTP服务器的字节范围。
-s 静默模式,只执行命令不输出任何东西。
-T 上传文件。
-u 设置服务器的用户和密码。
-# 进度条显示当前的传送状态。
-x --proxy <host[:port]>:在给定的端口上使用HTTP代理。

■执行示例

◆执行curl https://www.uniontech.com命令,将网站内容显示在终端屏幕上。

◆执行curl https://www.uniontech.com >> test.html命令,重定向保存为test.html。

◆执行curl -o test1.html https://www.uniontech.com命令,抓取网站页面内容并保存在文件中。

◆执行curl -D cookied.txt http://www.linux.com命令,保存http的response里面的header信息。