Linux運用NetworkManager隨機生成MAC地址步驟介紹
今時今日,無論在家裏的沙發上,還是在外面的咖啡廳,只要打開筆記本電腦,連上 Wi-Fi,就能通過網絡與外界保持聯系。但現在的 Wi-Fi 熱點們大都能夠通過 每張網卡對應的唯一 MAC 地址 來追蹤你的設備。下面就來看一下如何避免被追蹤。
現在很多人已經開始註重個人隱私這個問題。個人隱私問題並不僅僅指防止他人能夠訪問到你電腦上的私有內容(這又是另一個問題了),而更多的是指 可追蹤性(legibility),IIS7-VPS大全也就是是否能夠被輕易地統計和追蹤到。大家都應該 對此更加重視 。同時,這方面的底線是,服務提供者在得到了用戶的授權後才能對用戶進行追蹤,例如機場的計時 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 ,就可以通過可視化界面菜單來編輯連接。
當你走在路上時,你要留意周圍的環境,並警惕可能的危險。同樣,在使用公共互聯網資源時也要註意你自己的可追蹤性。
Linux運用NetworkManager隨機生成MAC地址步驟介紹