使用 NetworkManager 隨機化你的 MAC 地址
今時今日,無論在家裡的沙發上,還是在外面的咖啡廳,只要打開筆記本電腦,連上 Wi-Fi,就能通過網路與外界保持聯繫。但現在的 Wi-Fi 熱點們大都能夠通過每張網卡對應的唯一 MAC 地址來追蹤你的設備。下面就來看一下如何避免被追蹤。
現在很多人已經開始注重個人隱私這個問題。個人隱私問題並不僅僅指防止他人能夠訪問到你電腦上的私有內容(這又是另一個問題了),而更多的是指 可追蹤性 ,也就是是否能夠被輕易地統計和追蹤到。大家都應該對此更加重視。同時,這方面的底線是,服務提供者在得到了用戶的授權後才能對用戶進行追蹤,例如機場的計時 Wi-Fi 只有在用戶授權後才能夠使用。
因為固定的 MAC 地址能被輕易地追蹤到,所以應該定時進行更換,隨機的 MAC 地址是一個好的選擇。由於 MAC 地址一般只在區域網內使用,因此隨機的 MAC 地址也不大會產生衝突。
配置 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 的 強制主頁 根據 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 ,就可以通過可視化界面菜單來編輯連接。
總結
當你走在路上時,你要留意周圍的環境,並警惕可能的危險。同樣,在使用公共互聯網資源時也要注意你自己的可追蹤性。
via: https://fedoramagazine.org/randomize-mac-address-nm/
作者:sheogorath,Stuart D Gathman 選題:lujun9972 譯者:HankChow 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive