最近受人之託, 處理了一下 IPv6 Ready Logo Phase 2 測試的 core 部份. 寫下一些經驗, 讓以後的人不用像我白繞很多冤枉路.
首先, 請慎選 TN 的 OS, FreeBSD 9.0-Release 以前的因為 ports 不支援, 碰到一堆怪問題也沒辦法透過 update 處理, 所以我從 9.0-Release 開始試, 一直試到 10.0-Release, 結論是: 請使用 FreeBSD 9.2-Release i386 當作你的 TN. 還有請不要企圖用 amd64 platform 的 FreeBSD 當 TN, 會遭受無法形容的痛苦.
接著, NUT 的部份, 如果是測 host, 請挑選一個「只有一個NIC」的設備來測試, 多個 NIC 的設備會在 SLAAC (Stateless Address Autoconfig) Phase 2 的部份遭受很多困境.
然後, 不要期待在 VM 裡頭隨便掛一個 Network Tag 就覺得會過, 請絕對要開另外一個專用的 Virtual Switch, 確保TN/NUT在同一個 vSphere Node 上.
最後, 請記得, 主流的 OS 基本上 IPv6 Stack 都是照著 RFC 設計的, 但是有些 OS 並不是 default apply RFC, 例如在 RFC 4862 的 NS/DAD 處理部份, BSD系列都要做過 sysctl 才能正確處理.
細節我就不貼上來, 畢竟對方也算是客戶, 需要什麼討論請私下.