[NTLUG:Discuss] Bringing up a network interface on SuSE 10.1

Chris Cox cjcox at acm.org
Thu Nov 15 22:22:09 CST 2007


Leroy Tennison wrote:
> SuSE has (to me) this irritating characteristic of creating 
> ifcfg-eth-id-<MAC address> files rather than ifcfg-eth0.  The problem is 
> when the NIC changes (actually the host hardware and thus the embedded 
> NIC, I moved a hard drive between machines).  I found the MAC address of 
> the "new" NIC in dmesg and created ifcfg-eth-id-<"new" MAC address> but 
> couldn't figure out how to bring it up.  Tried:
> 
> ifup eth0
> 	but eth0 doesn't exist because the ifcfg... didn't exist at boot
> ifup <"new" MAC address>
> 	couldn't find it even though 'man ifup' said this would work
> ifup <PCI identifier>
> 	couldn't find it even though 'man ifup' said this would work
> 
> I finally resorted to reboot which brought it up (but as eth4, not sure 
> why).
> 
> How do I bring up a NIC after boot that isn't detected at boot?  Please 
> don't say yast, I want to understand how to do it - not have the 
> knowledge hidden behind an interface.

yast is the sysadmin tool for openSUSE.  IMHO, you might be better
off with a distribution that forces you to do everything by hand...
if you really want to learn how to do things.  With that said, a
tool like yast can hide things because the setup is more than
a bit complicated.... thus there is usually an easier way, but not
necessarily a "complete" way of doing things (yast attempts to account
for many interdependent operations that most people are not likely
to consider).

But... with that said, yast isn't the root of the problem here, though
it is most certainly a victim (and thus a problem).

The problem is the new (non SUSE) hotplugging mechanism that we're
all having to adopt known as udev.  You can fix the problem by removing
all of the entries with regards to ethernet controllers from the file
/etc/udev/rules.d/30-net_persistent_names.rules.  When you restart
the detection will find just your new NIC and it will be at eth0.
However, if yast matters to you, you may have to go into yast and
delete out all of the nics and start over with configuration there...
if yast is useful to you.... just to keep yast in sync with what
is happening out there.

At initial interface config, yast does allow you to edit the
name given to the /etc/sysconfig/network/ifcfg-eth* name, however,
when I tried this, it seemed to mess things up (10.2)... so
maybe this is broken a bit.

If you must do things outside of the SUSE way... you can always
create your own init scripts and do your own dhcp and network
settings.  But trying to do all of the things that yast tries
to do.... not sure if I'd want to try to figure all of that out.
Obviously it is possible though, just have to read through the
myriad of scripts that are invoked by /etc/init.d/network
when starting interfaces and dhcp.







More information about the Discuss mailing list