Linux下的ip命令

2023-05-16

前言

linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。

功能介绍

1、查看ip地址

	[root@localhost ~]# ip addr
	1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
	2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d9:45:56 brd ff:ff:ff:ff:ff:ff
	   inet 192.168.10.220/24 brd 192.168.10.255 scope global dynamic eno16777736  #eno16777736 是网卡名称
       valid_lft 6701sec preferred_lft 6701sec
    inet6 fe80::20c:29ff:fed9:4556/64 scope link 
       valid_lft forever preferred_lft forever

2、设置和删除Ip地址

2.1、设置一个IP地址为 192.168.10.111
[root@localhost ~]# sudo ip addr add 192.168.10.111/24 dev eno16777736 

注:IP地址要有一个后缀,比如/24。这种用法用于在无类域内路由选择(CIDR)中来显示所用的子网掩码。在这个例子中,子网掩码是255.255.255.0

2.2、查看地址是否生效
[root@localhost ~]# ip addr show eno16777736
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:d9:45:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.220/24 brd 192.168.10.255 scope global dynamic eno16777736
   valid_lft 5359sec preferred_lft 5359sec
inet 192.168.10.111/24 scope global secondary eno16777736			#可以看到设置的地址生效了
   valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fed9:4556/64 scope link 
   valid_lft forever preferred_lft forever
2.3、删除Ip地址
[root@localhost ~]# sudo ip addr del 192.168.10.111/24 dev eno16777736
[root@localhost ~]# ip addr show eno16777736
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:d9:45:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.220/24 brd 192.168.10.255 scope global dynamic eno16777736
   valid_lft 4998sec preferred_lft 4998sec
inet6 fe80::20c:29ff:fed9:4556/64 scope link 
   valid_lft forever preferred_lft forever

3、路由

3.1、列出路由表条目
[root@localhost ~]# ip route show
default via 192.168.10.1 dev eno16777736 proto static metric 100  #默认的路由条目,你可以随意改动它。
192.168.10.0/24 dev eno16777736 proto kernel scope link src 192.168.10.220 metric 100 
3.2、查看ip对应的路由包
[root@localhost ~]# ip route get 192.168.10.220
local 192.168.10.220 dev lo src 192.168.10.220 
cache <local>
3.3、更改默认路由
[root@localhost ~]# sudo ip route add default via 192.168.10.3
[root@localhost ~]# ip route show
default via 192.168.10.3 dev eno16777736 
default via 192.168.10.1 dev eno16777736 proto static metric 100 
192.168.10.0/24 dev eno16777736 proto kernel scope link src 192.168.10.220 metric 100

4、显示网络统计数据

4.1、显示不同网络接口的统计数据
[root@localhost ~]# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes  packets  errors  dropped overrun mcast   
37238      652      0       0       0       0       
TX: bytes  packets  errors  dropped carrier collsns 
37238      652      0       0       0       0       
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:d9:45:56 brd ff:ff:ff:ff:ff:ff
RX: bytes  packets  errors  dropped overrun mcast   
1418487    15704    0       0       0       0       
TX: bytes  packets  errors  dropped carrier collsns 
87284      741      0       0       0       0 
4.2、获取一个特定网络接口的信息(在排除网络连接故障时,这会非常有用)
[root@localhost ~]# ip -s -s link ls eno16777736
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:d9:45:56 brd ff:ff:ff:ff:ff:ff
RX: bytes  packets  errors  dropped overrun mcast   
1511519    16680    0       0       0       0       
RX errors: length   crc     frame   fifo    missed
           0        0       0       0       0       
TX: bytes  packets  errors  dropped carrier collsns 
92184      784      0       0       0       0       
TX errors: aborted  fifo   window heartbeat transns
           0        0       0       0       2

5、ARP条目
[root@localhost ~]# ip neighbour
192.168.10.192 dev eno16777736 lladdr f4:f5:db:cb:45:9f STALE
192.168.10.1 dev eno16777736 lladdr 34:96:72:91:90:76 STALE
192.168.10.124 dev eno16777736 lladdr 98:29:a6:06:22:58 STALE
192.168.10.68 dev eno16777736 lladdr 00:e0:70:65:61:8a DELAY
192.168.10.140 dev eno16777736 lladdr 00:ec:0a:dd:e7:a1 STALE

注:ARP(地址解析协议)用于将一个IP地址转换成它对应的物理地址,也就是通常所说的MAC地址

6、监控netlink消息
[root@localhost ~]# ip monitor all
[nsid current]192.168.10.68 dev eno16777736 lladdr 00:e0:70:65:61:8a STALE
[nsid current]192.168.10.68 dev eno16777736 lladdr 00:e0:70:65:61:8a STALE
[nsid current]192.168.10.68 dev eno16777736 lladdr 00:e0:70:65:61:8a REACHABLE
[nsid current]192.168.10.68 dev eno16777736 lladdr 00:e0:70:65:61:8a STALE
[nsid current]192.168.10.68 dev eno16777736 lladdr 00:e0:70:65:61:8a REACHABLE
[nsid current]192.168.10.68 dev eno16777736 lladdr 00:e0:70:65:61:8a STALE
[nsid current]192.168.10.68 dev eno16777736 lladdr 00:e0:70:65:61:8a REACHABLE

7、激活和停止网络接口
[root@localhost ~]# ip route show
default via 192.168.10.1 dev eno16777736 proto static metric 100 
192.168.10.0/24 dev eno16777736 proto kernel scope link src 192.168.10.220 metric 100 
[root@localhost ~]# sudo ip link set eno16777736 down
[root@localhost ~]# ip route show
You have new mail in /var/spool/mail/root
[root@localhost ~]# sudo ip link set eno16777736 up
[root@localhost ~]# ip route show
default via 192.168.10.1 dev eno16777736 proto static metric 100 
192.168.10.0/24 dev eno16777736 proto kernel scope link src 192.168.10.220 metric 100 

8、获取帮助
[root@localhost ~]# ip route help

结束语

如果本篇对您有帮助的话,请点赞加关注。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下的ip命令 的相关文章

  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • Linux 中的无缓冲 I/O

    我正在写入大量的数据 这些数据数周内都不会再次读取 由于我的程序运行 机器上的可用内存量 显示为 空闲 或 顶部 很快下降 我的内存量应用程序使用量不会增加 其他进程使用的内存量也不会增加 这让我相信内存正在被文件系统缓存消耗 因为我不打算
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 从 Python 调用 PARI/GP

    我想打电话PARI GP http pari math u bordeaux fr dochtml gpman html仅从Python计算函数nextprime n 对于不同的n是我定义的 不幸的是我无法得到帕里蟒蛇 http code
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • 在哪里可以找到并安装 pygame 的依赖项?

    我对 Linux 比较陌生 正在尝试安装 python 的 pygame 开发环境 当我运行 setup py 时 它说我需要安装以下依赖项 我找到并安装了其中之一 SDL 然而 其他人则更加难以捉摸 Hunting dependencie
  • nslookup 报告“无法解析 '(null)': 名称无法解析”,尽管它成功解析了 DNS 名称

    我在 ubuntu 上 并且正在运行 docker 默认桥接网络 我有 Zookeeper kafka 的容器化版本 以及我编写的与 kafka 对话的应用程序 I do a docker exec it
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两

随机推荐