在國科大(UCAS)宿舍配置 IPv6 穿透

Posted on

UCAS 也是有原生 IPv6 的,並且採用 SLAAC 的方式可以獲得一個 /64 的地址段。這個方式比起你破郵用 DHCPv6 發 /128 來說原始(並且講道理)了不少,就有了做穿透的條件。

首先 OpenWRT 上照例添加一個 WAN6 接口,使用 DHCPv6 客戶端方式可以直接拿到地址。

隨後需要變動一下 odhcpd 的設定。使用 vi 打開 odhcpd 的設定檔案:

vi /etc/config/dhcp

然後禁用掉 ignore 掉 wan 介面的 dhcp,並且把 wan6 的 dhcp 設定爲 master,然後把 wan6 和 lan 的 dhcpv6、ra 和 ndp 都設定成 relay。另外,在 lan 上需要設定 ra_management 爲開啓,淺羽一開始沒有設定這項,所以雖然一直能拿到地址,但是無法透過 IPv6 訪問網路。大體上設定之後是這樣的:

....

config dhcp 'lan'
 option interface 'lan'
 option start '100'
 option limit '150'
 option leasetime '12h'
 option ra 'relay'
 option dhcpv6 'relay'
 option ndp 'relay'
 option ra_management '1'

config dhcp 'wan'
 option interface 'wan'

config dhcp 'wan6'
 option interface 'wan'
 option ra 'hybrid'
 option ndp 'hybrid'
 option dhcpv6 'hybrid'
 option master '1'

....

注意以上設定檔,淺羽自己測試是可用的(並且也是在用的設定),wan6 介面上設定了 hybrid 模式。這裏面有一些玄學問題,總之就是 hybrid 和 relay 其中一個不能用的話就換另一個,多嘗試幾個組合應該就沒問題了。記得重啓一下 odhcpd:

/etc/init.d/odhcpd restart

然後可能需要重新拿一次 DHCP,ping 一下金槍魚和你郵人:

好的,本期節目就到這裏。順便吐槽一下 OpenWRT LuCI 的繁體中文翻譯真差,要不是熟悉了就和摸黑操作也沒有很大區別了。


發現之前裝的一臺 Debian 9 總在路由表上出問題,IPv6 的默認路由是走 fe80 的,懶得研究到底怎麼回事了,來個簡單粗暴的方法:

ip -6 route add 2000::/3 via dev ens18

嗯,就這樣吧挺好,反正伺服器也不老重啓,大不了加個 systemd


Comment ( 1 )

  1. 透過 VLAN 從不同出口獲得 IPv4/IPv6 地址構建雙棧網路 – 櫻川家::浅羽
    […] IPv6 穿透。按照之前的文章設定好 IPv6 穿透之後,還需要注意一下穿透源需要設定爲 wan6 即 IPv6 […]

This site uses Akismet to reduce spam. Learn how your comment data is processed.