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 InnoDBストレージエンジンについて簡単に説明します

序文:ストレージ エンジンはデータベースの中核です。MySQL の場合、ストレージ エンジンはプラグ...

MySQL の簡単な分析 - MVCC

バージョンチェーンInnoDB エンジン テーブルでは、クラスター化インデックス レコードに 2 つ...

Win10 システムに MySQL8.0.13 をインストールする際の問題と解決策

オペレーティングシステム: Windows10 MySQL バージョン: 8.0.13-winx64...

gorm で MySql データベースを操作する方法

1. テーブル内のフィールドの大文字と小文字の区別を設定するgorm クエリを使用する場合、MySQ...

CSS3 オーバーフロープロパティの説明

1. オーバーフローOverflow はオーバーフロー(コンテナ)です。コンテンツがコンテナを越える...

MySQL サービスを完全に削除する方法 (レジストリをクリーンアップする)

序文あるプロジェクトの実行可能ファイルをインストールすると、MySQL 自体をインストールできるよう...

dockerでlnmp環境を構築する方法

プロジェクトディレクトリを作成する php ディレクトリをコピーする次のプロジェクト構造を作成します...

Vueコンポーネントの7つの通信方法についての深い理解

目次1. props/$emit導入コードサンプル2.Vスロット導入コードサンプル3.$refs/ ...

Webフロントエンド開発経験の概要

XMLファイルは、可能な限りutf-8でエンコードする必要があります。gb2312には、?など、保存...

CSS3アニメーション属性に基づくWeChatタップアニメーション効果の実装

最近人気のWeChatタップ機能を見て、CSS3アニメーションを見直し、このボックスシェイクアニメー...

MySQL トランザクション、分離レベル、ロックの使用例の分析

この記事では、例を使用して、MySQL トランザクション、分離レベル、およびロックの使用について説明...

MySql テーブル内の行を削除する実用的な方法

まず、どのフィールドまたはフィールドの組み合わせがデータ行を一意に識別できるかを決定する必要がありま...

Docker で MySQL をデプロイする詳細なプロセス (Docker でデプロイされる一般的なアプリケーション)

以前にも紹介しました: docker (一般的なアプリケーションのデプロイ): docker dep...

MySQLはinit-connectを使用してアクセス監査機能の実装を増やします

まず init-connect を通じて mysql 接続を初期化し、次にインスタンスに接続する必要...

Vue2.0/3.0 での provide と inject の使用例

目次1. provide/inject の用途は何ですか? 2. provide/injectの使い...