ip命令网络配置详解

文章目录

ip命令

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

基本格式

sh 复制代码
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命令时,必须指定相应的操作对象和操作命令。

sh 复制代码
# 显示所有网络接口的信息
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命令更强大和灵活的功能。

sh 复制代码
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命令允许用户创建、删除和修改虚拟网络接口,这对于网络隔离、虚拟化等高级应用场景非常有用。

sh 复制代码
# 显示网络设备的状态信息,如接口名称、类型、状态、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命令支持复杂的路由配置,包括静态路由、默认路由、策略路由等。通过精细的路由配置,可以实现更高效的网络通信和流量控制。

sh 复制代码
# 显示路由表信息,包括目的网络、网关、接口等。
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(策略路由管理)

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

sh 复制代码
#添加策略路由规则。
ip rule add

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

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

neigh(ARP缓存管理)

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

sh 复制代码
# 显示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隧道等。

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

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

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

monitor(监视和调试)

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

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

组播和maddr(多播管理)

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

sh 复制代码
ip maddr #管理多播地址。
ip mroute #查看多播路由缓存表。

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

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

# 将指定网络接口从一个多播组中删除
ip maddr del [多播地址] dev [网络接口]
相关推荐
_.Switch11 分钟前
高效网络自动化:Python在网络基础中的应用
运维·开发语言·网络·python·数据分析·自动化
数学难12 分钟前
ICT网络赛道安全考点知识总结1
网络·安全
admin_23332 分钟前
nmcli、ip、ifcfg配置网络区分方法
网络·tcp/ip
沃野_juededa38 分钟前
http 从请求到响应的过程中发生了什么
网络·网络协议·http
hgdlip39 分钟前
如何动态改变本地的ip
网络·tcp/ip·智能路由器
Yaml41 小时前
Spring Boot 安全 API 构建:加密解密功能的卓越实践
服务器·网络·spring boot·安全·aes·rsa
网安kk2 小时前
2024年三个月自学手册 网络安全(黑客技术)
网络·学习·安全·web安全·网络安全
蝌蚪代理ip2 小时前
爬虫ip与反爬虫的“猫鼠游戏”
网络·爬虫·网络协议·ip
白总Server2 小时前
Gateway解说
服务器·网络·数据库·web安全·架构·php·idc