Hi there!
At the beginning i will try to explain what problem do i exactly have.
I'm working on Fedora 14 (yes, i know it is archaic, but for some reasons for now i have no possibility
to install newer / newest one) and Asus M2N32-SLI Deluxe motherboard - it has two wired Ethernet
interfaces (let's call them E0 and E1) and internal USB-based Wifi module.
Configuration is as follows:
1) E0 was "attached" as eth0 interface, while E1 - as eth1.
2) E0 is connected directly to my internet provider.
3) E1 is wired with my WRT54-GL router to share Internet across rest of devices.
4) E1 is NOT connected to the router's WAN port - instead, it uses one of LAN ports.
5) Router has DHCP enabled (E1 has fixed address of 192.168.0.1, that is used for LAN's gateway)
6) Desktop has been configured to forward traffic using iptables via rule:
Code:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
7) I'm using Network Manager (system-config-network).
And now comes the trouble - today i've tried to flash bios on my board. I've downloaded newest
revision from Asus website (it was 5002) and i've used flashrom to get it written. Operation was successful,
although after reboot BIOS says, that due to incomplete POST stage all settings are set to default.
When system was boot i realized that i no longer have eth0 / eth1 interfaces - but eth2 / eth3... now
i know it was because of MAC address reset... i was trying to fix it on my own, but having little (or none)
knowledge i've failed. After making phone call to i-net provider to register new MAC I-net is working for
me, but now i suppose i got TWO DISTINCT hardware interfaces that share the same MAC...
Calling ifconfig shows as follows (i've changed i-net IP to INET-IP, and broadcast to INET-BCAST
and removed inet6 line, rest is original - virbr0 is for my XP virtual machine, i suppose):
Code:
eth0-eth1 Link encap:Ethernet HWaddr 04:4B:80:80:80:03
inet addr:INET-IP Bcast:INET-BCAST Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34069 errors:0 dropped:0 overruns:0 frame:0
TX packets:24350 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22111069 (21.0 MiB) TX bytes:6095158 (5.8 MiB)
Interrupt:42 Base address:0x6000
eth1 Link encap:Ethernet HWaddr 04:4B:80:80:80:03
inet addr:192.168.0.13 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::64b:80ff:fe80:8003/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1526 errors:0 dropped:0 overruns:0 frame:0
TX packets:1469 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:973224 (950.4 KiB) TX bytes:189883 (185.4 KiB)
Interrupt:43 Base address:0x6000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:552 errors:0 dropped:0 overruns:0 frame:0
TX packets:552 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:366162 (357.5 KiB) TX bytes:366162 (357.5 KiB)
virbr0 Link encap:Ethernet HWaddr 9E:45:4C:4A:7A:1A
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:220 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:54559 (53.2 KiB)
wlan0 Link encap:Ethernet HWaddr 00:15:AF:3E:B1:62
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
My /etc/udev/rules.d/70-persistent-net.rules file (few entries i've commented out
fondly thinking it would force "re-scan" of hardware interfaces):
Code:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x10de:0x0373 (forcedeth) (custom name provided by external tool)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1d:60:e0:27:db", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# USB device 0x0bda:0x8187 (usb) (custom name provided by external tool)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:af:3e:b1:62", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
# PCI device 0x10de:0x0373 (forcedeth) (custom name provided by external tool)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1d:60:e0:18:3b", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10de:0x0373 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="04:4b:80:80:80:03", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x10de:0x0373 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="04:4b:80:80:80:03", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# USB device 0x0bda:0x8187 (usb) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:af:3e:b1:62", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
Contents of /etc/sysconfig/networking/devices/ifcfg-eth0 and ifconfig-eth1 is:
Code:
DEVICE=eth0
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=04:4b:80:80:80:03
PEERDNS=yes
PEERROUTES=yes
USERCTL=no
and
Code:
DEVICE=eth1
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
UUID=9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04
HWADDR=04:4b:80:80:80:03
IPADDR=192.168.0.1
PREFIX=24
NETMASK=255.255.255.0
USERCTL=no
respectively. I've trying commenting HWADDR=xxx and replacing it with MACADDR=xxx2 in
/etc/sysconfig/networking/devices/ifcfg-eth1, but after reboot ifconfig shows that BOTH interfaces
have new MAC...
Now i have few questions...
1) What are rules of assigning MAC addresses to system ethX interfaces?
I've runned dmidecode and grep it for "Network" to get:
Code:
...
Handle 0x0024, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: LAN_1
External Connector Type: RJ-45
Port Type: Network Port
Handle 0x0025, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: LAN_2
External Connector Type: RJ-45
Port Type: Network Port
Handle 0x0026, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: IE1394_1
External Connector Type: IEEE 1394
Port Type: Firewire (IEEE P1394)
...
2) Is there a way to check what is REAL MAC address of Ethernet interface (i suppose it is
stored somewhere in CMOS / on-board FLASH - is it?) ? Is system "reconfiguring" MAC address
when it boots (i've tried commenting HWADDR=xxx line in /etc/sysconfig/networking/devices/ifcfg-eth0
and adding MACADDR=xxx)?
And finally - is there safe way to get back to consistent, previous state with two E0 and E1 interfaces
that have MAC address of MAC0 and MAC1 (possibly also consistent with "hardware initials")?
Any help would be appreciated
Thanks in advance
!!