linux网络排查
目录
一、ip命令介绍
1.1 ip命令简介
ip命令是一个非常强大的命令行工具,用于管理与配置网络接口和路由表。
1.2 ip命令的由来
二、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地址
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:显示和管理路由策略。
参考:
发表评论