この記事でMACアドレスを変更するために使用するツールであるMacchangerには、コンピューターが起動するたびにMACを変更するかどうかを尋ねるサービスがありますが、これはUbuntu 18.04では機能しません. Macchanger による変更はシステムを再起動するとリセットされるため、この記事では、Linux コンピューターの起動時に Macchanger を自動的に実行し、毎回 MAC アドレスを変更する systemd ユニットを作成する方法について説明します。
このガイドを使用するには、Linux システムで systemd が使用されている必要があります
1. Macchanger をインストール
Macchanger は、主要な Linux ディストリビューションのリポジトリにあるはずです。 Debian / Ubuntu / Linux Mint にインストールするには:
sudo apt install macchanger
2. MAC アドレスを変更するネットワーク インターフェイスを決定します
これを行うには、次のコマンドを使用できます:
ifconfig -a
これが機能しなくなったシステムを使用している場合は、代わりに次のコマンドを実行できます:
ip link show
ネットワーク インターフェースは次のように表示されます:
ifocnfig -a
へ :
$ ifconfig -a
enp10s0: flags=4163 mtu 1500
inet 192.168.1.211 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe60::cc24:29cf:2c1:1c5a prefixlen 64 scopeid 0x20
ether 1d:21:da:ab:1d:71 txqueuelen 1000 (Ethernet)
RX packets 164861 bytes 215658240 (215.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 45118 bytes 8577639 (8.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 265 bytes 20133 (20.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 265 bytes 20133 (20.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp3s0: flags=4098 mtu 1500
ether 1e:14:57:1c:66:11 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ip link show
へ :
$ ip link show
1: lo: 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: enp10s0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 1d:21:da:ab:1d:71 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 1e:14:57:1c:66:11 brd ff:ff:ff:ff:ff:ff
これが有線ネットワーク インターフェイス enp10s0
です。 ワイヤレス ネットワーク インターフェイスは wlp3s0
です (以前、eth0
、1 などは有線インターフェイスに使用され、wlan0
、WLAN の場合は 1 など)。 MAC アドレスをスプーフィングするネットワーク インターフェースをメモします。
3.お使いのシステムで Macchanger が実際に動作しているかどうかを確認してください
再起動のたびに MAC アドレスを自動的に変更する systemd ユニットを作成する前に、Macchanger が実際に MAC アドレスを変更できることを確認してください (何らかの理由でこれが機能しないケースを見てきました)。 MAC アドレスを一時的に変更するには (変更はシステムの再起動後にリセットされます)、次のように Macchanger を実行します:
sudo macchanger -r NETWORK-INTERFACE
NETWORK-INTERFACE
は、この記事の手順 2 に記載されている MAC を変更するネットワーク インターフェイスです (例:enp10s0、wlp3s0)。
Macchanger が動作する場合、これは -r
です オプションは MAC をランダムな MAC アドレスに変更し、コマンドは元の MAC アドレスと新しい MAC アドレスを返す必要があります。
4.システムが起動するたびに Macchanger を自動的に実行する systemd ユニットを作成します (これは、システムが起動するたびに MAC アドレスが変更されることを意味します)
/etc/systemd/system/[email protected]
を作成します systemd ユニット ファイルを開き、テキスト エディターで root として開きます:
sudo touch /etc/systemd/system/[email protected]
gedit admin:///etc/systemd/system/[email protected]
Gedit がインストールされていない場合は、上記のコマンドで、システムにインストールされている別のテキスト エディターに置き換えてください。
以下を [email protected]
に貼り付けます ファイル:
[Unit]
Description=changes mac for %I
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
[Service]
Type=oneshot
ExecStart=/usr/bin/macchanger -r %I
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
systemd ユニットを使用 macchanger -r
MAC を変更します。 -r
完全にランダムな MAC アドレスを設定します。 -r
を変更できます -e
へ MAC を変更するが、元の NIC 製造元のバイト -a
を保持するには 同じ種類のランダムな製造元 MAC を配置するなど。以下を実行すると、利用可能なすべてのオプションを表示できます:
macchanger --help
カスタムの非ランダム MAC アドレスを設定することもできます。これを行うには、ExecStart=/usr/bin/macchanger -r %I
を変更します 次のような行:
ExecStart=/usr/bin/macchanger --mac=XX:XX:XX:XX:XX:XX %I
XX:XX:XX:XX:XX:XX
に置き換えます
5. Macchanger systemd サービスをアクティブ化
ここで、systemd サービスを有効にして、起動時に開始されるようにします。これを行うには、以下を使用します:
sudo systemctl enable [email protected]enp10s0.service
enp10s0
に置き換えます ステップ 2 のネットワーク アドレスを使用します。
同じコマンドを使用して、複数のネットワーク インターフェイスの MAC アドレスの変更を有効にすることができます。
6.システムを再起動します
これで、ネットワーク インターフェイスに新しい MAC アドレスが割り当てられます。古い (元の) MAC アドレスと新しい MAC アドレスを確認する方法については、以下を参照してください。
元の MAC アドレスと新しい MAC アドレスを確認する方法
Macchanger を使用して、元の MAC アドレスと新しい MAC アドレスを確認するには、次のコマンドを実行します:
macchanger -s NETWORK-INTERFACE
どこで NETWORK-INTERFACE
は、ステップ 2 のコマンドを使用して見つけたネットワーク インターフェイスです。
例:
$ macchanger -s enp10s0
Current MAC: 1d:21:da:ab:1d:71 (unknown)
Permanent MAC: 72:ab:3d:89:88:88 (Intel Corporate)
systemd を使用して再起動のたびに MAC の変更を無効にする方法
変更を元に戻すには、まず systemd MAC チェンジャー サービスを無効にします:
sudo systemctl disable [email protected]enp10s0.service
enp10s0
に置き換えます ステップ 2 のネットワーク アドレス (初期設定の説明から) を使用して、以前にサービスをアクティブ化した各ネットワーク インターフェースに対してこれを行います。
これで、MAC チェンジャーの systemd サービス ファイルを削除できます:
sudo rm /etc/systemd/system/[email protected]