Het gaat om een machine met twee identieke NICs:
Voor eth1 heb ik een ander MAC-adres ingesteld in /etc/network/interfaces:
Op basis van bovenstaande wordt het volgende in /etc/udev/ruled.d/70-persistent-net.rules gegenereert:
Het probleem is dat na een boot alleen eth0 beschikbaar is. Aantrappen van eth1 lukt niet:
Aantrappen van eth2 lukt wel maar die heeft dus een verkeerd MAC-adres. Waarom is eth2 er uberhaupt? Ik heb toch het MAC-adres gewijzigd in /etc/network/interfaces? Dit heeft voorheen gewerkt, dus waarom nu niet meer? Als ik de rule voor eth2 verwijder uit /etc/udev/ruled.d/70-persistent-net.rules dan wordt deze niet verwerkt bij een restart van udev. Bij een reboot wordt de rule voor eth2 ook weer opnieuw toegevoegd. Hoe kan ik dit oplossen?
$ dmesg | grep eth [ 0.946042] eth0: RTL8168c/8111c at 0xffffc90000676000, 00:30:18:af:9d:a8, XID 1c4000c0 IRQ 27 [ 0.957122] eth1: RTL8168c/8111c at 0xffffc90000656000, 00:30:18:af:9d:a9, XID 1c4000c0 IRQ 28 [ 9.248764] udev: renamed network interface eth1 to eth2 [ 9.730994] r8169: eth0: link up [ 9.731001] r8169: eth0: link up
Voor eth1 heb ik een ander MAC-adres ingesteld in /etc/network/interfaces:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 auto eth1 iface eth1 inet dhcp hwaddress ether 00:02:aa:bb:cc:dd vendor "Aminoaminet130fisys"
Op basis van bovenstaande wordt het volgende in /etc/udev/ruled.d/70-persistent-net.rules gegenereert:
# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:18:af:9d:a8", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:02:aa:bb:cc:dd", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" # PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:18:af:9d:a9", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
Het probleem is dat na een boot alleen eth0 beschikbaar is. Aantrappen van eth1 lukt niet:
$ sudo ifconfig eth1 up eth1: ERROR while getting interface flags: No such device
Aantrappen van eth2 lukt wel maar die heeft dus een verkeerd MAC-adres. Waarom is eth2 er uberhaupt? Ik heb toch het MAC-adres gewijzigd in /etc/network/interfaces? Dit heeft voorheen gewerkt, dus waarom nu niet meer? Als ik de rule voor eth2 verwijder uit /etc/udev/ruled.d/70-persistent-net.rules dan wordt deze niet verwerkt bij een restart van udev. Bij een reboot wordt de rule voor eth2 ook weer opnieuw toegevoegd. Hoe kan ik dit oplossen?
"Kill one man, and you are a murderer. Kill millions of men, and you are a conqueror. Kill them all, and you are a god." -- Jean Rostand