Linux中國

使用 NetworkManager 隨機化你的 MAC 地址

今時今日,無論在家裡的沙發上,還是在外面的咖啡廳,只要打開筆記本電腦,連上 Wi-Fi,就能通過網路與外界保持聯繫。但現在的 Wi-Fi 熱點們大都能夠通過每張網卡對應的唯一 MAC 地址來追蹤你的設備。下面就來看一下如何避免被追蹤。

現在很多人已經開始注重個人隱私這個問題。個人隱私問題並不僅僅指防止他人能夠訪問到你電腦上的私有內容(這又是另一個問題了),而更多的是指 可追蹤性 legibility ,也就是是否能夠被輕易地統計和追蹤到。大家都應該對此更加重視。同時,這方面的底線是,服務提供者在得到了用戶的授權後才能對用戶進行追蹤,例如機場的計時 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 的 強制主頁 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 ,就可以通過可視化界面菜單來編輯連接。

總結

當你走在路上時,你要留意周圍的環境,並警惕可能的危險。同樣,在使用公共互聯網資源時也要注意你自己的可追蹤性。

via: https://fedoramagazine.org/randomize-mac-address-nm/

作者:sheogorath,Stuart D Gathman 選題:lujun9972 譯者:HankChow 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國