LinuxはNetworkManagerを使用してMACアドレスをランダムに生成します

LinuxはNetworkManagerを使用してMACアドレスをランダムに生成します

今では、自宅のソファーに座っていても、外の喫茶店にいても、ノートパソコンの電源を入れてWi-Fiに接続すれば、インターネットを通じて外の世界とつながることができます。しかし、今日の Wi-Fi ホットスポットのほとんどは、各ネットワーク カードに対応する固有の MAC アドレスを通じてデバイスを追跡できます。追跡を回避する方法は次のとおりです。
現在、多くの人が個人のプライバシーの問題に注目し始めています。個人のプライバシーの問題は、他人があなたのコンピュータ上のプライベートなコンテンツにアクセスできないようにすること(これは別の問題です)だけではなく、可読性、つまり簡単に数えたり追跡したりできるかどうかに関係します。誰もがこれにもっと注意を払うべきです。同時に、この点で肝心なのは、サービスプロバイダーはユーザーから許可を得た後にのみユーザーを追跡できるということです。たとえば、空港の時間指定 Wi-Fi は、ユーザーの許可を得た後にのみ使用できます。
固定の MAC アドレスは簡単に追跡できるため、定期的に変更する必要があります。ランダムな MAC アドレスを選択することをお勧めします。 MAC アドレスは通常、ローカル エリア ネットワーク内でのみ使用されるため、ランダムな MAC アドレスによって競合が発生する可能性は低くなります。

NetworkManager の紹介

NetworkManager は、システムのネットワーク接続を管理し、D-BUS (アプリケーションが相互に通信するための簡単な方法を提供する無料ソフトウェア プロジェクト。freedesktoporg プロジェクトの一部として開発されました) を介してそのステータスを報告するバックグラウンド サービスと、ユーザーがネットワーク接続を管理できるようにするクライアント プログラムで構成されています。
NetworkManager サービス: NetworkManager - Linux ネットワークを簡単に
NetworkManager の利点: ネットワーク接続の作業を簡素化し、デスクトップ自体と他のアプリケーションにネットワークを認識させます。
NetworkManager のバックグラウンド サービス: GNOME および Xfce の場合は nm-applet ツール、KDE ​​ユーザーの場合は KNetworkManager です。
NetworkManager (旧称 NetworkMangler) の初期バージョンはあまり使い勝手がよくありませんでしたが、現在ではネットワーク管理が苦痛ではなくなる強力なツールになっています。

NetworkManagerの最新バージョンにおける改善点と新機能

NetworkManager の新しいバージョンでは、より多くのネットワーク デバイスがサポートされます。 0.8.1 以降では、GSM、UMTS、CDMA カードなどのモバイル ブロードバンド デバイスに対する ModemManager サポートが追加されました。信号強度の表示や 2G/3G モードの選択機能など、ModemManager を使用した新しい機能もあります。追加の接続料金を避けるためにローミングをオフにすることもできます。
NetworkManager 0.8.1 以降では Bluetooth の使用もサポートされており、パーソナル エリア ネットワーク (PAN) インターネット アクセスだけでなく、古い Bluetooth ダイヤルアップ ネットワーク (DUN) プロトコルもサポートされています。サポートされているすべての(またはほとんどの)デバイスは wiki で確認できます。
NetworkManagerはIPv6の自動設定と静的IPをサポートします。NetworkManagerの新バージョンではIPv6のDHCPサポートも提供されます。
NetworkManager の新しいバージョンでは、デバイスとプロトコルのサポートが強化されています。NetworkManager の最新バージョンには、まったく新しい美しいクライアント インターフェイスが備わっています。
コマンドライン インターフェイス: NetworkManager の最新バージョンの最大の特徴は、NetworkManager のコマンドライン インターフェイスであるコマンドライン ツール コマンドです。
NetworkManager には独自の CLI ツール nmcli があります。 nmcli を使用すると、ユーザーはネットワーク接続の状態を照会したり、管理に使用したりできます。利点: 原始的、比較的シンプルな構文、CLI で NetworkManager を使用して簡単に習得できます。

NetworkManager の設定

すべての Wi-Fi 接続にデフォルトでランダムな MAC アドレスを使用するには、/etc/NetworkManager/conf.d/00-macrandomize.conf ファイルを作成します。

[デバイス]
wifi.scan-rand-mac-address=はい
[繋がり]
wifi.cloned-mac-address=安定
ethernet.cloned-mac-address=安定
connection.stable-id=${CONNECTION}/${BOOT}

次に、NetworkManager を再起動します。

systemctl restart NetworkManager

上記の設定ファイルでは、cloned-mac-address の値を stable に設定することで、NetworkManager が接続をアクティブにするたびに同じ MAC アドレスが生成されますが、接続時には異なる MAC アドレスが使用されます。接続をアクティブにするたびにランダムな MAC アドレスを取得する場合は、cloned-mac-address の値を random に設定する必要があります。

これを安定に設定すると、DHCP から同じ IP アドレスが取得され、Wi-Fi キャプティブ ポータルが MAC アドレスに基づいてログイン ステータスを記憶するようになります。ランダムに設定すると、接続するたびに再認証(または「同意する」をクリック)する必要があります。このランダム モードは、空港の Wi-Fi を使用する場合に必要です。 nmcli を使用してターミナルから特定の接続を構成するための詳細な手順については、この NetworkManager ブログ投稿を参照してください。

現在の MAC アドレスを表示するには、ip link コマンドを使用します。MAC アドレスは、ether という単語の後に表示されます。

