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

路由表项

ntable
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地址

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

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值