当前位置: 移动技术网 > 网络运营>服务器>Linux > Linux使用NetworkManager随机生成你的MAC地址

Linux使用NetworkManager随机生成你的MAC地址

2019年04月18日  | 移动技术网网络运营  | 我要评论

今时今日,无论在家里的沙发上,还是在外面的咖啡厅,只要打开笔记本电脑,连上 wi-fi,就能通过网络与外界保持联系。但现在的 wi-fi 热点们大都能够通过 每张网卡对应的唯一 mac 地址 来追踪你的设备。下面就来看一下如何避免被追踪。
现在很多人已经开始注重个人隐私这个问题。个人隐私问题并不仅仅指防止他人能够访问到你电脑上的私有内容(这又是另一个问题了),而更多的是指 可追踪性(legibility),也就是是否能够被轻易地统计和追踪到。大家都应该 对此更加重视 。同时,这方面的底线是,服务提供者在得到了用户的授权后才能对用户进行追踪,例如机场的计时 wi-fi 只有在用户授权后才能够使用。
因为固定的 mac 地址能被轻易地追踪到,所以应该定时进行更换,随机的 mac 地址是一个好的选择。由于 mac 地址一般只在局域网内使用,因此随机的 mac 地址也不大会产生冲突 。

networkmanager简介

networkmanager由一个管理系统网络连接、并且将其状态通过d-bus(是一个提供简单的应用程序 互相通讯的途径的自由软件项目,它是做为freedesktoporg项目的一部分来开发的。)进行报告的后台服务,以及一个允许用户管理网络连接的客户 端程序。
networkmanager服务:networkmanager - linux networking made easy
networkmanager的优点:简化网络连接的工作,让桌面本身和其他应用程序能感知网络。
networkmanager的后台服务:对于gnome和xfce那就是nm-applet工具,而对于kde用户来说就是knetworkmanager。
早期版本的networkmanager(早期称为networkmangler,即网络磨肉机)使用很不方便,但是现在其已经成为了一个强大的工具,让管理网络不再痛苦。

networkmanager 新版本的改进和新功能

networkmanager 新版本支持更多的的网络设备有关。从0.8.1开始增加了用于gsm、umts和cdma卡等移动宽带设备modemmanager的支持。使用 modemmanager也有新的功能,比如信号强度显示和选择2g/3g模式的功能。还可以关掉漫游功能以避免产生额外的连接费用;
networkmanager 0.8.1后还支持使用蓝牙,不仅支持个人区域网络(pan)上网,也支持老的蓝牙拨号网络(dun)协议。所有(或者说最多)支持的设备可以在wiki上找到;
networkmanager支持ipv6的自动配置和静态ip;networkmanager 新版本还会带来ipv6的dhcp支持
networkmanager 新版本增强设备以及协议的支持,networkmanager 最新版有一个全新的漂亮的客户端界面。
命令行接口:networkmanager 最新版的最大特征:命令行工具命令,一个networkmanager的命令行接口。
networkmanager有自己的cli工具:nmcli。使用nmcli用户可以查询网络连接的状态,也可以用来管理。优点:原始;语法相对简单;在cli中使用networkmanager很容易掌握。

配置 networkmanager

要将随机的 mac 地址默认地用于所有的 wi-fi 连接,需要创建 /etc/networkmanager/conf.d/00-macrandomize.conf 这个文件:

[device]
wifi.scan-rand-mac-address=yes
[connection]
wifi.cloned-mac-address=stable
ethernet.cloned-mac-address=stable
connection.stable-id=${connection}/${boot}

然后重启 networkmanager :

systemctl restart networkmanager

以上配置文件中,将 cloned-mac-address 的值设置为 stable 就可以在每次 networkmanager 激活连接的时候都生成相同的 mac 地址,但连接时使用不同的 mac 地址。如果要在每次激活连接时也获得随机的 mac 地址,需要将 cloned-mac-address 的值设置为 random。

设置为 stable 可以从 dhcp 获取相同的 ip 地址,也可以让 wi-fi 的 强制主页 (captive portal)根据 mac 地址记住你的登录状态。如果设置为 random ,在每次连接的时候都需要重新认证(或者点击“我同意”),在使用机场 wi-fi 的时候会需要到这种 random 模式。可以在这篇 networkmanager 的 博客文章 中参阅到有关使用 nmcli 从终端配置特定连接的详细说明。

使用 ip link 命令可以查看当前的 mac 地址,mac 地址将会显示在 ether 一词的后面

$ ip link
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state unknown mode default group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <no-carrier,broadcast,multicast,up> mtu 1500 qdisc fq_codel state down mode default group default qlen 1000
link/ether 52:54:00:5f:d5:4e brd ff:ff:ff:ff:ff:ff
3: wlp1s0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc mq state up mode dormant group default qlen 1000
link/ether 52:54:00:03:23:59 brd ff:ff:ff:ff:ff:ff

什么时候不能随机化 mac 地址

在某些情况下确实需要能被追踪到。例如在家用网络中,可能需要将路由器配置为对电脑分配一致的 ip 地址以进行端口转发;再例如公司的雇主可能需要根据 mac 地址来提供 wi-fi 服务,这时候就需要进行追踪。要更改特定的 wi-fi 连接,请使用 nmcli 查看 networkmanager 连接并显示当前设置:

$ nmcli c | grep wifi
amtrak_wifi 5f4b9f75-9e41-47f8-8bac-25dae779cd87 wifi --
stapleshotspot de57940c-32c2-468b-8f96-0a3b9a9b0a5e wifi --
myhome e8c79829-1848-4563-8e44-466e14a3223d wifi wlp1s0
...
$ nmcli c show 5f4b9f75-9e41-47f8-8bac-25dae779cd87 | grep cloned
802-11-wireless.cloned-mac-address: --
$ nmcli c show e8c79829-1848-4563-8e44-466e14a3223d | grep cloned
802-11-wireless.cloned-mac-address: stable

这个例子在 amtrak 使用完全随机 mac 地址(使用默认配置)和 myhome 的永久 mac 地址(使用 stable 配置)。永久 mac 地址是在硬件生产的时候分配到网络接口上的,网络管理员能够根据永久 mac 地址来查看 设备的制造商 id 。

更改配置并重新连接活动的接口:

$ nmcli c modify 5f4b9f75-9e41-47f8-8bac-25dae779cd87 802-11-wireless.cloned-mac-address random
$ nmcli c modify e8c79829-1848-4563-8e44-466e14a3223d 802-11-wireless.cloned-mac-address permanent
$ nmcli c down e8c79829-1848-4563-8e44-466e14a3223d
$ nmcli c up e8c79829-1848-4563-8e44-466e14a3223d
$ ip link
...

你还可以安装 networkmanager-tui ,就可以通过可视化界面菜单来编辑连接。

当你走在路上时,你要留意周围的环境,并警惕可能的危险。同样,在使用公共互联网资源时也要注意你自己的可追踪性。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对移动技术网的支持。如果你想了解更多相关内容请查看下面相关链接

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网