当前位置: 首页 > 科技观察

Linux下新的网管工具ip替代ifconfig零压力

时间:2023-03-16 22:01:24 科技观察

如果你用Linux时间够长,那你自然知道一些工具的来龙去脉。2009Debian开发人员邮件列表宣布放弃维护不善的net-tools工具包。Net-tools今天仍然被一些人使用。事实上,在Ubuntu14.10中你仍然可以使用ifconfig命令来管理你的网络配置。但是在某些情况下(例如UbuntuDocker容器),默认情况下不会安装net-tools包,这意味着无法使用ifconfig。但是,仍然可以从存储库安装net-tools。sudoapt-getinstallnet-tools由于net-tools不再维护,我们强烈建议使用ip命令而不是ifconfig。更重要的是ip在替换ifconfig的基础上性能更好。有趣的是,ip不仅仅是ifconfig的替代品,这两个命令在结构上有很多不同之处。尽管如此,它们都服务于相同的目的。事实上,ip命令可以完成以下所有事务。列出系统上配置了哪些网络接口查看网络接口的状态配置网络接口(包括本地环路和以太网)启用或禁用网络接口管理默认静态路由IP隧道配置配置ARP或NDISC缓存条目接下来让我们按上面说的试试使用ip而不是ifconfig。我将给出一些简单的例子来说明如何使用ip命令。要正确使用和理解这些命令需要root权限,您可以使用su切换到root用户或使用sudo。因为这些命令会改变你机器的网络信息。谨慎使用。注意:演示中使用的地址只是为了演示,到你的电脑上,会根据你的网络和硬件不同而不同。接下来,让我们开始吧!收集信息大多数人学习使用ifconfig做的第一件事就是查看分配给网络接口的IP地址。不带任何参数直接在终端输入ifconfig回车就可以看到。所以要使用ip做到这一点,我们只需要这个。ipa命令将列出有关所有网络接口的信息。你说你只想看IPv4相关的信息,这样就可以了。ip-4a你说要查看特定网络接口的相关信息,那么使用如下命令查看无线网卡的连接信息。ipashowwlan0您甚至可以找到更具体的信息。如果你想查看wlan0上的IPv4信息,那么你可以这样做。ip-4ashowwlan0也可以像这样列出正在运行的网络接口。iplinklsup修改配置网络接口接下来让我们学习ip命令的核心功能——修改配置网络接口。假设你想给第一个以太网网卡(eth0)分配一个特定的地址。使用ifconfig,它看起来像这样。如果configeth0192.168.1.101那么使用ip命令是这样的。ipaadd192.168.1.101/255.255.255.0deveth0可以很短。ipaadd192.168.1.101/24deveth0显然在这种情况下,您需要知道您要安排的地址的子网掩码。同理,可以这样删除一个网卡的地址。如果您只想清除所有接口上的所有地址,ipadel192.168.1.101/24deveth0就是您所需要的。另一方面,ip-s-safto192.168.1.0/24ip命令启用/禁用网络接口。Disableeth0iplinksetdeveth0downActivateeth0iplinksetdeveth0up使用ip命令,我们还可以添加/删除默认网关,就像这样。iprouteadddefaultvia192.168.1.254如果您想获得有关网络接口的更多详细信息,您可以编辑传输队列并为慢速接口设置低值,为快速接口设置高值。然后你需要这样做。iplinksettxqueuelen10000deveth0这个命令设置了一个很长的传输队列。您应该设置一个最适合您的硬件的值。也可以使用ip命令为一个网络接口设置VPN传输单元。iplinksetmtu9000deveth0一旦你做了改变,你可以使用ipalisteth0来验证它是否已经生效。其实也可以使用ip命令来管理系统路由表。这是ip命令的一个非常有用的功能。你应该小心使用它。查看所有路由表。ipr输出将如下图所示。现在你想通过eth0NIC上的192.168.1.254网关路由所有流量,所以请这样做。iprouteadd192.168.1.0/24deveth0删除这条路由。iproutedel192.168.1.0/24deveth0本文只介绍ip命令。您不需要立即使用ip命令。您可以继续使用ifconfig。因为ifconfig的弃用速度很慢,所以它仍然在许多发行版中默认安装。但我相信它会逐渐被ip命令完全取代。看完这篇介绍,到时候你就可以快速切换了。如果您想了解更多关于ip命令的用法,请查看ip命令的手册页。