【Linux】ip命令详解

embedded/2025/2/13 19:09:04/

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 br0ip 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-eth0172.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博客


http://www.ppmy.cn/embedded/161942.html

相关文章

【Gin】Web框架开发快速入门

本文目录 一、使用go.work创建工作区二、gin框架快速上手2.1 简单的请求实现2.2 URI2.3 分组路由2.4 Get请求参数获取2.5 Post请求参数2.6 响应 一、使用go.work创建工作区 依次输入下面命令&#xff0c;初始化工程。 mkdir ginlearn cd .\ginlearn\ mkdir helloworld go wor…

iOS主要知识点梳理回顾-5-运行时方法交换

方法交换可以放在 load 或 initialize 方法中&#xff0c;也可以自己根据时机来空&#xff0c;比如开启某个开关后才需要交换方法。如果是在load中调用&#xff0c;交换工作会在类加载时&#xff08;程序启动&#xff09;自动调用&#xff1b;如果是在initialize中调用&#xf…

python利用jenkins模块操作jenkins

安装python-jenkins 可以使用pip命令来安装python-jenkins模块&#xff1a; pip install python-jenkins操作jenkins 接下来就是连接和操作jenkins&#xff0c;写了个class&#xff0c;直接上代码 class Jenkins():def __init__(self, url, username, password):# jenkins服…

鸿蒙HarmonyOS NEXT开发:优化用户界面性能——组件复用(@Reusable装饰器)

文章目录 一、概述二、原理介绍三、使用规则四、复用类型详解1、标准型2、有限变化型2.1、类型1和类型2布局不同&#xff0c;业务逻辑不同2.2、类型1和类型2布局不同&#xff0c;但是很多业务逻辑公用 3、组合型4、全局型5、嵌套型 一、概述 组件复用是优化用户界面性能&#…

Eclipse 插件开发相关概念

整理了Eclipse插件开发的概念&#xff0c;用于熟悉入门 SWT&#xff08;Standard Widget Toolkit&#xff09;标准图形工具箱 Java开发的GUI程序技术&#xff0c;由Eclipse开发&#xff0c;相比AWT、Swing更美观&#xff1b;对于目标平台上已经有的控件&#xff0c;SWT会直接使…

【JavaWeb10】服务器渲染技术 --- JSP

文章目录 &#x1f30d;一. JSP❄️1.JSP介绍❄️2.JSP 运行原理❄️3.page 指令(常用的)❄️ 4.JSP 三种常用脚本1.声明脚本2.表达式脚本3.代码脚本 ❄️5.JSP 内置对象❄️6.JSP 域对象 &#x1f30d;二. EL❄️1.EL 表达式介绍❄️2.EL 运算操作❄️3.EL 的 11 个隐含对象 &…

day50 第十一章:图论part01

ACM模式&#xff0c;自己控制输入输出 图论理论基础 连通性&#xff1a; 连通图&#xff08;无向&#xff09;&#xff0c;强连通图&#xff08;有向&#xff09;----- 任意两个节点之间都可相互到达 连通分量&#xff08;极大连通子图&#xff09;&#xff0c;强连通分量 图的…

springboot配置https

注意&#xff1a; 此配置只能本地环境或测试环境使用&#xff0c;生产环境使用https&#xff0c;应该配置nginx&#xff01;请参考&#xff1a;使用certbot给nginx配置https-CSDN博客 1. 生成证书 使用JDK的keytool命令生成证书 注意&#xff1a;JDK版本需要和项目的JDK版本一…