No reliable way to configure MAC address spoofing

Bug #1353718 reported by Krzysztof Kosinski
22
This bug affects 5 people
Affects Status Importance Assigned to Milestone
systemd
New
Undecided
Unassigned
systemd (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

In Ubuntu 14.04.1 LTS there is no way to configure MAC address spoofing, at least when using the r8168 driver.

Here are the symptoms that I observe:

1. When trying to use the Network Manager applet to assign a static IP and a cloned MAC address, the connection fails and there is no network connectivity. It doesn't matter whether I fill both the Device MAC Address and the Cloned MAC Address fields, or only the Cloned MAC Address, the result is the same.

2. When using /etc/network/interfaces with the "hwaddress ether aa:bb:cc:dd:ee:ff" stanza, the connection is not brought up correctly after reboot or after the cable is unplugged and plugged back in. It only works when I manually type in "sudo ifup eth0", which is unacceptable on a server. As far as I can tell, this might be caused by udev 'losing track' of the device due to the changed MAC address and not running ifup / ifdown scripts in response to kernel events, so I'm submitting this as a bug in systemd.

3. When MAC address spoofing is not used, both of these ways work correctly and network connectivity is correctly re-established after reboot and cable unplug.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: udev 204-5ubuntu20.3
ProcVersionSignature: Ubuntu 3.13.0-32.57-generic 3.13.11.4
Uname: Linux 3.13.0-32-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.2
Architecture: amd64
CurrentDmesg:
 [ 15.533193] init: plymouth-stop pre-start process (2031) terminated with status 1
 [ 36.382964] audit_printk_skb: 132 callbacks suppressed
 [ 36.382967] type=1400 audit(1407338565.893:66): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/cups/backend/cups-pdf" pid=3195 comm="apparmor_parser"
 [ 36.382972] type=1400 audit(1407338565.893:67): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=3195 comm="apparmor_parser"
 [ 36.383292] type=1400 audit(1407338565.893:68): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=3195 comm="apparmor_parser"
Date: Wed Aug 6 23:18:48 2014
InstallationDate: Installed on 2014-06-16 (51 days ago)
InstallationMedia: Ubuntu-Server 14.04 LTS "Trusty Tahr" - Release amd64 (20140416.2)
MachineType: To be filled by O.E.M. To be filled by O.E.M.
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-32-generic.efi.signed root=UUID=2cca6090-764f-4f6d-8c18-ec50f8085100 ro text nomdmonddf nomdmonisw
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/08/2014
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 2501
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: SABERTOOTH 990FX R2.0
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr2501:bd04/08/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnASUSTeKCOMPUTERINC.:rnSABERTOOTH990FXR2.0:rvrRev1.xx:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.name: To be filled by O.E.M.
dmi.product.version: To be filled by O.E.M.
dmi.sys.vendor: To be filled by O.E.M.

Revision history for this message
Krzysztof Kosinski (tweenk) wrote :
Revision history for this message
Martin Pitt (pitti) wrote :

The only thing that udev does in this context is to rename network interfaces, in /etc/udev/rules.d/70-persistent-net.rules (that's autogenerated on install). So if you change the MACs you probably need to delete/disable the file, or your network interfaces will come back with a different name. With NetworkManager that won't matter, but if you use ifupdown, i. e. /etc/network/interfaces then the name mismatch will break things.

Please attach the output of "dmesg" after a complete "boot, change MAC, replug" cycle, and the ouptut of "ip a" before and after changing the MAC. Please also try with moving /etc/udev/rules.d/70-persistent-net.rules aside (if you only have one ethernet device it's not necessary anyway).

Changed in systemd (Ubuntu):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for systemd (Ubuntu) because there has been no activity for 60 days.]

Changed in systemd (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Abhilash Anandan (abhilash24692) wrote :

I still have this problem. It is very annoying. Is there anything I can do to help get it fixed?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.