Linux

樹莓派 Raspberry Pi 更改網路卡卡號 Mac Address 教學與範例

介紹如何暫時性與永久性更改樹莓派的網路卡卡號(mac address)。

更改網路卡卡號的時候,必須在本機進行操作,若透過 SSH 連線操作,在卡號更改之後,會造成網路斷線的問題。

暫時性更改網路卡卡號

若只是需要暫時性更改網路卡卡號,可以使用 ipifconfig 指令,使用這種方式設定的網路卡卡號在重新開機之後,就會自動恢復成原本的網路卡卡號。

使用 ip 指令

Linux 的 ip 指令可以用來暫時更改網路卡的卡號,操作的步驟如下:

# 停用 eth0 網路卡
sudo ip link set eth0 down

# 更改網路卡卡號(Mac Address)
sudo ip link set eth0 address 00:11:22:33:44:55

# 啟用 eth0 網路卡
sudo ip link set eth0 up

更改網路卡卡號之後,可再用 ip 指令查詢目前的網路卡資訊,確認新的網路卡卡號:

# 查詢網路卡資訊
ip link

使用 ifconfig 指令

Linux 的 ifconfig 指令也可以用來暫時更改網路卡的卡號,操作的步驟如下:

# 停用 eth0 網路卡
sudo ifconfig eth0 down

# 更改網路卡卡號(Mac Address)
sudo ifconfig eth0 hw ether 00:11:22:33:44:55

# 啟用 eth0 網路卡
sudo ifconfig eth0 up

更改網路卡卡號之後,可再用 ifconfig 指令查詢目前的網路卡資訊,確認新的網路卡卡號:

# 查詢網路卡資訊
ifconfig

永久性更改網路卡卡號

如果需要永久更改網路卡卡號,讓系統重新開機之後依然保留設定,可以使用 macchanger 工具或是透過修改 /boot/cmdline.txt 設定檔的方式來處理。

使用 macchanger 工具

macchanger 工具可以讓網路卡啟用時自動產生隨機的網路卡卡號,也就是說每當系統重新開機之後,就會有不同的網路卡卡號。

macchanger 工具可以透過 apt 安裝:

# 安裝 macchanger 工具
sudo apt-get install macchanger

在安裝 macchanger 工具時,可以設定是否在網路卡啟用時讓 macchanger 自動產生網路卡卡號,若啟用自動產生網路卡卡號的功能,每次重新開機後,都會自動產生不同的網路卡卡號,這個設定值可以透過 /etc/default/macchanger 中的 ENABLE_ON_POST_UP_DOWN 參數設定來調整,而值計執行的指令稿則是位於 /etc/network/if-pre-up.d/macchanger

安裝好 macchanger 工具之後,我們可以透過以下指令產生並設定隨機的網路卡卡號(透過手動設定是暫時性的,重新開機後就會復原):

# 停用 eth0 網路卡
sudo ip link set eth0 down

# 設定隨機的網路卡卡號(Mac Address)
sudo macchanger -r eth0

# 啟用 eth0 網路卡
sudo ip link set eth0 up

更改網路卡卡號之後,可再用 ip 指令查詢目前的網路卡資訊,確認新的網路卡卡號:

# 查詢網路卡資訊
ip link

而除了自動產生隨機的卡號之外,macchanger 也可以直接指定網路卡卡號:

# 停用 eth0 網路卡
sudo ip link set eth0 down

# 設定網路卡卡號(Mac Address)
sudo macchanger -m 00:11:22:33:44:55 eth0

# 啟用 eth0 網路卡
sudo ip link set eth0 up

修改 /boot/cmdline.txt 設定檔

在樹莓派中我們也可以在 /boot/cmdline.txt 這個開機設定檔中加入以下參數,在開機的時候就指定網路卡卡號,不過這種方式只適用於樹莓派內建的乙太網路卡:

smsc95xx.macaddr=00:11:22:33:44:55

設定好之後,重新啟動系統,讓新的設定生效:

# 重新啟動系統
reboot

這樣即可永久更改網路卡卡號了。

參考資料

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago