ubuntu获取网卡IP和MAC地址

ip addr | grep link/ether | awk '{print $2}'
ip=`ifconfig eth0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'`
mac=`ifconfig | grep HWaddr | awk -F" " '{print $5}'`
/sys/class/net/eth0/address
# lshw可以获取很多硬件信息哦
lshw -class network
# 获取网卡名称
ip -o -4 route show to default | awk '{print $5}'

问题1,环回lo和虚拟网卡要不要
docker或者别的虚拟网卡存在,看您需要不需要避免获取到虚拟网卡的。

问题2,网卡命名的问题
之前一般被系统命名为eth0,现在改别的命名规则了。看要不要把网卡名称写死了,还是要求自动获取网卡名。

问题3,多网卡
这个问题一般不重要,一般也就不用指定特定网卡,只要是真实网络接口即可。若只需要一个,awk里打印完一个立即 exit 即可。

那这段代码有什么用呢?
比如自动设置机器名称为与MAC地址有关的名字避免克隆系统名称冲突,就可以写个服务启动后立即修改下机器名 hostname,更改机器名称为MAC有关

发表评论

电子邮件地址不会被公开。 必填项已用*标注