Linux系统之ip命令的基本使用

Linux系统之ip命令的基本使用

  • 一、ip命令介绍
    • 1.1 ip命令简介
    • 1.2 ip命令的由来
    • 1.3 ip命令的安装包
  • 二、ip命令使用帮助
    • 2.1 ip命令的help帮助信息
    • 2.2 ip命令使用帮助
  • 三、查看网络信息
    • 3.1 显示当前网络接口信息
    • 3.2 显示网络设备运行状态
    • 3.3 显示详细设备信息
    • 3.4 查看路由表
    • 3.5 查看ARP缓存
    • 3.6 获取主机所有网络接口
    • 3.7 提取本地IP地址
  • 四、设置网卡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命令,成为管理网络接口和路由表的主要工具。

1.3 ip命令的安装包

ip 命令来自 iproute2 软件包,在 CentOS 7 中默认已安装(yum install -y iproute)。

[root@jeven ~]# rpm -ql iproute |grep bin
/usr/sbin/arpd
/usr/sbin/bridge
/usr/sbin/cbq
/usr/sbin/ctstat
/usr/sbin/devlink
/usr/sbin/genl
/usr/sbin/ifcfg
/usr/sbin/ifstat
/usr/sbin/ip
/usr/sbin/lnstat
/usr/sbin/nstat
/usr/sbin/routef
/usr/sbin/routel
/usr/sbin/rtacct
/usr/sbin/rtmon
/usr/sbin/rtpr
/usr/sbin/rtstat
/usr/sbin/ss
/usr/sbin/tc

二、ip命令使用帮助

2.1 ip命令的help帮助信息

[root@jeven ~]# ip --help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }ip [ -force ] -batch filename
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 }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]}

2.2 ip命令使用帮助

  • ip命令语法
ip(选项)(对象)
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }ip [ -force ] -batch filename
  • ip命令对象介绍
OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |netns | l2tp | macsec | tcp_metrics | token }-V:显示指令版本信息;
-s:输出更详细的信息;
-f:强制使用指定的协议族;
-4:指定使用的网络层协议是IPv4协议;
-6:指定使用的网络层协议是IPv6协议;
-0:输出信息每条记录输出一行,即使内容较多也不换行显示;
-r:显示主机时,不使用IP地址,而使用主机的域名。
  • ip命令选项介绍
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |-h[uman-readable] | -iec |-f[amily] { inet | inet6 | ipx | dnet | bridge | link } |-4 | -6 | -I | -D | -B | -0 |-l[oops] { maximum-addr-flush-attempts } |-o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |-rc[vbuf] [size] | -n[etns] name | -a[ll] }网络对象:指定要管理的网络对象;
具体操作:对指定的网络对象完成具体操作;
help:显示网络对象支持的操作命令的帮助信息。

三、查看网络信息

3.1 显示当前网络接口信息

显示当前网络接口信息

