在 Linux 中,macvlan 是一種網絡虛擬化技術,可以為網絡接口創建多個子接口,每個子接口都有自己的 MAC 地址
確保內核支持 macvlan:
首先,你需要確保你的 Linux 內核支持 macvlan。你可以通過查看 /proc/config.gz
(如果存在)或者查看內核源碼中的 CONFIG_MACVLAN
選項來檢查這一點。如果沒有這個選項,你可能需要重新編譯內核并啟用它。
加載 macvlan 模塊:
使用以下命令加載 macvlan 模塊:
sudo modprobe macvlan
創建 macvlan 子接口:
使用以下命令創建一個名為 eth0.1
的 macvlan 子接口,其中 eth0
是物理接口,1
是子接口的 VID(VLAN ID):
sudo ip link add link eth0 name eth0.1 type macvlan mode bridge
這里,我們使用了 bridge
模式,這意味著子接口將與物理接口共享同一個 MAC 地址。你還可以使用 private
、vepa
或 passthru
模式,具體取決于你的需求。
配置子接口 IP 地址和路由:
為子接口分配 IP 地址和子網掩碼:
sudo ip addr add 192.168.1.10/24 dev eth0.1
設置默認路由(如果需要):
sudo ip route add default via 192.168.1.1 dev eth0.1
啟用子接口:
使用以下命令啟用子接口:
sudo ip link set eth0.1 up
測試連接:
現在,你應該可以使用新的子接口進行網絡通信。你可以使用 ping
或其他網絡工具來測試連接。
使子接口在系統啟動時自動啟用:
要使子接口在系統啟動時自動啟用,你需要將相關命令添加到 /etc/rc.local
文件中(如果存在)或者創建一個 systemd 服務單元。
如果你遇到任何問題,請檢查系統日志(如 /var/log/syslog
或 /var/log/messages
)以獲取更多信息。此外,你還可以使用 ip
和 ifconfig
等工具來檢查網絡接口的狀態。