Linux网络排查
目录
一、ip命令介绍
1.1 ip命令简介
1.2 ip命令的由来
二、ip命令使用帮助
2.1 ip命令的help帮助信息
2.2 ip命令对象介绍
2.3 ip命令选项介绍
三、查看网络信息
3.1 显示当前网络接口信息
3.2 显示网络设备运行状态
3.3 显示详细设备信息
3.4 查看路由表
3.5 查看ARP缓存
3.6 正则匹配截取信息
四、设置网卡IP地址
4.1 启用或停止网卡
4.2 新增网卡地址
4.3 设置默认网关
4.4 删除新增网卡的IP地址
4.5 删除默认网关
五、管理路由表
5.1 新增路由表
5.2 删除路由表条目
5.3 永久设置静态路由方法
六、ip命令总结
一、ip命令介绍
1.1 ip命令简介
IP命令是一个非常强大的命令行工具,用于管理与配置网络接口和路由表。
1.2 ip命令的由来
IP命令的由来可以追溯到Unix操作系统,IP命令是一个网络工具,用于配置和管理网络接口和路由表。它是从早期的Unix系统中的ifconfig命令发展而来的。ifconfig命令可以用于配置和管理网络接口,但是它的功能有限,不能管理路由表,因此IP命令应运而生。随着网络技术的不断发展,IP命令也不断进行更新和扩展,成为了一个功能强大的网络工具。现在,在许多Linux和Unix系统中,IP命令已经取代了ifconfig命令,成为管理网络接口和路由表的主要工具。
二、ip命令使用帮助
2.1 ip命令的help帮助信息
2.2 ip命令对象介绍
where OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila |
vrf }
对象参数释义:
对象 | 释义 |
link | 网络设备 |
address | 设备的协议地址(IP或IPv6) |
addrlabel | 用于协议地址选择的标签配置 |
route | 路由表项 |
rule | 路由策略数据库中的规则 |
neighbour | 管理ARP或NDISC缓存项 |
ntable | 管理邻居cache的操作 |
tunnel | IP隧道 |
tuntap | 管理TUN/TAP设备 |
maddress | 多播地址 |
mroute | 组播路由缓存项 |
mrule | 组播路由策略数据库中的规则 |
monitor | 监控netlink消息 |
xfrm | 管理IPSec策略 |
l2tp | 隧道以太网over IP (L2TPv3) |
2.3 ip命令选项介绍
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-h[uman-readable] | -iec |
-f[amily] { inet | inet6 | ipx | dnet | mpls | bridge | link } |
-4 | -6 | -I | -D | -B | -0 |
-l[oops] { maximum-addr-flush-attempts } | -br[ief] |
-o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
-rc[vbuf] [size] | -n[etns] name | -a[ll] | -c[olor]}
-V:显示指令版本信息;
-s:输出更详细的信息;
d: 输出更详细的信息
-r:使用系统的名称解析器来打印DNS名称而不是主机地址
-h:输出带有人类可读值的统计信息,后面跟着后缀
-f:强制使用指定的协议族;
-4:指定使用的网络层协议是IPv4协议;
-6:指定使用的网络层协议是IPv6协议;
-0:输出信息每条记录输出一行,即使内容较多也不换行显示;
-l: 指定“ip地址刷新”逻辑在放弃之前尝试的最大循环次数。默认值是10。零(0)表示循环,直到移除所有地址
-b: 从提供的文件或标准输入中读取命令并调用它们。第一次失败将导致ip终止
-o: 在单行上输出每个记录,用'\'字符替换换行。这在你需要的时候很方便以wc(1)或grep(1)计数输出记录
-rc: 设置netlink套接字接收缓冲区大小,默认为1MB
-n: 将ip切换到指定的网络命名空间NETNS
三、查看网络信息
3.1 显示当前网络接口信息
ip addr show
#简写
ip a
3.2 显示网络设备运行状态
使用以下命令,显示网络设备运行状态。
ip link list
3.3 显示详细设备信息
ip -stats link list
# 简写
ip -s l l
3.4 查看路由表
ip route show
ip route list
3.5 查看ARP缓存
ip neighbour show
ip neighbour list
3.5 正则匹配截取信息
# 获取主机所有网络接口
ip link | grep -E '^[0-9]' | awk -F: '{print $2}'
# 提取本地IP地址
ip addr show | grep 'inet ' | awk '{print $2}' | awk -F/ '{print $1}'
四、设置网卡IP地址
4.1 启用或停止网卡
使用以下命令,启用或停止网卡。
ip link set <interface> up/down
4.2 新增网卡地址
使用以下命令,给ens192网卡,新增ip地址。
ip link add link ens192 br0 type vlan id 2
- "ip link add link":添加一个新的网络接口;
- "ens192":指定要添加网络接口的物理接口;
- "br0":新添加的网络接口名称;
- "type vlan":指定创建一个VLAN类型的网络接口;
- "id 2":VLAN ID为 2;
接下来,我们可以配置新添加的网络接口,可以为该接口指定IP地址、子网掩码等等。
ip addr add 192.168.2.19/24 broadcast 192.168.2.255 dev br0
ip addr del 192.168.2.19/24 broadcast 192.168.2.255 dev br0
- "ip addr add":为指定设备添加IP地址
- "192.168.2.99/24":指定IP地址和
- "dev br0":指定为哪个网络接口添加IP地址
ip link 是 Linux 系统中的一个命令,用于显示或操纵网络接口的链路层属性。链路层也被称为第二层,在这个层级上,数据被封装成帧(frame)进行发送和接收。
基本用法:ip link 的基本用法可以分为两类,查看和设置。
查看网络接口信息:你可以直接输入 ip link 或者 ip link show 来查看系统中所有网络接口的链路层信息。
设置网络接口属性:ip link set 命令可以用于更改网络接口的链路层属性,如改变接口状态(up/down)、改变接口的 MTU 值等。
应用场景:
当你需要查看系统中的网络接口信息,如接口名称、接口状态(UP 或 DOWN)、MTU(Maximum Transmission Unit,最大传输单元)值,MAC 地址等信息时,可以使用 ip link 命令。
当你需要更改网络接口的链路层属性,如开启或关闭一个网络接口(up/down)、改变接口的 MTU 值、改变接口的 MAC 地址等,也可以使用 ip link 命令。
你也可以使用 ip link 命令来创建或删除虚拟网络接口,如虚拟网桥、虚拟以太网设备(veth)、虚拟隧道等。
因为它涉及到底层的网络设置,所以在使用时需要谨慎,特别是在生产环境中。当你对某个设定不确定时,最好先在测试环境中试验,确认无误后再应用到生产环境中。
4.3 设置默认网关
使用以下命令设置默认网卡地址,<gateway_ip>为网关地址,为网络接口。
ip route add default via <gateway_ip> dev <interface>
# 删除
ip route del default via <gateway_ip> dev <interface>
4.4 删除新增网卡的IP地址
使用以下命令,删除新增网卡IP地址。
ip addr del 192.168.2.19/24 broadcast 192.168.2.255 dev br0
4.5 删除默认网关
使用以下命令,删除默认网关。
ip route del default
五、管理路由表
5.1 新增路由表
使用以下命令,新增路由表。
ip route add 192.168.80.0/24 via 192.168.2.254 dev br0
查看路由表信息:
5.2 删除路由表条目
使用以下命令,删除路由表条目。
ip route del 192.168.80.0/24 via 192.168.2.254 dev br0
5.3 永久设置静态路由方法
进入网卡目录中,在网卡配置文件中,新建及编辑文件 route-ens192
cd /etc/sysconfig/network-scripts/
vim route-eth0
172.16.10.0/24 via 192.168.3.254
重启network服务
service network restart
查看路由表
ip route
六、ip命令总结
1. ip命令是Linux下管理网络接口的主要工具之一,可以用于设置IP地址、路由表、网络接口等。
2. ip命令的常见操作包括查看网络接口信息、设置IP地址、设置网络接口等。
3. 查看网络接口信息的操作:
- ip addr:显示所有网络接口的详细信息,包括接口名称、MAC地址、IPv4地址、IPv6地址等。
- ip link:显示所有网络接口的名称和状态信息。
4. 设置IP地址的操作:
- ip addr add IP地址/掩码 dev 网络接口名:给指定网络接口添加IP地址。
- ip addr del IP地址/掩码 dev 网络接口名:删除指定网络接口的IP地址。
- ip -4 addr add IP地址/掩码 dev 网络接口名:给指定网络接口添加IPv4地址。
- ip -6 addr add IPv6地址/掩码 dev 网络接口名:给指定网络接口添加IPv6地址。
5. 设置网络接口的操作:
- ip link set 网络接口名 up/down:设置指定网络接口的状态为up或down。
- ip link set 网络接口名 name 新名称:给指定网络接口修改名称。
- ip link set 网络接口名 mtu MTU值:设置指定网络接口的最大传输单元大小。
- ip route add 目标地址/掩码 via 网关 dev 网络接口名:添加路由规则,指定目标地址走指定的网关。
6. 其他常用操作:
- ip neigh:显示ARP缓存表。
- ip route:显示和管理路由表。
- ip rule:显示和管理路由策略。
参考:
原文链接:Linux系统之ip命令的基本使用_linux ip-CSDN博客