在Linux系统中,ip命令是一个功能强大的网络管理工具,用于显示或修改网络接口的状态、IPv4和IPv6地址、路由表、网络统计信息等。相比于ifconfig和route命令,ip命令提供了更加丰富和灵活的网络配置选项。
使用ip命令的基本语法如下:
bash
ip [option] [action] [command]
其中,option是命令的参数,action是具体的操作类型,command是针对哪个网络参数进行的操作。以下是一些常见的选项、动作和命令:
- option:
- -s:显示详细的统计信息。
- action:
- link:管理网络接口的状态,如启动(up)或关闭(down),设置MTU等。
- addr/address:管理IP地址,包括静态IP配置和多IP地址配置。
- route:管理路由表。
现在,我们将分别介绍如何使用ip命令来管理和配置网络接口(link)、地址(addr/address)以及路由(route)。
网络接口的相关设定(link)
使用ip link子命令可以查看和修改网络接口的状态、MTU、MAC地址等信息。以下是一些常见的操作:
bash
显示所有接口信息
ip link show
# 显示eth0接口的详细统计信息
ip link show eth0 -s
# 启动eth0接口
ip link set eth0 up
# 关闭eth0接口
ip link set eth0 down
# 修改eth0接口的MTU为1000字节
ip link set eth0 mtu 1000
# 修改eth0的MAC地址
ip link set eth0 address aa:aa:aa:aa:aa:aa
# 给eth0接口起一个别名
ip link set eth0 name vbird
请注意,修改网卡代号、MAC地址等敏感操作需要在关闭网卡接口的状态下进行。
额外的IP相关设定(addr/address)
ip address子命令用于管理和配置IP地址、子网掩码、广播地址等网络参数。使用这个命令可以轻松地添加、删除或修改网络接口的IP配置。
bash
# 显示所有接口的IP地址信息
ip address show
# 给eth0接口添加一个IPv4地址
ip address add 192.168.1.100/24 dev eth0
# 给eth0接口添加一个IPv6地址
ip address add fe80::250:fcff:fe22:9acb/64 dev eth0
# 删除eth0接口的IPv4地址
ip address del 192.168.1.100/24 dev eth0
# 删除eth0接口的IPv6地址
ip address del fe80::250:fcff:fe22:9acb/64 dev eth0
# 设置eth0接口的广播地址
ip address add broadcast 192.168.1.255 dev eth0
在配置IP地址时,还可以使用label参数来设置接口的别名,以及使用scope参数来指定接口的网络范围。
路由的相关设定(route)
ip route子命令用于管理和配置路由表。使用这个命令可以添加、删除或修改路由条目。
bash
# 显示所有路由信息
ip route show
# 添加一条到达192.168.2.0/24网段的默认路由
ip route add default via 192.168.1.1
# 添加一条到达192.168.2.0/24网段的静态路由
ip route add 192.168.2.0/24 via 192.168.1.2
# 删除默认路由
ip route del default
# 删除到达192.168.2.0/24网段的静态路由
ip route del 192.168.2.0/24
ip命令提供了非常灵活