![Linux 网络 - “ip X”而不是 ifconfig/route/etc?](https://linux22.com/image/488535/Linux%20%E7%BD%91%E7%BB%9C%20-%20%E2%80%9Cip%20X%E2%80%9D%E8%80%8C%E4%B8%8D%E6%98%AF%20ifconfig%2Froute%2Fetc%EF%BC%9F.png)
我习惯在 Linux 上使用诸如ifconfig
、route
等命令来检查和更改网络信息。但是我知道有一个ip
命令(带有各种子命令)。我听说现在这是“正确的方法”。有什么特别的原因让我应该放弃 ifconfig/route/etc?你的偏好是什么?一组可以做而其他不能做的事情吗?
答案1
我认为你无法访问更高级的 iproute2 功能[例如多个路由表, 基于源地址或过滤器的路由]使用 ipconfig+route。
对我来说语法知识产权更加符合逻辑并且更易于使用。
答案2
该命令ip
属于名为iproute2。
他们的宣言:
大多数网络配置手册仍将 ifconfig 和 route 称为主要网络配置工具,但众所周知,ifconfig 在现代网络环境中表现不佳。它们应该被弃用,但大多数发行版仍然包含它们。大多数网络配置系统都使用 ifconfig,因此提供的功能集有限。/etc/net 项目旨在支持大多数现代网络技术,因为它不使用 ifconfig,并允许系统管理员使用所有 iproute2 功能,包括流量控制。
简而言之,它结合了许多不同的传统接口,并提供对较新特性(如基于策略的路由)的访问。具有更一致的命令集的优势。
答案3
iproute 最终将取代 ifconfig 等。目前差别不大,但 ip 的语法(至少对我来说)更具可读性。
答案4
自 1985 年左右以来,ifconfig 和 route 在所有 Unix 上都可用(哦哦哦)(甚至在非 Unix 上,Windows 下也有 route)。ip 总体上更好,但除了最近的 Linux 发行版外,仍然不常见。那又怎么样?了解这两种方式,希望每个人都能尽快切换到 ip :)