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

ip命令网络配置详解

文章目录

  • ip命令
    • 基本格式
    • 常用选项
    • 常用操作对象及命令(默认忽略show参数)
      • 常用示例:
      • address(设备上的协议地址)
      • link(网络设备)
      • route(路由表条目)
      • rule(策略路由管理)
      • neigh(ARP缓存管理)
      • tunnel(隧道管理)
      • monitor(监视和调试)
      • 组播和maddr(多播管理)

ip命令

Linux中的ip命令是一个功能强大的网络配置工具,用于显示或操作路由、设备、策略路由和隧道等网络参数。

基本格式

ip [OPTIONS] OBJECT {COMMAND | help}
  • OPTIONS:选项,用于指定命令的行为或输出格式。
  • OBJECT:操作对象,如link(网络设备)、address(设备上的协议地址)、route(路由表条目)等。
  • COMMAND:对指定的操作对象执行的操作命令,如show(显示)、add(添加)、del(删除)等。

常用选项

-V 或 --version:显示ip命令的版本信息。
-s 或 --stats 或 --statistics:输出更详细的信息。
-f <协议> 或 -family <协议>:指定协议类型,如inet(IPv4)、inet6(IPv6)等。
-r:在显示主机时,不使用IP地址,而使用主机的域名。
-4:指定使用IPv4协议。
-6:指定使用IPv6协议。
-0:输出信息时,每条记录输出一行,即使内容较多也不换行显示。

常用操作对象及命令(默认忽略show参数)

常用示例:

注意事项:在使用ip命令时,必须指定相应的操作对象和操作命令。

# 显示所有网络接口的信息
ip a
ip address show
ip link | grep -E '^[0-9]' | awk -F: '{print $2}' # 获取主机所有网络接口

# 显示指定网络接口(如eth0)的信息
ip address show eth0
ip a s eth0

# 为指定网络接口(如eth0)添加IP地址
ip addr add 192.168.1.100/24 dev eth0

# 删除指定网络接口(如eth0)上的IP地址
ip addr del 192.168.1.100/24 dev eth0

# 显示路由表信息
ip route show
ip r

# 添加新的路由条目
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0

# 删除指定的路由条目
ip route del 192.168.2.0/24 via 192.168.1.1 dev eth0

address(设备上的协议地址)

功能:用于显示和配置网络接口信息的重要命令。它属于iproute2套件的一部分,提供了比传统ifconfig命令更强大和灵活的功能。

ip addr show:显示设备上的协议地址配置,如IP地址、子网掩码、广播地址等。

# 给指定网络接口添加一个IP地址
ip addr add [IP地址/子网掩码] dev [网络接口]
ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1

# 从指定网络接口删除一个IP地址
ip addr del [IP地址/子网掩码] dev [网络接口]
ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址

link(网络设备)

功能:ip命令允许用户创建、删除和修改虚拟网络接口,这对于网络隔离、虚拟化等高级应用场景非常有用。

# 显示网络设备的状态信息,如接口名称、类型、状态、MTU、队列长度等。
ip link show
ip link list
ip -s link list # 显示更加详细的设备信息

# 设置网络设备的状态或属性,如启用或禁用接口、修改MAC地址等。
ip link set
ip link set [网络接口] up:启用指定网络接口
ip link set eth0 up             # 开启网卡
ip link set [网络接口] down:禁用指定网络接口
ip link set eth0 down            # 关闭网卡

# 添加虚拟网络接口。
ip link add

# 删除虚拟网络接口。
ip link del

route(路由表条目)

功能:ip命令支持复杂的路由配置,包括静态路由、默认路由、策略路由等。通过精细的路由配置,可以实现更高效的网络通信和流量控制。

# 显示路由表信息,包括目的网络、网关、接口等。
ip route show
ip route list

# 添加新的路由条目。
ip route add [目标网络] via [网关IP] dev [网络接口]
ip route add default via 192.168.1.254   # 设置系统默认路由
ip route add default via 192.168.0.254  dev eth0        # 设置默认网关为192.168.0.254
ip route add 192.168.4.0/24  via  192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口

