本文最后更新于 54 天前,其中的信息可能已经有所发展或是发生改变。
Linux系统中的ip
命令是一个非常强大和灵活的网络配置工具,可以用于管理和设置网络接口、路由表、ARP表、多播、隧道、链路状态监测等功能。以下是ip
命令的详细解释:
一、基本用法
ip
命令的基本格式是ip [选项] 对象 命令
,其中对象可以是网络接口、路由表、邻居表等。
二、常用选项
-s
或--stats
:显示对象的统计信息。-b
或--batch
:以批处理模式执行命令。-o
或--oneline
:以一行显示输出结果。-f
或--family
:指定地址族,如inet
(IPv4)或inet6
(IPv6)。-4
:仅显示IPv4信息。-6
:仅显示IPv6信息。
三、主要功能和参数
- ip addr:显示和设置网络接口的信息。
ip addr show
或ip a
:显示所有网络接口的详细信息,包括接口名称、MAC地址、IP地址和状态等。可以通过添加接口名称来过滤显示的结果,例如ip addr show eth0
只显示eth0
接口的信息。ip addr add [IP地址/子网掩码] dev [网络接口]
:给指定网络接口添加一个IP地址。例如,ip addr add 192.168.1.100/24 dev eth0
给eth0
接口配置192.168.1.100
的IP地址和24
位的子网掩码。ip addr del [IP地址/子网掩码] dev [网络接口]
:从指定网络接口删除一个IP地址。ip addr add [IP地址/子网掩码] broadcast [广播地址] dev [网络接口]
:为指定网络接口配置广播地址。
- ip link:显示和设置网络接口的状态。
ip link show
:显示所有网络接口的状态,包括接口名称、状态(UP或DOWN)、MTU值、MAC地址等信息。ip link set [网络接口] up
:启用指定网络接口。ip link set [网络接口] down
:禁用指定网络接口。ip link set dev [网络接口] address [新的MAC地址]
:设置网络接口的MAC地址。ip link set dev [网络接口] mtu [MTU值]
:设置网络接口的MTU值。ip link set dev [网络接口] speed [速度] duplex [双工模式]
:设置网络接口的速度和双工模式。ip link set [网络接口] name [新名称]
:修改网络接口的名称。
- ip route:设置和管理路由表。
ip route show
或ip r
:显示当前系统的路由表信息。ip route add [目标网络] via [网关IP] dev [网络接口]
:添加一个路由规则。例如,ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
添加一条到192.168.2.0/24
网络的路由,通过网关192.168.1.1
,使用eth0
接口。ip route del [目标网络]
:删除指定目标网络的路由规则。通常不需要指定下一跳和接口。ip route add default via [网关IP] dev [网络接口]
:设置默认路由,使所有未知目的地的流量都经过指定的网关。
- ip neigh:管理邻居表(ARP表)。
ip neigh show
或ip n
:显示当前系统的邻居表信息,即本地主机与其他主机之间的IP地址和MAC地址的对应关系。ip neigh add [IP地址] lladdr [MAC地址] dev [网络接口]
:添加一个邻居条目。ip neigh del [IP地址] lladdr [MAC地址] dev [网络接口]
:删除指定IP地址的邻居条目。注意,有时可以省略lladdr [MAC地址]
部分。
- ip maddr:管理多播组。
ip maddr show
:显示当前系统的多播组信息。ip maddr add [多播地址] dev [网络接口]
:将指定网络接口加入一个多播组。ip maddr del [多播地址] dev [网络接口]
:将指定网络接口从一个多播组中删除。
- ip tunnel:设置和管理隧道接口。
ip tunnel add [隧道名称] mode [隧道类型] remote [远程IP] local [本地IP] dev [网络接口]
:添加一个隧道接口。例如,ip tunnel add gre0 mode gre remote 192.168.2.1 local 192.168.1.1
创建一个名为gre0
的GRE隧道。ip tunnel del [隧道名称]
:删除指定隧道接口。
- ip monitor:监视网络接口的状态变化。
- ip netns:配置和管理网络命名空间。
ip netns add [命名空间名称]
:创建一个新的网络命名空间。ip netns del [命名空间名称]
:删除指定的网络命名空间。ip netns list
:列出所有网络命名空间。ip netns exec [命名空间名称] [命令]
:在指定的网络命名空间中执行命令。
四、注意事项
- 执行
ip
命令时,通常需要以root
用户或具有相应权限的用户身份来执行。 ip
命令配置的网络接口信息通常是临时的,系统重启后会丢失。要使配置持久化,需要编辑网络配置文件(如/etc/network/interfaces
或/etc/sysconfig/network-scripts/ifcfg-eth0
,具体文件路径可能因Linux发行版而异)。
综上所述,ip
命令是Linux系统中用于配置和管理网络连接和网络接口的重要工具。掌握ip
命令的使用方法对于进行网络配置和故障排除非常有帮助。