換了 CPE 使用 LTE 網路作爲家裏的主出口後,淺羽發現這神奇的國內特供版 CPE 不能支援 IPv6,於是特意去設定裏看了,發現似乎是電信沒有給到 IPv6。原先的網路是有 IPv6 的。於是爲了某些 IPv6-only 網站,淺羽動起了壞心思腦筋。
最基本的方法當然就是兩根網線插兩個網路接埠對應兩個出口了。這樣,一個埠配 IPv4,一個埠配 IPv6,因爲走不同的路由表所以也相互沒有影響。問題就在於,淺羽目前的主路由器是之前配的迷你伺服器,並沒有配置額外的網路卡,因此只有兩個網路接埠。那麼只能打 VLAN 的主意了。於是做一下規劃,基本思路是接入點走不同的 VLAN,然後在 Router 的WAN 上聚合 VLAN;接下來把 LAN 和其他所有的用戶放到一個 VLAN 裏就可以了
(後面還有:設定交換機、設定 OpenWRT、IPv6 穿透)
這麼做要設定的 VLAN 10 和 VLAN 11 分別對應兩個接入點,需要交換機幫忙打標記;Router 運行 OpenWRT,可以處理好 VLAN 所以不需要標記。其他的客戶端需要無感知接入,所以對應的 Port 4~8 也需要交換機幫忙。整理一下,可以得出一個 VLAN 表。
‘U’ stands for ‘Untagged’, ‘T’ stands for ‘Tagged’VLAN 1 | ✗ | ✗ | ✗ | U | U | U | U | U |
VLAN 10 | U | ✗ | T | ✗ | ✗ | ✗ | ✗ | ✗ |
VLAN 11 | ✗ | U | T | ✗ | ✗ | ✗ | ✗ | ✗ |
然後在交換機裏按表設定好 VLAN。
然後在 OpenWRT 裏設定從同一個接埠的不同 VLAN 分別獲取 IPv4/IPv6。在 LuCI 裏需要改 Network 需要刪除再創建很麻煩,於是一個小的 Trick 就是直接修改 /etc/config/network 檔案,把其中的 ifname 行修改爲 device.vlan_id。比如淺羽這裏就修改爲:
config interface 'wan'
option ifname 'eth0.10'
option proto 'dhcp'
config interface 'wan6'
option proto 'dhcpv6'
option ifname 'eth0.11'
option reqaddress 'try'
option reqprefix 'auto'
然後還要修改一下 IPv6 穿透。按照之前的文章設定好 IPv6 穿透之後,還需要注意一下穿透源需要設定爲 wan6 即 IPv6 的接入點。然後按照慣例重啓一下網路和 DHCP:
/etc/init.d/network restart
/etc/init.d/odhcpd restart
就可以看到 IPv6 啦。照例上一下北郵人 BT,並沒有問題,就算折騰完了。
不過代價就是,本來只佔用交換機的一個接埠,這樣就要佔用四個了。交換機要爆炸了。
發佈留言