Linux网络配置及查看网络信息
1、查看网络配置
1)ifconfig命令
ifconfig
是一个用于配置和显示系统网络接口信息的命令行工具。ifconfig
可以用来查看网络接口的详细信息,如 IP 地址、子网掩码、广播地址、MAC 地址等,还可以用来配置网络接口的参数。
以下是 ifconfig
的一些常用命令和选项:
- 查看所有网络接口的信息
bash
ifconfig
这个命令会显示系统中所有网络接口的详细信息。
- 查看特定网络接口的信息
bash
ifconfig <interface_name>
这个命令会显示指定网络接口的详细信息。例如,ifconfig eth0
会显示名为 eth0
的网络接口的信息。
- 配置网络接口的 IP 地址和子网掩码
bash
ifconfig <interface_name> <ip_address> netmask <subnet_mask>
这个命令用于配置指定网络接口的 IP 地址和子网掩码。例如,ifconfig eth0 192.168.19.100 netmask 255.255.255.0
会配置名为 eth0
的网络接口的 IP 地址为 192.168.19.100
,子网掩码为 255.255.255.0
。
- 启用或禁用网络接口
bash
ifconfig <interface_name> up|down
这个命令用于启用或禁用指定网络接口。例如,ifconfig eth0 up
会启用名为 eth0
的网络接口,ifconfig eth0 down
会禁用名为 eth0
的网络接口。
- 重置网络接口的配置
bash
ifconfig <interface_name> reset
这个命令用于重置指定网络接口的配置。例如,ifconfig eth0 reset
会重置名为 eth0
的网络接口的配置。
2)ip a命令
ip a
和 ip addr
与ifconfig命令用法基本相同,但比ifconfig
命令更加灵活显示内容更加详细。
3)hostname
-
临时修改当前主机名:
bashhostname newname
-
永久当前主机名:
bashhostnamectl set-hostname newname
或编辑
/etc/hostname
文件(需重启)。
4)route命令
route
是一个用于查看和修改 Linux 系统路由表的命令行工具。通过 route
命令,你可以查看当前的路由表,添加新的路由条目,或者删除现有的路由条目。
以下是 route
的一些常用命令和选项:
-
查看当前路由表:
bashroute -n
这是查看路由表的最常用方法,因为它快速且易于理解。
-
查看所有路由表:
bashroute -a
这个命令会显示系统中所有路由表,包括默认路由表和用户定义的路由表。
-
添加新的路由条目:
bashroute add -net <network> <netmask> <gateway>
这个命令会添加一个新的路由条目到路由表中。其中,
<network>
是目标网络地址,<netmask>
是目标网络的子网掩码,<gateway>
是到达目标网络的网关地址。 -
删除现有的路由条目:
bashroute delete <network>
这个命令会删除路由表中指定 的路由条目。其中,
<network>
是要删除的路由条目的目标网络地址。 -
修改现有的路由条目:
bashroute change -net <network> <netmask> <gateway>
这个命令会修改路由表中已有的路由条目。其中,
<network>
是目标网络地址,<netmask>
是目标网络的子网掩码,<gateway>
是到达目标网络的网关地址。 -
清除所有路由条目:
bashroute flush
这个命令会清除路由表中的所有路由条目。请注意,这将导致系统无法访问任何网络,因此在使用此命令时要格外小心。
5)netstat命令
netstat
是一个用于显示网络连接、路由表、接口统计等网络相关信息的命令行工具。它可以帮助你了解当前网络的状态,包括哪些程序正在监听端口、哪些端口正在被使用、哪些网络连接处于活动状态等。
以下是 netstat
的一些常用命令和选项:
-
显示所有网络连接:
bashnetstat -a
这个命令会显示所有当前的网络连接,包括监听状态的连接和活动状态的连接。
-
显示 TCP 连接:
bashnetstat -t
这个命令会显示所有的 TCP 连接。
-
显示 UDP 连接:
bashnetstat -u
这个命令会显示所有的 UDP 连接。
-
显示网络接口统计信息:
bashnetstat -i
这个命令会显示所有网络接口的统计信息,包括接收和发送的数据包数量、错误数量等。
-
显示路由表:
bashnetstat -r
这个命令会显示当前的路由表。
-
显示正在监听的端口:
bashnetstat -l
这个命令会显示所有正在监听的端口,包括监听的协议类型(如 TCP 或 UDP)。
-
显示进程与端口的关系:
bashnetstat -p
这个命令会显示进程与端口的关系,包括进程 ID 和进程名称。
-
显示详细的网络连接信息:
bashnetstat -e
这个命令会显示详细的网络连接信息,包括连接状态、接收和发送的数据包数量、错误数量等。
-
查询指定端口:
bashnetstat -natp | grep 80
-
netstat -natp输出条目含义
bash
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
协议类型 接收队列字节数 发送队列字节数 本地ip和端口号 远程ip和端口号 连接状态 进程id和程序名
6)ss命令
ss命令选项用法和netstat命令相似,用于查看网络连接情况,主要用于获取socket连接统计信息,对比netstat优势在于能更详细显示TCP和连接状态的信息,而且执行更快速更高效。
常见用法:
bash
ss -nltp #-l 显示监听状态的连接
7)lsof命令
lsof
(list open files)是一个用于列出系统中当前打开的文件和网络连接的命令行工具。
常用选项:
- -a:合并多个条件,只有满足所有条件的文件或网络连接才会被列出。
- -b:排除某些特定的文件系统。
- -c:根据进程名称列出文件或网络连接。
- -d:根据文件描述符列出文件或网络连接。
- -e:排除某些特定的文件或网络连接。
- -f:根据文件类型列出文件或网络连接。
- -i:根据网络连接列出文件或网络连接,包括 IP 地址、端口和协议。
- -l:列出所有打开的文件或网络连接,包括进程 ID 和进程名称。
- -m:列出所有打开的文件或网络连接,包括文件描述符和文件路径。
- -n:不解析主机名和端口名,直接显示 IP地址和端口号。
- -p:根据进程 ID
8)dig命令
dig
是一个用于查询 DNS记录的命令行工具。它可以帮助你获取域名对应的 IP 地址、MX 记录、NS 记录等 DNS 信息。
常用选项:
- -t type:指定查询的 DNS 记录类型,如 A(IP 地址)、MX(邮件交换记录)、NS(域名服务器记录)等。
- -c count:指定查询的次数。
- -q name:指定查询的域名。
- -p port **:**指定 DNS 服务器的端口。
- -x ip:通过 IP 地址反向查询域名。
- -b host:指定查询的本地 IP 地址。
- -f file:从文件中读取要查询的域名列表。
- -r:忽略常规路由表,直接使用 IP 地址进行查询。
- -s server:指定查询的 DNS 服务器。
- -u:使用 UDP 协议进行查询。
- -i:使用 IP 地址进行查询。
- -v:显示详细的输出信息。
9)MTU的定义
MTU(Maximum Transmission Unit,最大传输单元)是指在计算机网络中,一个数据包(帧)可以传输的最大数据量,单位为字节。MTU的值对于网络性能和数据传输效率具有重要影响。如果MTU设置得过小,数据包将被分割成多个较小的数据包进行传输,这会增加网络延迟和丢包率,降低网络性能。相反,过大会导致性能浪费。MTU的大小决定了网络设备能够传输的最大数据包大小。总之,需要根据网络设备、网络协议和数据传输需求等因素综合考虑,选择合适的MTU值。
2、测试网络连接
1)ping
ping
是一个常用的网络诊断命令,用于测试两台计算机之间的网络连接是否通畅。
常用选项:
-c :指定发送回显请求数据包的数量。
-i :指定发送回显请求数据包的间隔时间(单位:秒)。
-l :指定回显请求数据包的大小(单位:字节)。
-n:使用数字形式显示地址和端口号,而不是解析主机名和服务名。
-t :指定回显请求数据包的 TTL(生存时间)值。
-v:显示详细的输出信息。
-w:超时时间。
-W:定时停止。
2)traceroute
- 测试当前主机到目标主机经过的网络节点
bash
traceroute [目标ip地址]
3)nslookup
-
测试DNS域名解析
nslookup 目标ip或目标域名
3、设置网络地址参数
1)临时配置
在Linux系统中,临时配置网络参数通常用于调试网络问题或进行网络测试。这些配置在系统重启后不会保留。
临时配置网络参数的方法
- 使用命令调整网络参数:通过命令行工具如
ifconfig、ip
等,可以直接修改网络接口的IP地址、子网掩码、默认网关等参数。这种方法简单、快速,但配置在系统重启后会丢失。 - 禁用或重新激活网卡:使用
ifdown
和ifup
命令可以禁用或重新激活网络接口。这在需要临时禁用网络接口进行故障排查时非常有用。 - 设置虚拟网络接口:通过ifconfig命令可以为现有的网络接口创建虚拟接口,这在需要在不影响主IP地址的情况下测试网络配置时非常有用。
示例
- 配置IP地址
bash
ifconfig eth0 192.168.1.111 netmask 255.255.255.0
- 配置默认网关
bash
route add default gw 192.168.1.1
2)永久配置
比如通过修改以下配置文件达到永久生效
bash
/etc/sysconfig/static-routes #添加路由
/etc/resolv.conf #修改DNS域名解析
/etc/sysconfig/network-scripts/ifcfg-ens33 #配置网卡信息