[MYTH] IPv6-enabled Innbbsd
[前言]
innbbsd 是一套 BBS 到 News 之間的 client/server gateway 程式,
相信這個應該不需要做太多解釋, 小弟這邊自己做了一些 patch,
讓 innbbsd 可以同時支援 IPv4 與 IPv6, 目前測試了一段時間,
news server 跟 bbs 之間透過 IPv4/IPv6 轉信大致上應該是沒什麼問題了,
以下就附上小弟 patch 過的程式碼和一些說明, 有興趣的話可以參考看看,
內容如有錯誤也請各位先進多多給予指教.
Bor-Yeh Shen (sby@cs.mcu.edu.tw)
[source code]
http://www.csie.mcu.edu.tw/~sby/others/innbbsd-0.50_B4-myth-ipv6.tgz
[程式說明]
上面這個 innbbsd 基本上是 for WD 與 WD 的其他一些 branch 用的,
跟原先 innbbsd 0.50 beta-4 比起來, 除了 WD patch 過的部份外,
小弟主要修改的地方只有在 socket 部份, 以及重新排版過部份的程式碼,
所以其他版本的 BBS 如果也想要把 innbbsd 加入 IPv6 支援的話,
參考一下修改即可, socket 部份應該都差不了多少.
[測試環境]
OS: FreeBSD 4.9-PRERELEASE
innbbsd: 0.50_B4-MYTH_patch (IPv6 Ready)
InterNetNews server: INN 2.4.1 (20030922 prerelease)
innbbsd 啟動後可以先檢查看看是否有同時 bind 到 IPv4 & IPv6 address,
在 FreeBSD 底下可以利用 sockstat 這隻指令來觀察,
# sockstat | grep innbbsd
bbs innbbsd 83629 11 tcp46 *:7777 *:*
bbs innbbsd 83629 14 tcp6 3ffe:4001:2110:0:2a0: 3ffe:4001:2110::14:11
bbs innbbsd 83629 15 tcp4 210.59.107.7:7777 140.113.22.24:4763
bbs innbbsd 83629 12 stream (none)
bbs innbbsd 83629 13 stream /home/bbs/innd/.innbbsd
上面這個輸出表示 innbbsd 使用了 TCP 且 bind 住 IPv4 & IPv6 的 port 7777,
同時, 有一個 IPv4 address (140.113.22.24) 和 IPv6 address (3ffe:4001:2110::14)
正分別透過 IPv4 和 IPv6 connect 上來 (事實上這是兩台正在餵信的 news)
[測試結果]
innbbsd (both IPv4 & IPv6) --> news server (only IPv4 or IPv6)
________________________________________
| | | | |
| | READ | POST | FEED |
|_______|__________|__________|__________|
| | | | |
| IPv4 | ok | ok | ok |
|_______|__________|__________|__________|
| | | | |
| IPv6 | ok | ok | ok |
|_______|__________|__________|__________|
news server (only IPv4 or IPv6) --> innbbsd (both IPv4 & IPv6)
__________________
| | |
| | FEED |
|_______|__________|
| | |
| IPv4 | ok |
|_______|__________|
| | |
| IPv6 | ok |
|_______|__________|
innbbsd (both IPv4 & IPv6) --> news server (both IPv4 & IPv6)
這種情況下 client 會優先使用 IPv6 address 做處理,
當然這是在 domain name 有同時對應到 IPv4 & IPv6 的情況下,
而且你得要有正確的 FQDN 才可以, 為什麼要這樣說呢,
因為某些原因我的 IPv6 測試環境下還沒有 FQDN,
這時候其實可以在 /etc/hosts 做點手腳,
把對方的 IP address 和 domain 加進去即可 :)
news server (both IPv4 & IPv6) --> innbbsd (both IPv4 & IPv6)
這個嘛, 只要設定一下 inn, 想要用 IPv4 or IPv6 餵信都是可以的.
[其他]
目前僅測試過以上幾種情況, 其他像是 IPv6 的站對站轉信等,
各位如果有興趣的話, 歡迎與我們聯絡 :)
--
Welcome to MCU-CSIE MYTH IPv6-enabled BBS
Domain Name : bbs.csie.mcu.edu.tw or myth.twbbs.org
IPv6 Address : 3ffe:4001:2110:0:2a0:c9ff:fe00:119b
IPv4 Address : 210.59.107.7
--
※ Origin: 銘傳資工神話站 <bbs.csie.mcu.edu.tw>
※ From : 3ffe:4001:2110:0:248:54ff:fe5c:a02a