$ IPリンク
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 状態 UNKNOWN モード DEFAULT グループ デフォルト qlen 1000
リンク/ループバック 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
リンク/イーサ 52:54:00:5f:d5:4e brd ff:ff:ff:ff:ff:ff
3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq 状態 UP モード DORMANT グループ デフォルト qlen 1000
リンク/イーサ 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 --
ステープルズホットスポット de57940c-32c2-468b-8f96-0a3b9a9b0a5e wifi --
マイホーム e8c79829-1848-4563-8e44-466e14a3223d wifi wlp1s0
...
$ nmcli c show 5f4b9f75-9e41-47f8-8bac-25dae779cd87 | grep cloned
802-11-ワイヤレス.クローンされたMACアドレス: --
$ nmcli c show e8c79829-1848-4563-8e44-466e14a3223d | grep クローン
802-11-ワイヤレス.クローンされたMACアドレス: 安定

この例では、Amtrak では完全にランダムな MAC アドレス (デフォルト設定を使用) を使用し、MyHome では永続的な MAC アドレス (安定した設定を使用) を使用します。永続 MAC アドレスは、ハードウェアの製造時にネットワーク インターフェイスに割り当てられます。ネットワーク管理者は、永続 MAC アドレスに基づいてデバイスの製造元 ID を表示できます。

設定を変更し、アクティブなインターフェイスを再接続します。

$ nmcli c 5f4b9f75-9e41-47f8-8bac-25dae779cd87 802-11-wireless.cloned-mac-address をランダムに変更
$ nmcli c 変更 e8c79829-1848-4563-8e44-466e14a3223d 802-11-wireless.cloned-mac-address 永続
$ nmcli c ダウン e8c79829-1848-4563-8e44-466e14a3223d
$ nmcli c アップ e8c79829-1848-4563-8e44-466e14a3223d
$ IPリンク
...

NetworkManager-tuiをインストールして、ビジュアル インターフェイス メニューから接続を編集することもできます。

道路を歩くときは、周囲に注意し、起こりうる危険に注意する必要があります。同様に、パブリック インターネット リソースを使用するときは、自分自身の追跡可能性に注意してください。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • 2018 年に選ぶ価値のある 5 つの Linux サーバー ディストリビューション
  • 2016 年に Linux ディストリビューションを選択する方法
  • 異なる Linux オペレーティング システム ディストリビューションの共存を実現する方法
  • Linuxディストリビューションとインストールに関する基礎知識
  • iptables および firewalld ツールを使用して Linux ファイアウォール接続ルールを管理する
  • Linux サーバーのステータスとパフォーマンスに関連するコマンドの詳細な説明
  • Linux で特定の時間にコマンドを実行する方法
  • Linux システム (CentOS) での python2.7.10 のインストール
  • スケジュールされた時間に古いジャンクファイルを自動的に削除する Linux 用の Autotrash ツール
  • Linux での Python 3.6.1 環境設定チュートリアル
  • オーディオマニアにアピールするオーディオビジュアルLinuxディストリビューション

<<:  Windows で MySQL サービスを停止または削除できない問題の解決策

>>:  jQuery は、画像を切り替えるための左ボタンと右ボタンのクリックを実装します。

推薦する

MySQL 同期遅延が発生したときに Seconds_Behind_Master が 0 のままになる理由

目次問題の説明原理分析問題分析拡大する総括する問題の説明ユーザーはプライマリ データベースに対して変...

HttpとHttpsの両方をサポートするNginxの詳細な設定

最近の Web サイトでは Https をサポートすることがほぼ標準機能となっており、Nginx は...

Vueコンポーネントのルーティング強調表示問題の解決策

序文以前は、キャッシュを使用してルートを強調表示していました。すべてのルートをトラバースし、クリック...

よく忘れられがちな CSS のヒント 26 選

これは、よく使われるけれども忘れられがちな CSS 実装方法のコレクションです。抜けや追加があれば、...

Vue で className として空の文字列を使用することはなぜ推奨されないのですか?

目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する &#...

Dockerはrabbitmqのサンプルコードをインストールして実行します

イメージをプルします: [mall@VM_0_7_centos ~]$ sudo docker pu...

MySQL での Truncate の使用法の詳細な説明

序文:テーブルをクリアしたいときは、truncate ステートメントをよく使用します。ほとんどの場合...

特殊効果メッセージボックスを実現するネイティブJS

この記事では、ネイティブ JS で実装された特殊効果メッセージ ボックスを紹介します。効果は次のとお...

Tomcat の構成と最適化ソリューションの詳細な説明

サービス.xml Server.xml 構成ファイルは、コンテナー全体を構成するために使用されます。...

Reactのヒントはフックの依存関係の問題を解消する方法を教えます

reactプロジェクトで非常に一般的なシナリオ: const [watchValue、setWatc...

better-scrollプラグインのスライドできないバグについて(2021年プラグインで解決)

より良いスクロールの原則親コンテナーであるため、ラッパーの高さはコンテンツのサイズに応じて増加します...

CSS の画像パスの問題に関する議論 (同じパッケージ/異なるパッケージ)

CSS ファイルでは、背景を使用する、つまり背景画像を追加する必要がある場合があります。これは通常、...

HTML ウェブページの段落レイアウトと改行

Web ページの外観はレイアウトに大きく左右されます。ページ内に長い段落のテキストがある場合、通常は...

MySql の 4 つのトランザクション分離レベルについて簡単に説明します。

分離レベル:隔離はあなたが考えるよりも複雑です。 SQL 標準では 4 つの分離レベルが定義されてお...

Nginx での SSL 証明書のインストールと展開手順の概要

目次問題の説明:インストール手順1. 準備2. サーバーにリモート接続する3. 証明書と秘密鍵ファイ...