Bug 519208 - initial run of NetworkManager screws up network configuration
Summary: initial run of NetworkManager screws up network configuration
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: NetworkManager
Version: 12
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Dan Williams
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-08-25 16:23 UTC by Jonathan Kamens
Modified: 2010-02-09 01:42 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-02-09 01:42:12 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
tar file containing network scripts (350 bytes, application/x-gzip)
2009-08-25 16:23 UTC, Jonathan Kamens
no flags Details

Description Jonathan Kamens 2009-08-25 16:23:01 UTC
Created attachment 358595 [details]
tar file containing network scripts

I have three network interfaces configured by hand-editing ifcfg-eth0, ifcfg-eth1, and ifcfg-eth1:1 in /etc/sysconfig/network-scripts.  eth0 is DHCP to Comcast, eth1 is a local LAN address 192.168.0.20, and ifcfg-eth1:1 is an alias on the local LAN of 192.168.3.1.  All of this was set up long before NetworkManager came on the scene.  I will attach a tar file with all the network config scripts in it so you can see what they look like.

The first time I do "service NetworkManager start", it changes the IP address of eth0 from its address previously obtained with DHCP, to 192.168.0.20, i.e., the address that's supposed to be on eth1.  It leaves the addresses of eth1 and eth1:1 intact, so now I've got two interfaces claiming to be 192.168.0.20.

Here's a diff of the ifconfig output before and after:

--- /tmp/ifconfig-before-nm	2009-08-25 12:16:23.000000000 -0400
+++ /tmp/ifconfig-after-nm	2009-08-25 12:17:30.000000000 -0400
@@ -1,10 +1,10 @@
 eth0      Link encap:Ethernet  HWaddr 00:19:66:25:48:2B  
-          inet addr:71.232.42.76  Bcast:255.255.255.255  Mask:255.255.252.0
+          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
-          RX packets:84387 errors:0 dropped:0 overruns:0 frame:0
-          TX packets:27270 errors:0 dropped:0 overruns:0 carrier:0
+          RX packets:85675 errors:0 dropped:0 overruns:0 frame:0
+          TX packets:27807 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
-          RX bytes:24663768 (23.5 MiB)  TX bytes:3538986 (3.3 MiB)
+          RX bytes:25010676 (23.8 MiB)  TX bytes:3676239 (3.5 MiB)
           Interrupt:23 Base address:0x4c00 
 
 eth1      Link encap:Ethernet  HWaddr 00:0A:CD:13:69:55  

If I delete all of the interfaces in nm-connection-editor and add them back by hand, the problem goes away.

Comment 1 Jonathan Kamens 2009-08-27 12:35:57 UTC
This problem occurs even when I add USERCTL=no and NM_CONTROLLED=no to all of my ifcfg-* files.  I saw these settings mentioned on fedora-test-list and assumed that they were intended to tell NetworkManager to ignore these interfaces.  Am I wrong about that?

Comment 2 Dan Williams 2009-11-07 04:12:04 UTC
Can you attach your ifcfg files?

There's a few things you'll want to do:

1) make sure HWADDR is set in both ifcfg-eth0 and ifcfg-eth1

2) Instead of using ifcfg-eth1:1, which is a left-over from the days when we didn't have /sbin/ip, try using IPADDR1, PREFIX1, GATEWAY1, etc, where you replace 1 with 2, 3, 4, etc.  Device aliases are unecessary these days as /sbin/ip can put any number of IP addresses on a device without aliasing.

3) assuming you want eth0 as your default gateway, make sure you set GATEWAYDEV=eth0 in /etc/sysconfig/network to ensure that eth0 gets the default route.

Let me know if this works for you, thanks!

Comment 3 Jonathan Kamens 2009-11-12 22:38:20 UTC
1) If NM_CONTROLLED doesn't work unless HWADDR is set, then I'd say that's a NetworkManager bug.  I don't see why I should have to specify HWADDR in ifcfg-eth0 if the kernel knows full well which interface is eth0.

2) I tried to figure out the syntax for what you're proposing and simply could not get it to work.  Furthermore, when I wiped out my network configuration by deleting /etc/sysconfig/network-scripts/ifcfg-eth* and all the files underneath /etc/sysconfig/networking and then reran system-config-network and reconfigured everything from scratch, it recreated /etc/sysconfig/network-scripts/ifcfg-eth1:1 rather than using the syntax you suggested as correct.  If the old, alias-based syntax is obsolete, then system-config-network shouldn't be generating it.  If system-config-network generates it, then NetworkManager needs to handle it properly.

3) Yes, I already had GATEWAYDEV=eth0 in /etc/sysconfig/network.

I will attach my ifcfg files.

Comment 4 Jonathan Kamens 2009-11-12 22:39:34 UTC
Wait, I already *did* attach my ifcfg files, back in August when I filed this bug.

Comment 5 Jonathan Kamens 2009-11-12 22:44:51 UTC
FWIW, after adding HWADDR settings to ifcfg-eth0 and ifcfg-eth1 (or, more accurately, after letting system-config-network add them), it appears that nm-connection-editor correctly ignores them now.  However, eth1:1 is still showing up in nm-connection-editor, which I suppose is understandable, since you've suggested that HWADDR is necessary to prevent this, and ifcfg-eth1:1 doesn't have HWADDR in it because system-config-network didn't insert it.

Comment 6 Bug Zapper 2009-11-16 11:40:39 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 7 Dan Williams 2010-02-09 01:42:12 UTC
Thanks for the update; looks like we're working as expected except for interface aliases (see bug #443968).  But note that you can now include multiple IP addresses for each device in one ifcfg file, and thus device aliases are entirely redundant and unneeded.


Note You need to log in before you can comment on or make changes to this bug.