免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 13282 | 回复: 16
打印 上一主题 下一主题

[网络管理] 请问绑定两个网卡后如何查看mac地址 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-24 22:56 |只看该作者 |倒序浏览
在redhat linux 下,我给eth0网卡和eth1网卡做了绑定,变成bond0,通过ifconfig -a 查看,他们三个的mac地址和IP地址都是一样的,由于在绑定前,没有对他们做mac地址的备份,/etc/sysconfig/network-scrpit/ 中没有对eth0和eth1 的hwaddr做说明,都已经改写,我现在不想利用去除绑定的方法获取原来eth0和eth1的mac地址,请问有什么方法??

论坛徽章:
0
2 [报告]
发表于 2012-11-24 23:11 |只看该作者
尝试:
cat /sys/devices/virtual/net/bond0/subsystem/eth0/address
cat /sys/devices/virtual/net/bond0/subsystem/eth1/address

论坛徽章:
0
3 [报告]
发表于 2012-11-24 23:12 |只看该作者
cat /sys/class/net/eth0/address
cat /sys/class/net/eth1/address

论坛徽章:
0
4 [报告]
发表于 2012-11-24 23:43 |只看该作者
这里的却有好多网卡信息,但是现在mac地址都是一样的了~~~如何看到之前的?回复 3# wohuljl


   

论坛徽章:
0
5 [报告]
发表于 2012-11-24 23:56 |只看该作者
redhat linux没有这些目录
回复 2# wohuljl


   

论坛徽章:
0
6 [报告]
发表于 2012-11-25 00:11 |只看该作者
你可以看一下linux kernel 2.6.0以上版本源码路径下 driver/net/bonding/bond_sysfs.c文件,proc处理函数:
static void bond_info_show_slave(struct seq_file *seq, const struct slave *slave)
{
        struct bonding *bond = seq->private;

        seq_printf(seq, "\nSlave Interface: %s\n", slave->dev->name);
        seq_printf(seq, "MII Status: %s\n",
                   (slave->link == BOND_LINK_UP) ?  "up" : "down");
        seq_printf(seq, "Link Failure Count: %u\n",
                   slave->link_failure_count);

        seq_printf(seq, "Permanent HW addr: %pM\n", slave->perm_hwaddr);

        if (bond->params.mode == BOND_MODE_8023AD) {
                const struct aggregator *agg
                        = SLAVE_AD_INFO(slave).port.aggregator;

                if (agg) {
                        seq_printf(seq, "Aggregator ID: %d\n",
                                   agg->aggregator_identifier);
                } else {
                        seq_puts(seq, "Aggregator ID: N/A\n");
                }
        }
}
红色的就是原始地址,这些信息是在proc文件里面显示出来的,你可以看看相关路径下找找有没有/proc/net/bonding/bond0 的项,如果没有那就是你的内核编译的时候给裁了,需要重新编译内核

论坛徽章:
0
7 [报告]
发表于 2012-11-25 00:16 |只看该作者
uname -r看看你kernel的版本号,再对kernel.org上下载同样的内核版本,看看slave->perm_hwaddr的所含的mac地址是在哪里打出来的,我想应该是proc文件里面打的

论坛徽章:
0
8 [报告]
发表于 2012-11-25 00:34 |只看该作者
好复杂~~~不过谢谢你的解答~~~我找不到这个文件啊~~回复 6# wohuljl


   

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
9 [报告]
发表于 2012-11-25 02:01 |只看该作者
试试 ifenslave -a

论坛徽章:
0
10 [报告]
发表于 2012-11-25 21:00 |只看该作者
的却可以看到~~~谢谢!~!!那怎么通过脚本自动读出来呢??回复 9# q1208c


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP