欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是网络协议方面的经验知识教程:网卡适配器处理内核对接口命名的不一致性,下面是详细的分享!
网卡适配器处理内核对接口命名的不一致性
网卡适配器处理内核对接口命名的不一致性
eth0、eth1 这类设备的名称是由内核指定的,内核是按照创建这些接口的顺序来命名的。在开机的时候,被检测到的适配器通常都是按照一样的顺序被检测到的,所以每次都被 指定为同一个名称。但是,对于热拔插的适配器情况就不是这样了。在不同情况下,它们可能以任意的顺序被检测到,于是内核就给它们指定不同的名称。
因为这个关系,在一个网卡适配器是热拔插设备的系统中,使用 /etc/network/interfaces 给 eth0、eth1 这类接口定义逻辑接口和依靠缺省的映射关系都是不可能完全正常工作的。要取代这个做法,你必须给逻辑接口设置一个唯一的名称,并使用下列两个方法中的一个来限制哪些逻辑接口会被指定给哪些是适配器。
一个方法是使用 nameif(在 net-tools 软件包中)工具或另外一个更灵活的 ifrename(在 ifrename 软件包中)工具,使内核按照适配器的属性来指定接口名称。使用这个命名方案的话,物理接口的名称可以被用来推测出接口下面的适配器的名称。
另外一种方法是使用 ifup 映射机制。这种情况下就会根据将要被激活的物理接口所在的适配器的某些属性来选择逻辑接口。
假设,你有两个网络适配器,分别在网络 net1 和 net2 中使用。/usr/share/doc/ifupdown/examples/ 目录下面包含了一个映射脚本,能够根据适配器的媒体访问控制地址(MAC 地址)来选择逻辑接口。首先安装脚本到适合的目录。
# install -m770 /usr/share/doc/ifupdown/examples/get-mac-address.sh \
/usr/local/sbin/
然后在 /etc/network/interfaces 中加入如下一段内容:
mapping eth0
script /usr/local/sbin/get-mac-address.sh
map 02:23:45:3C:45:3C net1
map 00:A3:03:63:26:93 net2
以上就是关于网卡适配器处理内核对接口命名的不一致性的网络协议知识分享,更多电脑教程请移步到>>电脑教程。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
