[英]Obtaining allowed MTU range for specific device from bash-script
包 iproute2(自 v4.19 起)解析最小/最大 mtu 详细信息,并在用户提供“--details”选项时将其打印到控制台
ip --details link
ip --details link --name=eth0
ip --details addr
ip --details addr show dev eth0
脚本示例
#!/bin/bash
for nic in eth0 eth1 eth2; do
min_mtu=`ip --details link show $nic | grep 'minmtu'| sed -r 's/^(.*minmtu) ([0-9]+) (.*)$/\2/'`
max_mtu=`ip --details link show $nic | grep 'maxmtu'| sed -r 's/^(.*maxmtu) ([0-9]+) (.*)$/\2/'`
echo "$nic - min: $min_mtu, max: $max_mtu"
done
输出:
eth0 - min: 60, max: 9000
eth1 - min: 68, max: 1770
eth2 - min: 68, max: 1770
Debian 10 已经有足够新版本的 iproute2 包 (v4.20) 来显示最小/最大 mtu。 Ubuntu 18.04.3 有一个内核,它已经向用户空间提供了这些信息,但是 iproute2 包不够新鲜(v4.15)来解析内核的数据(并将它们显示给用户)。
如果您有过时的包,您可以自己构建新的 iproute2 工具。
git clone git://git.kernel.org/pub/scm/network/iproute2/iproute2.git
cd iproute2 && ./configure && make && ./ip/ip --details link
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.