[root@master ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 3e:85:b4:65:29:5a brd ff:ff:ff:ff:ff:ffinet 192.168.3.141/24 brd 192.168.3.255 scope global noprefixroute eth0valid_lft forever preferred_lft foreverinet6 fd58:bc95:d4fb::6bd/128 scope global noprefixroute dynamicvalid_lft 41513sec preferred_lft 41513secinet6 fd58:bc95:d4fb:0:639d:3714:f9ef:bcf9/64 scope global noprefixroutevalid_lft forever preferred_lft foreverinet6 fe80::8c51:e8b9:1007:68ae/64 scope link noprefixroutevalid_lft forever preferred_lft forever

3.2 显示网络设备运行状态

使用以下命令,显示网络设备运行状态。

[root@master ~]# ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000link/ether 3e:85:b4:65:29:5a brd ff:ff:ff:ff:ff:ff

3.3 显示详细设备信息

使用以下命令,显示网卡的详细信息。

[root@master ~]#  ip -s link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00RX: bytes  packets  errors  dropped overrun mcast592        8        0       0       0       0TX: bytes  packets  errors  dropped carrier collsns592        8        0       0       0       0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000link/ether 3e:85:b4:65:29:5a brd ff:ff:ff:ff:ff:ffRX: bytes  packets  errors  dropped overrun mcast129963605  1427572  0       19748   0       0TX: bytes  packets  errors  dropped carrier collsns78253987   319575   0       0       0       0

3.4 查看路由表

  • 显示核心路由表
[root@master ~]# ip route list
default via 192.168.3.254 dev eth0 proto static metric 100
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.141 metric 100
  • 查看当前路由表信息
[root@master ~]# ip route show
default via 192.168.3.254 dev eth0 proto static metric 100
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.141 metric 100

3.5 查看ARP缓存

查看ARP缓存

[root@master ~]# ip neighbour show
192.168.3.190 dev eth0 lladdr d2:a0:fc:9d:f1:db STALE
192.168.3.174 dev eth0 lladdr 9a:1f:bc:b6:cf:20 STALE
192.168.3.168 dev eth0 lladdr 50:2b:73:dc:5d:d5 REACHABLE
192.168.3.143 dev eth0 lladdr d6:6c:02:9b:8e:a3 REACHABLE
192.168.3.238 dev eth0 lladdr 8c:7a:3d:64:ea:50 STALE
192.168.3.254 dev eth0 lladdr 7c:10:c9:db:21:58 REACHABLE
192.168.3.142 dev eth0 lladdr ae:5a:c7:0c:8c:1a REACHABLE
fe80::981f:bcff:feb6:cf20 dev eth0 lladdr 9a:1f:bc:b6:cf:20 STALE
fe80::a067:28ff:feff:a86f dev eth0 lladdr a2:67:28:ff:a8:6f router STALE
[root@master ~]# ip neighbour list
192.168.3.190 dev eth0 lladdr d2:a0:fc:9d:f1:db STALE
192.168.3.174 dev eth0 lladdr 9a:1f:bc:b6:cf:20 STALE
192.168.3.168 dev eth0 lladdr 50:2b:73:dc:5d:d5 REACHABLE
192.168.3.143 dev eth0 lladdr d6:6c:02:9b:8e:a3 REACHABLE
192.168.3.238 dev eth0 lladdr 8c:7a:3d:64:ea:50 STALE
192.168.3.254 dev eth0 lladdr 7c:10:c9:db:21:58 STALE
192.168.3.142 dev eth0 lladdr ae:5a:c7:0c:8c:1a REACHABLE
fe80::981f:bcff:feb6:cf20 dev eth0 lladdr 9a:1f:bc:b6:cf:20 STALE
fe80::a067:28ff:feff:a86f dev eth0 lladdr a2:67:28:ff:a8:6f router STALE

3.6 获取主机所有网络接口

使用以下命令,获取主机所有网络接口。

[root@master ~]# ip link | grep -E '^[0-9]' | awk -F: '{print $2}'loeth0

3.7 提取本地IP地址

使用ip命令,提取本地网卡IP地址。

[root@master ~]# ip addr show | grep 'inet ' | awk '{print $2}' | awk -F/ '{print $1}'
127.0.0.1
192.168.3.141

四、设置网卡IP地址

4.1 启用或停止网卡

使用以下命令,启用或停止网卡。

ip link set <interface> up/down

4.2 设置默认网关

使用以下命令设置默认网卡地址,<gateway_ip>为网关地址,为网络接口。

ip route add default via <gateway_ip> dev <interface>

4.3 新增网卡地址

使用以下命令,给eth0网卡,新增ip地址。

 ip addr add 192.168.1.100/24 dev eth0

查看新增的IP地址,注意新增的IP地址是临时生效,要长久生效,修改网卡配置文件或者使用nmcli命令。

ip add show

在这里插入图片描述

4.4 删除新增网卡的IP地址

使用以下命令,删除新增网卡IP地址。

ip addr del 192.168.1.100/24 dev eth0

4.5 删除默认网关

使用以下命令,删除默认网关。

 ip route del default

五、管理路由表

5.1 新增路由表

使用以下命令,新增路由表。

ip route add 192.168.80.0/24 via 192.168.1.1

查看路由表信息。

[root@master ~]# ip route show
default via 192.168.3.254 dev eth0 proto static metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.141 metric 100
192.168.80.0/24 via 192.168.1.1 dev eth0

5.2 删除路由表条目

使用以下命令,删除路由表条目。

 ip route del 192.168.80.0/24 via 192.168.1.1

检查路由表中,该条目是否已删除。

[root@master ~]# ip route show
default via 192.168.3.254 dev eth0 proto static metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.141 metric 100

5.3 永久设置静态路由方法

进入网卡目录中

 cd /etc/sysconfig/network-scripts/

在网卡配置文件中,新建及编辑文件 route-eth0,内容如下:

[root@server01 network-scripts]# vim route-eth0
[root@server01 network-scripts]# cat route-eth0 
172.16.10.0/24 via 192.168.3.254

重启network服务

service network restart 

查看路由表

[root@master network-scripts]# ip route
default via 192.168.3.254 dev eth0 proto static metric 100
172.16.10.0/24 via 192.168.3.254 dev eth0 proto static metric 100
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.141 metric 100

六、ip命令总结

以下是对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:显示和管理路由策略。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/159681.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

canvas画一个笑脸和画一个三角形

画一个笑脸主要用到的是画弧形的方法&#xff1a;arc&#xff0c;有五个参数&#xff1a;起始坐标&#xff0c;半径&#xff0c;弧形起始坐标&#xff0c;还有一个参数是顺时针还是逆时针。画的笑脸&#xff1a;虽然丑了点&#xff0c;但是学习了 代码&#xff1a; <!DOCTY…

【Docker 内核详解】namespace 资源隔离(四):Mount namespace Network namespace

【Docker 内核详解 - namespace 资源隔离】系列包含&#xff1a; namespace 资源隔离&#xff08;一&#xff09;&#xff1a;进行 namespace API 操作的 4 种方式namespace 资源隔离&#xff08;二&#xff09;&#xff1a;UTS namespace & IPC namespacenamespace 资源隔…

[23] T^3Bench: Benchmarking Current Progress in Text-to-3D Generation

3D生成蓬勃发展&#xff0c;主流方法通过事例比较和用户调查来评价方法好坏&#xff0c;缺少客观比较指标&#xff1b;本文提出Bench&#xff0c;首次综合比较了不同生成方法&#xff1b;具体来说&#xff0c;本文设计了质量评估&#xff08;Quality Assessment&#xff09;和对…

MyBatisPlus的学习项目页面

MyBatisPlus通过扫描实体类&#xff0c;并基于反射获取实体类信息作为数据库表信息 类名驼峰转下划线作为表名 名为id的字段作为主键 变量名驼峰转下划线作为表的字段名 常见注解 TableName&#xff1a;用来指定表名 Tableld&#xff1a;用来指定表中的主键字段信息 Tabl…

攻防世界题目练习——Web引导模式(三)(持续更新)

题目目录 1. mfw2.3.4.5. 1. mfw 进去看到网页和页面内容如下&#xff1a; 看到url的参数 ?pageabout &#xff0c;我以为是文件包含什么的&#xff0c;反复试了几次&#xff0c;想用 …/…/…/…/etc/passwd &#xff0c;但是发现.似乎被过滤了&#xff0c;实在不知道怎么做…

SpringCloud学习笔记-Nacos服务分级存储模型

Nacos服务分级存储模型 一级是服务&#xff0c;例如userservice二级是集群&#xff0c;例如杭州或上海三级是实例&#xff0c;例如杭州机房的某台部署了userservice的服务器 微服务互相访问时&#xff0c;应该尽可能访问同集群实例&#xff0c;因为本地访问速度更快。当本集…

Pygame中将鼠标形状设置为图片2-1

在Pygame中利用Sprite类的派生类将鼠标形状设置为图片&#xff0c;其原理就是将Sprite类的派生类对应图片的位置设置为鼠标的当前位置即可。其效果如图1所示。 图1 将鼠标设置为图片 从图1可以看出&#xff0c;鼠标的形状变为红色的&#xff0c;该红色的随着鼠标的移动而移动&…

前后端数据导入导出Excel

一&#xff1a;导入 Excel有读取也便有写出&#xff0c;Hutool针对将数据写出到Excel做了封装。 原理 Hutool将Excel写出封装为ExcelWriter&#xff0c;原理为包装了Workbook对象&#xff0c;每次调用merge&#xff08;合并单元格&#xff09;或者write&#xff08;写出数据&…

激发创意,打造震撼视觉效果——Adobe After Effects 2024(Ae2024)全新来袭!

想要创造独特的、令人惊叹的视觉效果吗&#xff1f;不要犹豫&#xff0c;现在就升级到全新的Adobe After Effects 2024&#xff08;Ae2024&#xff09;&#xff01;作为业界领先的动态图形和视觉效果软件&#xff0c;Ae2024将为您的创作带来前所未有的火花。 Ae2024拥有强大的…

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-ChatGLM2部署UbuntuCuda11显存24G实战方案 自从chatGPT掀起的AI大模型热潮以来&#xff0c;国内大模型研究和开源活动&#xff0c;进展也如火如荼。模型越来越大&#xff0c;如何在小显存部署和使用大模型&#xff1f; 本实战专栏将评估一系列的开源模型&#xf…

处理ElementUI组件默认样式多次重复问题

问题截图&#xff1a; 解决办法&#xff1a; 在postcss.config.js文件里添加配置项&#xff1a; module.exports {plugins: {autoprefixer: {},cssnano: {} //添加这行代码}, } 处理结果&#xff1a; github issues&#xff1a; https://github.com/ElemeFE/element/is…

【LeetCode高频SQL50题-基础版】打卡第6天:第31~35题

文章目录 【LeetCode高频SQL50题-基础版】打卡第6天&#xff1a;第31~35题⛅前言员工的直属部门&#x1f512;题目&#x1f511;题解 判断三角形&#x1f512;题目&#x1f511;题解 连续出现的数字&#x1f512;题目&#x1f511;题解 指定日期的产品价格&#x1f512;题目&am…

让ChatGPT等模型学会自主思考!开创性技术“自主认知”框架

ChatGPT、百度文心一言、Bard等大语言模型展现出了超强的创造能力&#xff0c;加速了生成式AI的应用进程。但AI模型只能基于训练数据执行各种任务&#xff0c;无法像人类一样利用生活知识、过往经验用于复杂的推理和决策。 例如&#xff0c;在玩游戏时&#xff0c;人类可以利用…

01Maven的工作机制: Maven作为依赖管理工具以及Maven作为构建管理工具

Maven的特点及其应用 Maven是Apache软件基金会组织维护的一款专门为Java项目提供构建和依赖管理支持的工具 Maven作为依赖管理工具 管理jar包的规模: 随着我们使用的框架数量越来越多以及框架的封装程度也越来越高&#xff0c;项目中使用的jar包也就越来越多 Maven工程中依…

Qt QMovie和QLabel配合播放GIF表情包

文章目录 效果演示main函数创建MoviePlayer对象头文件movieplayer.h源文件movieplayer.cpp代码解释在Qt框架中,QMovie是用于处理动画和视频的类。所有源码已在本篇文章公布。 效果演示 main函数创建MoviePlayer对象 #include <QApplication>#include "movie

至强服务器BIOS/UEFI驱动开发笔记

至强服务器BIOS/UEFI驱动开发笔记 驱动开发基础Hello UEFI Driver 项目选择项目位置初始化驱动代码文件结构驱动程序入口和基本功能导入AMI工程AMI平台Hello UEFI Driver 编译问题测试结果打印设备列表继续开发`HelloWorldSupported`函数依赖配置使用脚本编译编译测试此DXE驱动…

RCNN系列网络的理解

R-CNN 作者 &#xff1a; Ross Girshick FAST R-CNN 作者 &#xff1a; Ross Girshick FASTER R-CNN 作者 &#xff1a; Jian Sun MASK R-CNN 作者 &#xff1a;kaiming he 一…

kong 和konga网关部署及使用

Kong是一款基于OpenResty&#xff08;Nginx Lua模块&#xff09;编写的高可用、易扩展的&#xff0c;由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的&#xff0c;能提供易于使用的RESTful API来操作和配置API管理系统&#xff0c;…

使用XLua在Unity中获取lua全局变量和函数

1、Lua脚本 入口脚本 print("OK") --也会执行重定向 require("Test") 测试脚本 print("TestScript") testNum 1 testBool true testFloat 1.2 testStr "123"function testFun()print("无参无返回") endfunction te…

Android Framework通信:Handler

文章目录 前言一、Handler源码分析1、创建Handler2、发送消息3、取消息4、消息处理5、线程切换的方法&#xff08;Handler异步消息处理机制流程&#xff09;handler.sendMessage()handler.post()View.post()Activity中的runOnUiThread() 二、Handler高频面试题1、为什么要有Han…