当前位置: 首页 > news >正文

Linux之ip命令详解

华子目录

  • 1.ip命令是什么
    • 1.1ip命令的由来
    • 1.2ip命令的安装包
    • 1.2`ip选项`(基本不用)
  • 2.查看网络信息
    • 2.1显示全部网络接口信息
    • 2.2显示单个网络接口信息
    • 2.3显示单个接口状态
    • 2.4查看路由表
    • 2.5查看arp缓存
  • 3.设置网卡ip地址
    • 3.1启用或停用网卡
    • 3.2设置默认网关
    • 3.3新增网卡地址
    • 3.4删除ip地址
    • 3.5删除默认网关
  • 4.管理路由表
    • 4.1新增路由表
    • 4.2查看路由表
    • 4.3删除路由表条目
  • 总结

1.ip命令是什么

  • ip命令是一个非常强大的命令行工具,用于管理与配置网络接口和路由表

1.1ip命令的由来

  • ip命令是从早起的Unix系统中的ifconfig命令发展而来的。ifconfig命令可以用于配置和管理网络接口,但是他的功能有限不能管理路由器,因此ip命令应运而生。随着网络技术的不断发展,ip命令也不断进行更新和扩展,成为了一个功能强大的网络工具。现在,在许多Linux和Unix系统中,ip命令已经取代了ifconfig命令,成为管理网络接口和路由表的主要工具

1.2ip命令的安装包

  • ip命令来自iproute软件包
[root@server ~]# yum whatprovides ip
iproute-6.0.0-2.el9.x86_64 : Advanced IP routing and network device configuration tools
仓库        :base
匹配来源:
文件名    :/usr/sbin/ip
提供    : /sbin/ip

1.2ip选项(基本不用)

  • -V:显示指令版本信息
  • -s:输出更详细的信息
  • -f:强制使用指定的协议簇
  • -4:指定使用的网络层协议是ipv4协议
  • -6:指定使用的网络层协议是ipv6协议
  • -0:输出信息每条记录输出一行即使内容较多也不换行显示
  • -r:显示主机时,不使用ip地址,而使用主机的域名

2.查看网络信息

2.1显示全部网络接口信息

  • ip address show
[root@server ~]# ip address 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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:9e:1d:25 brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.54.131/24 brd 192.168.54.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet 172.25.254.130/24 scope global ens160valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe9e:1d25/64 scope link noprefixroutevalid_lft forever preferred_lft forever

2.2显示单个网络接口信息

  • ip address show ens160
[root@server ~]# ip address show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:9e:1d:25 brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.54.131/24 brd 192.168.54.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet 172.25.254.130/24 scope global ens160valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe9e:1d25/64 scope link noprefixroutevalid_lft forever preferred_lft forever

2.3显示单个接口状态

  • ip link show ens160
[root@server ~]# nmcli networking 
disabled
[root@server ~]# ip link show ens160 
2: ens160: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000link/ether 00:0c:29:9e:1d:25 brd ff:ff:ff:ff:ff:ffaltname enp3s0

在这里插入图片描述

[root@server ~]# nmcli networking 
enabled
[root@server ~]# ip link show ens160 
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000link/ether 00:0c:29:9e:1d:25 brd ff:ff:ff:ff:ff:ffaltname enp3s0

在这里插入图片描述

2.4查看路由表

  • ip route show
[root@server ~]# ip route show
default via 192.168.54.2 dev ens160 proto static metric 100
172.25.254.0/24 dev ens160 proto kernel scope link src 172.25.254.130
192.168.54.0/24 dev ens160 proto kernel scope link src 192.168.54.131 metric 100

2.5查看arp缓存

  • ip neighbour show
[root@server ~]# ip neighbour show
172.25.254.1 dev ens160 lladdr 00:50:56:c0:00:08 REACHABLE

3.设置网卡ip地址

3.1启用或停用网卡

  • 启动接口为ens160的网卡
[root@server ~]# ip link set ens160 up
  • 关闭接口为ens160的网卡
[root@server ~]# ip link set ens160 down

3.2设置默认网关

  • <gateway_ip>为网关地址,<interface>为网络接口
