ip命令
ip 命令是 Linux 系统中用于配置和查看网络接口、路由、隧道等网络相关设置的工具。它是 ifconfig 命令的现代替代品,提供了更多功能和更强大的灵活性。以下是一些常用的 ip 命令及其作用:
1. 查看网络接口信息
ip addr如果你只想查看某个特定接口的信息,比如 eth0,可以使用:
ip addr show eth02. 配置 IP 地址
ip addr add <ip_address>/<subnet_mask> dev <interface>ip addr add 192.168.1.10/24 dev eth0eth0 网络接口添加了 192.168.1.10 的 IP 地址,子网掩码是 /24。
3. 删除 IP 地址
ip addr del <ip_address>/<subnet_mask> dev <interface>ip addr del 192.168.1.10/24 dev eth04. 查看路由表
ip route例如,查看默认路由:
ip route show default5. 添加路由
ip route add <destination_network> via <gateway> dev <interface>ip route add 10.1.1.0/24 via 192.168.1.1 dev eth010.1.1.0/24 网段的流量通过网关 192.168.1.1 来转发。
6. 删除路由
ip route del <destination_network> via <gateway> dev <interface>ip route del 10.1.1.0/24 via 192.168.1.1 dev eth07. 查看邻居表(ARP缓存)
ip neigh8. 启用/禁用网络接口
ip link set dev <interface> up
ip link set dev <interface> downip link set dev eth0 up
ip link set dev eth0 down总结
ip 命令是非常强大且灵活的,涵盖了网络管理的方方面面。它可以配置和查看网络接口、路由、IP 地址、隧道、邻居缓存等信息,并且替代了许多老旧的命令,如 ifconfig 和 route。
https://wangchujiang.com/linux-command/c/ip.html
使用 ip addr add 命令为网卡(如 eth0)添加 IP 地址时,并不会影响该网卡当前已经绑定的 IP 地址,因为 ip addr add 操作会在该网卡上 附加 一个新的 IP 地址,而不是替换现有的 IP 地址。这是 Linux 网络栈的多地址功能的体现。
核心原因
- 网卡多地址支持:
- Linux 内核允许单个网络接口绑定多个 IP 地址。通过 ip addr add,新地址会作为该网卡的附加地址,而现有地址保持不变。
- 默认行为是附加而非替换:
- ip addr add不会移除或覆盖已有的地址。要删除地址,需要明确使用- ip addr del命令。
- 路由表和流量分发:
- 当网络接口上存在多个 IP 地址时,系统会根据路由规则或特定应用绑定的地址来决定如何处理流量。新地址的加入不会改变默认的路由或已有的流量分配。
示例
假设 eth0 当前已经绑定了 IP 地址 192.168.1.10/24:
ip addr show eth0输出可能类似于:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.10/24 scope global eth0
       valid_lft forever preferred_lft forever然后执行:
ip addr add 192.168.1.100/24 dev eth0再次检查 eth0 的地址:
ip addr show eth0输出:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.10/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet 192.168.1.100/24 scope global secondary eth0
       valid_lft forever preferred_lft forever可以看到,新地址 192.168.1.100/24 被添加为 secondary 地址,而原有地址 192.168.1.10/24 依然存在。
注意事项
- 删除地址: 如果需要删除某个 IP 地址,使用 ip addr del命令。例如:
ip addr del 192.168.1.100/24 dev eth0- 
多地址路由处理: 添加新 IP 地址后,如果需要特定流量通过该地址,可以配置对应的路由或规则。 
- 
永久性设置: 使用 ip addr add是临时的,系统重启后会丢失。如果需要永久性配置,可以将 IP 地址添加到网络配置文件中(如/etc/network/interfaces或/etc/sysconfig/network-scripts/视操作系统而定)。
这样,ip addr add 的设计在灵活性上非常强,适合动态调整网络配置。