“克隆 MAC 地址”的 NetworkManager 问题

bli*_*ako 4 network-manager ifconfig

我的问题是在大学。每台台式计算机都有一个“假的”/“克隆的”MAC 地址,我们的网络可以识别该地址,无需进一步身份验证/VPN 等即可让我们进入(不要问为什么 - 我自己停止问这个问题。不幸的是,我是唯一的一个在这里使用 linux,windows 有 cisco nac 代理)。

因此,当通过以太网创建有线连接时(使用 NetworkManager - 这适用于 Ubuntu 12.04 和 13.04),我们应该用提供给我们的所述假 MAC 地址填充“克隆 MAC 地址”框(MTU 大小为“自动”) . 使用此方法无需 VPN,因此无需配置 VPN,只需简单的以太网连接即可。

但是,这不起作用。它不断尝试连接,并且从不管理所有即将到来的通知。当我将“克隆的 MAC 地址”框留空然后它连接正常时,我看到连接图标 OK 但我无法访问互联网(通过 wget 或 firefox 的命令行),因为我没有通过身份验证(我认为他们有代理或其他东西,wget www.ibm.com 响应“proxysg1...授权失败”)

所以我所做的是将 /etc/network/interfaces 编辑为:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
# clone mac address so we can get in net as instructed by IT
hwaddress ether XX:XX:XX:XX:XX:XX
Run Code Online (Sandbox Code Playgroud)

然后我意识到(Ubuntu 新手,Linux 老手)这还不够,我必须完全删除网络管理器才能开始使用 ifup/down 等。我做到了。

% apt-get purge network-manager
% ifup eth0
no problem there, dhcp is called and we get ip with no errors and then starts the ssh server.

% ifconfig
results are below:
eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
          inet addr:10.10.80.125  Bcast:10.10.80.255  Mask:255.255.255.0
          inet6 addr: fe80::200:aff:fe00:40/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2529 errors:0 dropped:0 overruns:0 frame:0
          TX packets:419 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:263993 (263.9 KB)  TX bytes:58880 (58.8 KB)
          Interrupt:16 Memory:d2200000-d2220000 

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:65536  Metric:1
          RX packets:178 errors:0 dropped:0 overruns:0 frame:0
          TX packets:178 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:14420 (14.4 KB)  TX bytes:14420 (14.4 KB)
Run Code Online (Sandbox Code Playgroud)

其中 XX:XX:XX:XX:XX:XX 是 IT 提供给我们的克隆 MAC 地址 - 所以我假设一切正常。

在这个阶段,我肯定可以远程连接到我的机器(从同一个房间的计算机,桌面以太网),但有时它可以工作,然后它会中断:通常的问题,我无法访问任何互联网(wget 或 firefox)而不被要求进行身份验证. 在这个阶段,我重新安装了 ubuntu 12.04 并设法让它再次工作一段时间,直到使用 apt-get 安装几个软件包之后。

所以我升级到 Ubuntu 13.04

在从 boot-cd 安装时,访问存储库(用于检查最新版本)存在上述问题。它再次使用了 NetworkManager,除非我做错了什么,否则它根本无法使用“克隆的 MAC 地址”。在使用安装光盘启动后的某个阶段,在安装之前,我切换到控制台。停止网络管理器 ( /etc/init.d/networking stop) 然后做旧的 ifup 事情并且它起作用了!但不幸的是,整个安装崩溃了——我在 gnome 中注意到了这一点,并在做一个/etc/init.d/networking restart——窗口管理器消失了。

无论如何,我继续安装 13.04,但安装的系统有同样的问题(即 NetowrkManager '克隆的 MAC 地址' 无法将我连接到网络)。因此,我再次删除了已安装系统中的 NetworkManager 并执行了上述所有步骤,并且成功了!

然后在ubuntu-tweak, gconf-editor, okular, xpdf使用 apt-get(仅)安装了几个软件包(最新的是:)后,问题再次出现 - 我没有通过身份验证,但 ifconfig 具有相同的正确输出,/etc/network/interfaces具有相同的内容,并且这一切都发生在会话中期没有注销也不重启。我做了几个 ifdown/ifup/ifconfig,它们都显示相同的正确输出,但无法通过身份验证以访问互联网,但奇怪的是我可以从同一网络/房间中的其他计算机进入桌面。哦,我确实检查过,并且在我不知道的情况下没有重新安装 NetworkManager(我认为)。

除了 NetworkManager 无法处理“克隆的 MAC 地址”或我做错了什么的问题。最大的问题是,在删除 NetworkManager 并让它与 ifup 脚本一起使用后,某些东西(也许是 apt-get post install script?也许是我仅用于配置 gnome 桌面的 ubuntu-tweak)破坏了这个问题。

问题:

  1. 在使用 Ubuntu 13.04 时,除了传统的旧式 ifup 方法之外,我能做些什么来 100% 确定没有任何东西会干扰我的连接。例如,在安装某些东西时会在某个阶段 apt-get 导致某些东西破坏我的网络吗?

  2. 任何人都可以提出为什么具有克隆 Mac 地址的 NetworkManager 不起作用,但 ifup 如上所述(在删除 NetworkManager 后)。

  3. 任何人都可以提出为什么在安装和运行 NetworkManager 时,/etc/init.d/networking重新启动会杀死窗口管理器,打开 xterms 但不能在其中写入任何内容(也许焦点在其他地方)?

  4. 如果不是超级傻逼软件英雄,我对生活的热爱,我很想切换到 Suse:apt-get- 有什么建议吗?

谢谢朋友,

我感谢任何帮助、提示或安慰的话。

小智 5

我在 Ubuntu 12.04.2 内核 3.5 上遇到与您相同的问题。NetworkManager 无法使克隆的 mac 地址“粘”到以太网端口(我还没有用 wlan 尝试过)。我能够运行:

ifconfig eth0 down
ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX
ifconfig eth0 up
Run Code Online (Sandbox Code Playgroud)

无需卸载 NetworkManager。一旦我运行这些命令,以太网适配器将坚持使用新的、伪造的 mac 地址,但是一旦我断开以太网连接、使计算机休眠或重新启动,NetworkManager 会将其恢复为原始地址。

所以基本上,我的解决方法是在连接到网络之前运行这些命令,这对我来说已经足够了。如果 NetworkManager 表现得像它应该的那样,那将是非常好的。

我在这里提交了错误报告:https : //bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1116421