Inconsistent naming of interfaces
I have a computer system with 3 ethernet ports, one on
the motherboard and two on a dual NIC PCI card.
Typically, the onboard port is aliased as eth0 while
the ports on the NIC get assigned eth1 and eth2.
Lately, eth1 gets assigned to the onboard port, which
is very annoying since that messes up my connections
to the internet and LAN subnets.
I know this is a problem that many people have
complained about when upgrading their kernel from
2.4.x to 2.5.x or 2.6.x. For some people this problem
happens when they upgrade their hardware (as it did
I understand that one way to fix the naming of the
interfaces is to use the nameif utility and store the
static interface-to-mac mappings for my system in
/etc/mactab. I've gotten this to work with trivial
effort. So far so good.
In the future, if I swap out my dual NIC with a newer
one, I'd like a way to be able to produce the new
mappings automatically. Perhaps I could do it like
this for a port I want to call "eth1":
1- Connect ethernet loopback plug to port
2- Run my script, which does this:
a. determine that I am trying to configure eth1
b. probe all ports to see which has loopback
c. store the mac addr of that port in mactab
(along with eth1 tag)
This is a simple self-calibration procedure. But I'm
guessing somebody has some thoughts on how to better
implement this. This will be especially useful to
someone who is trying to ship a large number of
computers pre-configured with Debian, and they want to
ensure that eth0 is always the onboard port, eth1 is
the left port on the dual nic, and eth2 is the right
port on the dual nic, and so on.
Any thoughts will be appreciated.
Do you Yahoo!?
The all-new My Yahoo! - What will yours do?