IPv6 Multicast 骨幹網路建置參考 子計畫一 ( 中央研究院計算中心 ) 林民基 V 1.0 目錄 IPv6 Multicast 骨幹路由器建置程序 [A] FreeBSD w/ KAME w/ ZEBRA IPv6 Multicast router 相關參數定義 安裝 FreeBSD 系統 KAME 安裝步驟 路由器連線介面設定 Zebra 安裝設定 PIM6SD 安裝 [B] CISCO 7513 路由器 Cisco 7513 設定步驟 IPv6 Multicast 客戶端建置程序 [C] IPv6 Multicast Client
中研院 IPv6 Multicast 骨幹架構圖 Tunnel to M6bone [B] CISCO 7513 2001:288:3b0::3F/127 [A] FreeBSD + KAME + ZEBRA RA 2001:288:3b0::3E/127 2001:0C08:1FFF:1FFF::/64 Fa12/1 2001:0C08:1FFF:1FFF::1:1/64 fxp0 140.109.1.20/24 2001:c08:0:1::1:20/64 RA 3FFE:4001:1FFF:1FFF::/64 [C] Client: Windows XP 2001:0C08:1FFF:1FFF::1:20/64 [C] Client: Windows 2000 3FFE:4001:1FFF:1FFF::1:20/64 IPv6 Multicast 骨幹路由器建置程序 [A] FreeBSD w/ KAME w/ ZEBRA (1) M6bone Router: Pentium III 450Mhz, 128Mb ram, 10G HD, FreeBSD 4.9-release + KAME snapshot 20040209. (2) M6bone Client: Pentium III 500Mhz, 256Mb ram, 10G HD, OS( 須啟動 IPv4/IPv6),[ 影音擷取卡 ( 晶片 BT878), DV or V8 或一般 webcam. (3) 分配一段 IPv6 prefix for IPv6 multicast, 如 2001:0c08:1fff:ffff::/64 為本院的 multicast route. 只有這個 IP 網段的設備才能建立並參與 multicast session 2
IPv6 Multicast router 相關參數定義 相關參數 : ADDR-A:< 貴單位 IPv4 IP> 或 < 貴單位 IPv6 IP> ADDR-B:< 指定給貴單位 IPv6 address>, 由本院提供 ADDR-C:< 本院 IPv4 address> 或 < 本院 IPv6 address>, 由本院提供 ADDR-D:< 貴單位 IPv6 multicast prefix>, 如 2001:0C08:1FFF:1FFF::/64 安裝 FreeBSD 系統 系統安裝部份此處不再贅述 KAME 安裝步驟 1. 下載 kame-20040209-freebsd49-snap.tgz 置於 /tmp 使用者可以取得網站最新的版本並下載安裝 # ftp ftp.kame.net # cd pub/kame/snap # bin # get kame-20040209-freebsd49-snap.tgz 2. # tar zxvf kame-20040209-freebsd49-snap.tgz 3. # mv kame /usr/local/ 4. # cd /usr/local/kame 了解相關設定及安裝須知 : 5. # less INSTALL 及 less README 6. # make TARGET=freebsd4 prepare 7. # cd /usr/local/kame/freebsd4 8. # less INSTALL 9. # cd /usr/local/kame/freebsd4/sys/i386/conf/ 10. # cp GENERIC.KAME KAME0211 11. 編輯 KAME0211, 設定 "maxusers" 為 512 及 "gif" 為 16 12. # /usr/local/sbin/config KAME0211 13. # cd../../compile/kame0211/ 14. # make depend; make; make install 如此 kernel 就 ok 了... 再來就再 make userland 程式 若是由舊 KAME 更新到較新版本, 須先刪除 /usr/local/v6 3
目錄 : 15.0 # rm -rf /usr/local/v6 否則. 15. # cd /usr/local/kame/freebsd4/ 16. # make includes 17. # make install-includes 18. # make 19. # make install 全部 ok! 重新開機 20. # sync; sync; sync; fastboot 路由器連線介面設定 設定 IPv4 tunnel connection, 與本院建立 Tunnel 連接, 此設定都假設使用者端使用 gif1 介面 : 1. # /usr/local/v6/sbin/ifconfig gif1 create 2. # /usr/local/v6/sbin/ifconfig gif1 up 3. # /usr/local/v6/sbin/ifconfig gif1 tunnel <ADDR-A> 140.109.1.20 設定 IPv6 tunnel connection 1. # /usr/local/v6/sbin/ifconfig gif1 create 2. # /usr/local/v6/sbin/ifconfig gif1 up 3. # /usr/local/v6/sbin/ifconfig gif1 tunnel <ADDR-A> 2001:c08:0:1::1:20 設定 tunnel 端 IPv6 address 4. # /usr/local/v6/sbin/ifconfig gif1 inet6 <ADDR-B> <ADDR-C> prefixlen 128 設定 IPv6 multicast prefix for LAN use 5. # ifconfig gif1 inet6 <ADDR-D> 6. # /usr/local/v6/sbin/rtadvd gif1 Zebra 安裝設定 0. # cd /usr/ports/net/zebra 0.1 # make; make install 1. # cd /usr/local/etc/zebra/ 2. # cp ripngd.conf.sample ripngd.conf 4
3. # cp zebra.conf.sample zebra.conf 4. # /usr/local/sbin/zebra -d 5. # /usr/local/sbin/ripngd -d 檢查 routing 6. # vtysh 7. # en 8. # show ipv6 route ripng PIM6SD 安裝 1. # /usr/local/v6/sbin/pim6sd -c /etc/pim6sd.conf 檢查 ipv6 multicast routing 2. # /usr/local/v6/sbin/pim6stat # netstat -gl # netstat -gs 將上述相關設定寫入 /etc/rc.conf gif_interfaces="gif1" gifconfig_gif1="<addr-a> 140.109.1.20" 或 gifconfig_gif1="<addr-a> 2001:c08:0:1::1:20" ipv6_enable="yes" ipv6_ifconfig_gif1_alias0="<addr-b> <ADDR-C> prefixlen 128" ipv6_network_interfaces="auto" ipv6_default_interface="no" ipv6_gateway_enable="yes" ipv6_router_enable="yes" ipv6_router="/usr/local/sbin/zebractl" ipv6_router_flags="start" mroute6d_enable="yes" mroute6d_program="/usr/local/v6/sbin/pim6sd" mroute6d_flags="-c /etc/pim6sd.conf" rtadvd_enable="no" 5
[B] CISCO 7513 路由器 CISCO IOS 版本 :12.3(7)T,rsp-jsv-mz.123-7.T.bin Cisco 7513 設定步驟 1. 基本 IPv6 指令 : (config)# ipv6 cef distributed (config)# ipv6 multicast-routing 2. 設定 MFIB 為 centralize: (config)# ipv6 mfib-mode centralized-only 3. 設定 IPv6-over-IPv4 或 IPv6-over-IPv6 Tunnel: (config)# interface Tunnel1 (config-if)# no ip address (config-if)# ipv6 address <ADDR-B> (config-if)# tunnel source <ADDR-A> (config-if)# tunnel destination <ADDR-E> (config-if)# tunnel mode ipv6ip 4. 設定 MBGP4+: (config)# router bgp < 貴單位 ASN> (config-router)# neighbor <ADDR-C> remote-as 9264 (config-router)# neighbor <ADDR-C> description ### M6Bone Tunnel Link to ASCC ### (config-router)# address-family ipv6 multicast (config-router-af)# neighbor <ADDR-C> activate (config-router-af)# neighbor <ADDR-C> next-hop-self (config-router-af)# neighbor <ADDR-C> send-community both (config-router-af)# neighbor <ADDR-C> remove-private-as (config-router-af)# neighbor <ADDR-C> soft-reconfiguration inbound (config-router-af)# network < 貴單位 IPv6 Multicast 的 prefix> (config-router-af)# exit-address-family (config-router)# exit 5. 設定 PIM RP 及設定相對應的 group 的 access-list: (config)# ipv6 pim rp-address 2001:660:3007:300:1:: global (config)# ipv6 pim rp-address 2001:700:E000:501::2 stig-rp 6
6. 設定 IPv6 Multicast group 的 access-list: (config)# ipv6 access-list global (config-ipv6-acl)# permit ipv6 any FF0E::/16 (config-ipv6-acl)# permit ipv6 any FF1E::/16 (config-ipv6-acl)# permit ipv6 any FF3E::/16 (config-ipv6-acl)# permit ipv6 any FF3E:20:2001:660::/64 (config-ipv6-acl)# exit (config)#ipv6 access-list stig-rp (config-ipv6-acl)# permit ipv6 any FF3E:30:2001:700::/64 7. 設定區域網路介面 : (config)# interface FastEthernet12/1 (config)# ipv6 address 2001:C08:1FFF:1FFF::1:1/64 (config)# ipv6 enable IPv6 Multicast 客戶端建置程序 [C] IPv6 Multicast Client 1. 請設定 IPv6 address 為 (3) 部份之 IP, 如 2001:0C08:1FFF:1FFF::1:233 但應該可以收到 router 的 RA, 所以這一部份可以略過 2. 下載相關程式, 如 SDR,VIC,RAT,NTE 等 http://www-mice.cs.ucl.ac.uk/multimedia/software/ 或 http://www-rp.lip6.fr/~kabassan/ 相關設定可參考 :http://www.m6bone.net/hosts.html 及 http://www-rp.lip6.fr/~kabassan/. 3. 最後再執行 SDR, 即可建立及參與 IPv6 Multicast session 7