[root@server ~]# ip route add default via <gateway_ip> dev <interface>

3.3新增网卡地址

  • 注意新增的IP地址临时生效重启无效),要长久生效,修改网卡配置文件或者使用nmcli命令
  • ens160网卡,新增ip地址
[root@server ~]# ip address add 192.168.1.100/24 dev ens160

在这里插入图片描述

3.4删除ip地址

[root@server ~]# ip address del 192.168.1.100/24 dev ens160

在这里插入图片描述

  • 发现已经没有192.268.1.100/24这个ip地址

3.5删除默认网关

[root@server ~]# ip route del default

4.管理路由表

4.1新增路由表

[root@server ~]# ip route add 192.168.80.0/24 via 172.25.254.2
  • 注意:此时的网关地址必须在主机真实存在,否则添加失败
  • 如果主机中有多个网卡,添加路由时指定网卡
[root@server ~]# ip route add 192.168.70.0/24 via 172.25.254.2 dev ens160

4.2查看路由表

[root@server ~]# ip route show
default via 192.168.54.2 dev ens160 proto static metric 100
172.25.254.0/24 dev ens160 proto kernel scope link src 172.25.254.10
192.168.54.0/24 dev ens160 proto kernel scope link src 192.168.54.131 metric 100
192.168.70.0/24 via 172.25.254.2 dev ens160
192.168.80.0/24 via 172.25.254.2 dev ens160

4.3删除路由表条目

[root@server ~]# ip route del 192.168.70.0/24 via 172.25.254.2 dev ens160
[root@server ~]# ip route show
default via 192.168.54.2 dev ens160 proto static metric 100
172.25.254.0/24 dev ens160 proto kernel scope link src 172.25.254.10
192.168.54.0/24 dev ens160 proto kernel scope link src 192.168.54.131 metric 100
192.168.80.0/24 via 172.25.254.2 dev ens160

总结

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Dockerfile+私有仓库
  • 创新互动体验RAG:利用角色化AI技术增强影视评论的沉浸感
  • [mysql]mysql的演示使用
  • linux下使用xargs批量操作
  • 数据结构与算法的代码实现(C++版)
  • 设计模式 代理模式(Proxy Pattern)
  • 一个简单的CRM客户信息管理系统,提供客户,线索,公海,联系人,跟进信息和数据统计功能(附源码)
  • Maven学习(零基础到面试)
  • 【Qt窗口】—— 浮动窗口
  • DARKTIMES集成到Sui,带来中世纪格斗大逃杀游戏体验
  • 【教程】实测np.fromiter 和 np.array 的性能
  • GCViT实战:使用GCViT实现图像分类任务(一)
  • Django+vue自动化测试平台(29)--测试平台集成playwright录制pytest文件执行
  • LeetCode 算法:杨辉三角 c++
  • Python——类和对象、继承和组合
  • 【RocksDB】TransactionDB源码分析
  • 【译】理解JavaScript:new 关键字
  • Android框架之Volley
  • EOS是什么
  • HomeBrew常规使用教程
  • JAVA_NIO系列——Channel和Buffer详解
  • java概述
  • jquery cookie
  • JSDuck 与 AngularJS 融合技巧
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • LeetCode29.两数相除 JavaScript
  • leetcode98. Validate Binary Search Tree
  • node 版本过低
  • php ci框架整合银盛支付
  • php中curl和soap方式请求服务超时问题
  • Python进阶细节
  • supervisor 永不挂掉的进程 安装以及使用
  • vue:响应原理
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 当SetTimeout遇到了字符串
  • 关于List、List?、ListObject的区别
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 山寨一个 Promise
  • 实战|智能家居行业移动应用性能分析
  • 使用parted解决大于2T的磁盘分区
  • 为什么要用IPython/Jupyter?
  • 小程序开发之路(一)
  • 一些关于Rust在2019年的思考
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • gunicorn工作原理
  • Nginx实现动静分离
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​Python 3 新特性:类型注解
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #FPGA(基础知识)
  • #if 1...#endif
  • #Linux(帮助手册)
  • (9)目标检测_SSD的原理
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (办公)springboot配置aop处理请求.