昨天跟朋友吃飯的時候談到這個問題,回家幫他找一下解法。主要的限制是各 ISP 對單一 mac address 限制分配一個 IP,所以問題只在於要怎麼在 Linux 下的單一網卡建立多個不同的 mac address,後續的就好做了。
主要是參考 Macvlan and IPvlan basics 這篇文章的指令測試。
首先是建立 fakevlan1
(卡號系統會隨機產生),然後啟用他,最後呼叫 dhclient 請 ISP 提供 IP:
# ip link add fakevlan1 link eth1 type macvlan mode bridge # ifconfig fakevlan1 up # dhclient fakevlan1
這邊細部沒有處理 routing 的問題 (dhclient 會收到 ISP 提供的各種 routing 與 dns 資訊),看起來可以透過「Can I prevent a default route being added when bringing up an interface?」這邊的方法處理掉。
PPPoE 的方法我相信也類似啦... (手邊沒有 HiNet 線路可以測試 XD)