# 删除指定的路由条目。
ip route del [目标网络]
ip route del 192.168.4.0/24             # 未指定网络接口,所以删除所有匹配这个目的网络192.168.4.0/24的路由条目
ip route del 192.168.1.0/24 dev eth0    # 删除路由(推荐)
ip route del default                    # 删除默认路由

# 替换默认路由或静态路由。
ip route replace

rule(策略路由管理)

功能:策略路由允许基于源地址、目的地址或其他标准来选择不同的路由。这在多路径网络环境中非常有用,可以实现更精细的流量控制和负载均衡。

#添加策略路由规则。
ip rule add

# 删除策略路由规则。
ip rule del

# 显示当前策略路由规则。
ip rule show

neigh(ARP缓存管理)

功能:ARP(地址解析协议)负责将IP地址映射到MAC地址。ARP缓存是存储最近通信过的IP地址和对应的MAC地址的地方。ip命令允许用户查看和清除ARP缓存,从而解决网络通信中的地址解析问题。

# 显示ARP缓存中的条目。
ip neigh show
ip neigh list

# 手动添加ARP缓存条目。
ip neigh add [IP地址] lladdr [MAC地址] dev [网络接口]

# 删除ARP缓存条目。
ip neigh del [IP地址] 

tunnel(隧道管理)

功能:隧道技术允许在不同网络之间建立直接的通信路径,即使这些网络之间没有直接的物理连接。ip命令可以创建和管理各种隧道,如GRE隧道、IP-in-IP隧道等。

# 添加隧道。
ip tunnel add [隧道名称] mode [隧道类型] remote [远程IP] local [本地IP] dev [网络接口]

# 删除隧道。
ip tunnel del [隧道名称]

# 显示当前隧道配置。
ip tunnel show

monitor(监视和调试)

功能:ip命令提供了监视网络设备和路由表状态变化的功能,这对于调试网络问题非常有用。

# 实时显示网络设备和路由表的状态变化。
ip monitor

组播和maddr(多播管理)

功能:组播和多播是网络通信中的两种重要方式,用于将数据包发送给多个接收者。ip命令可以管理系统中的组播和多播设置,包括加入、离开、查看组播组等操作。

ip maddr #管理多播地址。
ip mroute #查看多播路由缓存表。

# 显示当前系统的多播组信息
ip maddr show

# 将指定网络接口加入一个多播组
ip maddr add [多播地址] dev [网络接口]

# 将指定网络接口从一个多播组中删除
ip maddr del [多播地址] dev [网络接口]

http://www.kler.cn/a/373117.html

相关文章:

  • WebSocket简单使用
  • fastGpt
  • Linux 中,flock 对文件加锁
  • Android Input的流程和原理
  • Python 操作 读/写 Excel
  • kubernetes——part2-3 使用RKE构建企业生产级Kubernetes集群
  • GIS基础知识:WKT格式、WKB格式
  • 「C/C++」C++标准库之#include<fstream>文件流
  • 深入布局- grid布局
  • echarts属性之radar
  • React 异步渲染机制
  • 鸿蒙生态未来的发展趋势探讨?
  • 【STM32 Blue Pill编程实例】-4位7段数码管使用
  • Spring Boot 开发常见问题及解决方案汇总
  • 公安专业知识笔记-桐哥
  • 计算机毕业设计Java银行存取系统 银行交易管理系统 金融数据处理 用户存取管理系统(源码+定制+开发)
  • 威胁评估助力新能源车企发掘风险,推动安全与智能化业务发展
  • UE5 不同的编译模式下,module的组织形式
  • 上市公司企业数字金融认知数据集(2001-2023年)
  • 【Android】ViewPager的MVP架构搭建
  • 谷歌浏览器安装axure插件
  • 为什么音频采样率通常是44.1kHz?
  • css 对称按钮,中间斜平行间隔,两头半圆
  • 动手学深度学习64 注意力机制
  • 线性数据结构之数组
  • 基于 GADF+Swin-CNN-GAM 的高创新扰动信号识别模型!