經過了大約一年半的時間
我才慢慢的把IPv6的文章給補齊
以下分門別類介紹一下我的文章
● 要做IPv6的初學者會先建議看以下兩篇
- IPv6 : 對IPv6做個簡單介紹
- IPv6...ICMP : 一些IPv6實作的表格與行為,有需要再深入了解
● 若是想針對Linux上面如何操作
----- 基礎篇 -----
- 設定IPv6 : 教您如何將IPv6的網路建置起來
- Stateless auto configuration : 如何建置IPv6的router
- Stateful auto configuration : 如何建議IPv6的DHCP server
----- 服務篇 -----
- Telnet : 如何啟用IPv6 telnet server
- Web : 如何連接WWW
- SNMP : 如何建置與使用SNMP server
- NTP : 如何建置ntp server
- TFTP : 如何建置tftp server
- Email : 如何建置mail server
● 如果您對IPv6 ready logo有興趣,可以參考下面的文章
- Core測試流程 : 整體的測試流程
- Core符合性測試 : 如何手動操作測試
- Core符合性測試 (除錯) : 如果發現問題該如何解決
- Core符合性測試 (自動) : 如何改為自動測試
- Core互連性測試 : 到了中華電信研究所要測試的項目
- 金牌與銀牌的差別 : Phase-1與Phase-2的差異
還有興趣的人可以參考我之前分享的投影片
2013/05/31
【Linux】IPv6 Mail Server
這邊使用的Mail Server是Postfix
● Server
● Client
要知道有沒有收到呢?
可以在server裡面輸入以下的指令,來看有沒有收到信件
● Server
# yum install postfix # yum remove sendmail # vim /etc/postfix/main.cf myhostname = guider.com myorigin = $myhostname inet_interfaces = all inet_protocaols = all # /etc/init.d/postfix start # netstat -tlunp |grep :25
● Client
# vim /etc/hosts 3ffe:1:2::1 ipv6.server # vim /tmp/test testing ipv6 EOF # mailx -S verbose -S from=eki-1322 -S smtp=ipv6.server –s mailtest test@test.com < /tmp/test
要知道有沒有收到呢?
可以在server裡面輸入以下的指令,來看有沒有收到信件
# postqueue –p
【Linux】IPv6 TFTP Server
這篇說明了簡易架設TFTP server的作法
● Server
# yum install tftp-server # vim /etc/xinet.d/tftp disable = no flag = IPv6 # /sbin/chkconfig tftp on # /sbin/chkconfig xinetd on # /sbin/service xinetd start
● Client
# tftp 3ffe:1:2::1
【Linux】IPv6 NTP Server
要如何建置IPv6的NTP server
● Server
# yum install ntp # vim /etc/ntp.conf restrict -6 default kod nomodify notrap nopeer noquery restrict -6 ::1 restrict -6 fe80::0 mask 64 nomodify restrict -6 3ffe:1:2::0 mask 64 server 127.127.1.0 fudge 127.127.1.0 stratum 8 # /etc/init.d/ntpd start # chkconfig ntpd on # netstat –tlunp |grep ntp
● Client
# date 12121212 # date # ntpdate 3ffe:1:2::1 # date
2013/03/07
【Linux】IPv6 SNMP Server
這邊要介紹如何安裝IPv6的SNMP agent在server上
以及要如何利用SNMP去query的資訊
● Server
● Client
第一個指令會拿回到開機到現在的時間
第二個指令則會掃出全部MIB的資訊 (會需要一點時間)
以及要如何利用SNMP去query的資訊
● Server
# yum install net-snmp net-snmp-utils
● Client
# snmpget -v 1 -c public udp6:[3ffe:1:2::1]:161 1.3.6.1.2.1.1.3.0 # snmpwalk -v 1 -c public udp6:[3ffe:1:2::1]:161 1.3.6.1.2.1.1
第一個指令會拿回到開機到現在的時間
第二個指令則會掃出全部MIB的資訊 (會需要一點時間)
2013/03/05
如何在瀏覽器看IPv6的網頁
簡單做個Note
如果要看IPv6的網頁請照下列的格式輸入
● HTTP
● HTTPs
如果要看IPv6的網頁請照下列的格式輸入
● HTTP
http://[3ffe:1:2::2]
● HTTPs
https://[3ffe:1:2::2]
2013/03/03
【Linux】IPv6 Telnet Server
要如何將一般的telnet server變成IPv6的telnet server呢?
其實很簡單,只要安裝好telnet server的軟體就可以了
● Server
● PC
如果無法連線,請記得確認ip6tables防火牆的狀態或是關閉它。
其實很簡單,只要安裝好telnet server的軟體就可以了
● Server
# yum install telnet-server # chkconfig telnet on
● PC
# telnet 3ffe:1:2::1
如果無法連線,請記得確認ip6tables防火牆的狀態或是關閉它。
2012/09/17
【IPv6 Ready Logo】Phase1與Phase2比較
現在已經沒有Phase1可以申請了
但是之前因為工作的需要所以有做了些比較
於是分享給大家做個參考吧~
※ Phase-1是什麼?
Phase-1銀質標章:基本功能測試(2003/09/01開始營運,已於2011/11結束),Phase-1測試範圍包括IPv6協定, neighbor discover, address auto-configuration及ICMPv6,共有170多項測試項目
※ Phase-2是什麼?
Phase-2金質標章:完整功能測試(2005/02/15開始營運,Phase-2的測試標準則以IETF RFC所規範之MUSTs 和SHOULD為依據,提供更嚴謹之IPv6測試。測試項目高達450項
※ Phase I 和Phase II符合性測試項目
但是之前因為工作的需要所以有做了些比較
於是分享給大家做個參考吧~
※ Phase-1是什麼?
Phase-1銀質標章:基本功能測試(2003/09/01開始營運,已於2011/11結束),Phase-1測試範圍包括IPv6協定, neighbor discover, address auto-configuration及ICMPv6,共有170多項測試項目
※ Phase-2是什麼?
Phase-2金質標章:完整功能測試(2005/02/15開始營運,Phase-2的測試標準則以IETF RFC所規範之MUSTs 和SHOULD為依據,提供更嚴謹之IPv6測試。測試項目高達450項
※ Phase I 和Phase II符合性測試項目
※ Phase-1的缺漏
◎ Phase1測試設備可能無法判斷正確的IPv6 Header的格式 (Version, Traffic Class, Flow Label, Payload Length, Next Header, Hop Limit),也無法在發現問題時送出ICMPv6的封包。
◎ 若是Fragment的封包有問題(Source address不相同或Destination address不相同)時,Phase1測試設備可能無法判斷或重組,造成通訊的不正常。
◎ Phase1測試設備不一定在開機時可以送出Router Solicitation封包也可能無法正確的處理Router送過來Router Advertisement的資料,這樣造成設備只能在區網連線而無法透過Router出去。
◎ Phase1的測試設備可能無法偵測有相同的Global address,這會造成在連網時有封包遺漏或送到錯誤的位址。
◎ Phase1測試設備可能無法處理Redirect的封包,當網路有兩台Router時,Phase1的設備就無法從正確的Router出去。
◎ 如果同一台的router送出不同的network prefix,Phase1的設備可能無法發出Duplicate Address Detection。
◎ Path MTU Discovery是動態偵測線路上的PMTU。如果送出去封包的PMTU太大時,設備會收到ICMPv6並調整PMTU的大小。Phase1測試設備可能沒有支援網路MTU的偵測,所以當Router兩端的網路MTU大小不一的時候就會造成連線問題。
◎ 還有就是一些檢查的部分...
2012/07/17
【IPv6 Ready Logo】Core互連性測試
在完成了IPv6 Core的符合性測試之後
就可以將測試報告寄給中華電信研究所
若沒有問題他們就會通知到所內進行互連性測試
互連性測試基本上要測試四種不同的作業系統進行對測
FreeBSD, Linux, NetBSD, USAGI
FreeBSD, NetBSD會設定為Router的腳色
Linux, USAGI會設定為Host的腳色
跟Router的測試項目比較多,Host的測試項目會比較少
以下介紹各個測項
● 與Router (NetBSD)對測
1.1-D:ping link local address
1.1-E:ping global address
1.1-F:ping所有的Node (FF02::1)與 所有的Router (FF02::2)
1.2-C:造成別人產生DAD (重複的網路位址偵測)
1.2-D:自己發生的DAD
1.3-A:Router送出一個 RA,另一台Host ping看看
1.3-B: Router送出兩個 RA,另一台Host ping看看
1.3-C:測試RA的lifetime,超過了是否還存在
1.4-A:測試RA的lifetime大於0,是否能互ping到對方
1.4-B:送RA=0,ping設備;之後送RA=600,ping設備;最後送RA=0,ping設備
1.5:Router1會送Redirect封包給Host,看看使否能轉到Router2
1.6-A:host ping設備,設備回給host的封包太大,要能切割成小一點的封包
1.6-D:當送的封包的MTU太大時,能切割並送出
● 與Host (Linux)對測
1.1-A:ping 另一台host的link local address
1.1-B:ping 另一台host的global address
1.1-C:ping 所有的Node (FF02::1)
1.2-A:router ping 設備與host,沒有DAD的狀況
1.2-B:測試造成別人產生DAD與自己發生的DAD
1.6-C:當網路的MTU為1280時,host 與設備互用大封包ping時,可以轉成1280的封包
● 與Router (FreeBSD)對測
1.1-D:ping link local address
1.1-E:ping global address
1.1-F:ping所有的Node (FF02::1)與 所有的Router (FF02::2)
1.2-C:造成別人產生DAD (重複的網路位址偵測)
1.2-D:自己發生的DAD
1.3-A:Router送出一個 RA,另一台Host ping看看
1.3-B: Router送出兩個 RA,另一台Host ping看看
1.3-C:測試RA的lifetime,超過了是否還存在
1.4-A:測試RA的lifetime大於0,是否能互ping到對方
1.4-B:送RA=0,ping設備;之後送RA=600,ping設備;最後送RA=0,ping設備
1.5:Router1會送Redirect封包給Host,看看使否能轉到Router2
1.6-A:host ping設備,設備回給host的封包太大,要能切割成小一點的封包
1.6-D:當送的封包的MTU太大時,能切割並送出
● 與Host (USAGI)對測
1.1-A:ping 另一台host的link local address
1.1-B:ping 另一台host的global address
1.1-C:ping 所有的Node (FF02::1)
1.2-A:router ping 設備與host,沒有DAD的狀況
1.2-B:測試造成別人產生DAD與自己發生的DAD
1.6-C:當網路的MTU為1280時,host 與設備互用大封包ping時,可以轉成1280的封包
上述的測試要兩天,等測試完成之後
就可以等報告拿Logo囉 ~
2012/07/02
【IPv6 Ready Logo】Core符合性測試 - Linux除錯
以下是小弟在用linux測試時的一些心得
基本上linux 2.2就有支援了
但是建議會使用2.6以上的版本
我是用linux 2.6.31的版本
因為要自己build in kernel所以有時候選錯項目會造成一些測試不過
這邊給大家做些參考
基本上在linux kernel中選了"CONFIG_IPV6"大部分的項目就可以過了
但是如果測試的時候發現
● Section1: 44, 45, 46, 49, 50, 51沒過
→ 請 Disable "CONFIG_NF_CONNTRACK_IPV6"
● Section2: 138沒過
→ 請Enable "CONFIG_IPV6_ROUTER_PREF"
● Section3: 3, 5, 14, 15, 23, 24沒過
→ 請在開機時執行,"# echo 2 > /proc/sys/net/ipv6/conf/eth0/accept_dad"
啟動DAD功能,但Link-Local位址(由MAC所產生的)碰撞發生時,關閉IPv6功能
若還有相關的問題,可以留言,如果我知道會盡量幫忙
基本上linux 2.2就有支援了
但是建議會使用2.6以上的版本
我是用linux 2.6.31的版本
因為要自己build in kernel所以有時候選錯項目會造成一些測試不過
這邊給大家做些參考
基本上在linux kernel中選了"CONFIG_IPV6"大部分的項目就可以過了
但是如果測試的時候發現
● Section1: 44, 45, 46, 49, 50, 51沒過
→ 請 Disable "CONFIG_NF_CONNTRACK_IPV6"
● Section2: 138沒過
→ 請Enable "CONFIG_IPV6_ROUTER_PREF"
● Section3: 3, 5, 14, 15, 23, 24沒過
→ 請在開機時執行,"# echo 2 > /proc/sys/net/ipv6/conf/eth0/accept_dad"
啟動DAD功能,但Link-Local位址(由MAC所產生的)碰撞發生時,關閉IPv6功能
若還有相關的問題,可以留言,如果我知道會盡量幫忙
2012/06/30
【IPv6 Ready Logo】Core符合性測試 - 自動測試
在上一篇提到了Core手動測試的步驟
這篇會介紹如何將手動測試改為自動測試
受測的設備(NUT)必須要有RS232的輸入方式
FreeBSD(TN)也必須要有RS232(console)的連線port
請參考下面的圖示
這篇會介紹如何將手動測試改為自動測試
受測的設備(NUT)必須要有RS232的輸入方式
FreeBSD(TN)也必須要有RS232(console)的連線port
請參考下面的圖示
自動測試就是FreeBSD會透過Console Port去下指令
這樣使用者就不用一直呆在設備旁了
● v6eval-remote
請先去下載v6eval-remote (目前已經沒有在維護了)
並做以下的設定
# tar vfxz v6eval-remotes-3.0.tar.gz # cd v6eval-remotes-3.0 # vi Makefile DOCFILES=00README.remotes INSTALL.remotes \ COPYRIGHT # vi ./bin/remotes/Makefile SUBDIR= unknown \ manual \ linux-v6 \ usagi-i386 \ usagi24-i386 \ freebsd-i386 \ freebsd43-i386 \ kame-freebsd \ ms-winxp \ ms-win2k # make # make install
● /usr/local/v6eval/etc/nut.def
設定完成之後,請到/usr/local/v6eval/etc/nut.def
將System的值改為受測設備的作業系統
若是沒有相同的,則可以選近似的進行改寫
以下是針對linux做範例
System linux-v6
● /usr/local/lib/perl5/site-perl/5.12.4/V6evalRemote.pm
在自動測試前,請勿必先看過這個檔案
還有/usr/local/v6eval/bin/裡面的檔案
若是有需要修改的請自行修正
下面是一定要修正的地方
$Device=”cuau0” $User=”root” $Password=”v6eval”
● RS-232測試
設定連線
# touch /var/log/aculog # chown uucp:dialer /var/log/aculog # chmod 660 /var/log/aculog
測試連線
# cu –l /dev/cuau0 –s 38400 (38400是 baud rate) # ~. (終止連線)
測試是否能使用自動測試
# /usr/local/v6eavl/bin/linux-v6/loginout.rmt –o 1
上述都設定完成之後
就可以執行下述的指令進行自動測試了... gogogo ~
# cd Self_Test_5-0-0 # make clean # make ipv6ready_p2_host
2012/06/29
IPv6... ICMPv6
之前介紹了IPv6的定址方式,會建議先看過再來看這篇
接著介紹一些關於Neighbor Discovery的內容
Neighbor Discovery Protocol(NDP)是用來偵測周圍的IPv6設備與位址是否重複的功能
利用以下的五種封包:
● Neighbor Solicitation(NS): Host送給link layer的request
● Neighbor Advertisement(NA): Host送給link layer的response
● Router Solicitation(RS): Host送給Router的request
● Router Advertisement(RA): Router回給Host的response & 定期的multicast封包
● Redirect: Router
下面是IPv6 Cache Table的內容
● Neighbor Cache: 類似IPv4的MAC Table
- Neighbor: 鄰居的IPv6 address
- MAC: 鄰居的MAC
- State: reachable(可收到), stale(過期), delay(到stale才回應), proble(等回應), invalid, unknown, incomplete
- Flags: router 或 host
● Prefix List: 看哪些IP的prefix是在同一個domain(不須經由router)
- Prefix: prefix與prefix length
- vltime(valid time): 此prefix還可以合理的存活多久
- pltime(preferred life time): 透過stateless configuration(DHCP或Router)所給的存活時間
- onlink: on-link(同一個domain), off-link(不同domain)
- autonomous: 是不是DHCP或Router所給的prefix
● Destination Cache: 目標IP與Next Hop的對應
- Destination Address: 目標IP
- Next Hop Address: 送的下一個IP,可以為目標的IP
● Route List: IPv6的routing table
- Address: 目標IP或prefix
- Gateway/Interface: gateway或interface
● Default Router List:
- Address: router的IP
- Preference: high, medium, low (如果有多個router都在同個level,就輪流)
- Lifetime: 可存活多久
- Flag: statefuk address, additional configuration setting
IPv6網路卡起始的流程
1. 自動生成link local address
2. 送出NS,看看有沒有設備的link local address跟自己的一樣
3. 收到NA之後,存到Neighbor Cache
4. 送出RS,收到Router回送的RA,存到neighbor Cache, prefix list, destination cache
當一個switch要送封包的時候
1. 看Destination Cache決定Next Hop
- 有,直接送到Next Hop送出資料
- 沒有,到第2步
2. 看Prefix List是否在同一個Domain
- 有,就可以直接送給它(代表在同一個Domain)
- 沒有,到第3步
3. 看Router List
- 有,用Neighbor Cache找出MAC,並送出資料
- 沒有,開始IPv6 resolution的過程
透過以上的步驟,可以減少IPv6的封包
2012/06/20
【IPv6 Ready Logo】Core符合性測試
這篇要介紹如何建置IPv6符合性的測試環境
因為Core的測試設備分為兩種:Host與Router
我先以簡單的Host來做範例
先介紹一下兩個名詞:TN (Test Node) 與 NUT
TN:就是下面介紹的FreeBSD的主機
NUT:則是我們所要受測的IPv6設備
首先要找一台不要太新的電腦
如果有COM Port更好,因為自動測試會需要它
接著去下載FreeBSD 9.0
http://www.freebsd.org/where.html
因為測試的環境必須在這個OS下面
安裝完成之後
還必須要安裝Perl-5.12與Perl的相關模組
因為測試程式的語法是由Perl寫出來的
● Perl-5.12.4
接下來要安裝測試的軟體了
● v6eval (用來收送IPv6封包用的)
請去此處下載:v6eval-3.3.2
因為FreeBSD9.0在make這套時會有Error Message: "CmMain.cc:51:18: error: utmp.h: No such file or directory",所以請下載:v6eval.diff_.gz
請去此處下載:Self_Test_5.0.0
在安裝完所有的軟體之後,就要設定相關的檔案了
● /etc/rc.conf (請修改rl0為連接NUT的port)
以上就是將測試的環境給設定好了~
接著將我們要測試的設備接上FreeBSD主機
就可以進行下面的測試指令了
因為一共分五大項,若要一次測試
在手動的測試中會有三種狀況會等您的動作
● 等開機完成到Login的畫面,再按下Enter
因為Core的測試設備分為兩種:Host與Router
我先以簡單的Host來做範例
先介紹一下兩個名詞:TN (Test Node) 與 NUT
TN:就是下面介紹的FreeBSD的主機
NUT:則是我們所要受測的IPv6設備
首先要找一台不要太新的電腦
如果有COM Port更好,因為自動測試會需要它
接著去下載FreeBSD 9.0
http://www.freebsd.org/where.html
因為測試的環境必須在這個OS下面
安裝完成之後
還必須要安裝Perl-5.12與Perl的相關模組
因為測試程式的語法是由Perl寫出來的
● Perl-5.12.4
# cd /usr/ports/lang/perl5.12 # make # make install 如果無法連上網路請自行下載BSDPAN-20111107.tar.bz2與perl-5.12.4.tar.bz2,並執行以下指令之後,再重新試上面的指令 # cp perl-5.12.4.tar.bz2 /usr/ports/distfiles/perl # cp BSDPAN-20111107.tar.bz2 /usr/ports/distfiles/perl● Expect
# cd /usr/ports/lang/p5-Expect # make # make install 如果無法連上網路請自行下載IO-Tty-1.10.tar.gz與Expect-1.21.tar.gz,並執行以下指令之後,再重新試上面的指令 # cp Expect-1.21.tar.gz /usr/ports/distfiles # cp IO-Tty-1.10.tar.gz /usr/ports/distfiles● Digest-MD5
# cd /usr/ports/security/p5-Digest-MD5 # make # make install 如果無法連上網路請自行下載Digest-MD5-2.51.tar.gz,並執行以下指令之後,再重新試上面的指令 # cp Digest-MD5-2.51.tar.gz /usr/ports/distfiles● YAML
# cd /usr/ports/textproc/p5-YAML # make # make install 如果無法連上網路請自行下載YAML-0.77.tar.gz,並執行以下指令之後,再重新試上面的指令 # cp YAML-0.77.tar.gz /usr/ports/distfiles
接下來要安裝測試的軟體了
● v6eval (用來收送IPv6封包用的)
請去此處下載:v6eval-3.3.2
因為FreeBSD9.0在make這套時會有Error Message: "CmMain.cc:51:18: error: utmp.h: No such file or directory",所以請下載:v6eval.diff_.gz
# tar zxvf v6eval-3.3.2.tar.gz # cp v6eval.diff_.gz v6eval-3.3.2 # cd v6eval-3.3.2 # gunzip v6eval.diff_.gz # patch -p0 < v6eval.diff_ # make # make install● Self Test Tool (Perl寫的Script用來執行v6eval讓它去收送封包)
請去此處下載:Self_Test_5.0.0
# tar vxfz Self_Test_5-0-0.tgz
在安裝完所有的軟體之後,就要設定相關的檔案了
● /etc/rc.conf (請修改rl0為連接NUT的port)
ipv6_enable=”NO” ifconfig_rl0=”up” devfs_system_ruleset=“devfsrules_unhide_bpf”● /etc/devfs.rules
[devfsrules_unhide_bpf=1025] add path ‘bpf0’ user root group wheel mode 0660 unhide add path ‘bpf1’ user root group wheel mode 0660 unhide add path ‘bpf2’ user root group wheel mode 0660 unhide add path ‘bpf3’ user root group wheel mode 0660 unhide add path ‘bpf4’ user root group wheel mode 0660 unhide add path ‘bpf5’ user root group wheel mode 0660 unhide add path ‘bpf6’ user root group wheel mode 0660 unhide add path ‘bpf7’ user root group wheel mode 0660 unhide● /etc/group
wheel● /usr/local/v6eval/etc/tn.def (請修改rl0為連接NUT的port)
RemoteDevice cuau0 RemoteDebug 0 RemoteIntDebug 0 RemoteLog 1 RemoteSpeed 0 RemoteLogout 0 RemoteMethod serial filter ipv6 Link0 rl0 00:00:00:00:01:00● /usr/local/v6eval/etc/nut.def (TargetName與HostName設定要測試設備的名稱,Link0請設定NUT的port與MAC)
System manual TargetName abc HostName abc Type host User root Password v6eval Link0 eth0 00:00:92:a7:6d:f5
以上就是將測試的環境給設定好了~
接著將我們要測試的設備接上FreeBSD主機
就可以進行下面的測試指令了
因為一共分五大項,若要一次測試
# cd Self_Test_5-0-0 # make clean # make ipv6ready_p2_host若要分項測試,針對Spec作測試
# cd Self_Test_5-0-0/spec.p2 # make clean # make ipv6ready_p2_host若要針對Spec的17~24項作測試
# cd Self_Test_5-0-0/spec.p2 # make clean # make AROPT="-s 17 -e 24" ipv6ready_p2_host
在手動的測試中會有三種狀況會等您的動作
● 等開機完成到Login的畫面,再按下Enter
reboot> Reboot NUT. reboot> * Wait until NUT boot up completely. reboot> Ex.) Wait until catch up login prompt. reboot> reboot> Press Enter key for continue.● 重新開機之後,馬上按下Enter
reboot_async> Reboot NUT. reboot_async> * You don't need to wait NUT untill boot up completely. reboot_async> * You have to exit this script quickly. reboot_async> * This script is used for catching up boot sequence. reboot_async> Ex.) DAD, MLD Report, ... reboot_async> reboot_async> Press Enter key for continue.● 先輸入好ping6的指令,按下Enter的五秒內,執行ping6的指令
ping6> Press enter key, and excute the following commands within 5 seconds. ping6> Do ``ping6 DataSize= 1352, Send Count= 1, Interface= bfe0, Destination= FF1E::1:2''
【IPv6 Ready Logo】Core 測試流程
當自己的產品已經有支援IPv6之後
要如何證明呢?
當然是送到最有公信力的機構去做認證
台灣有一個IPv6的認證中心:中華電信研究所IPv6測試實驗室
透過這個實驗室的協助,我們的設備就可以宣稱有IPv6的功能了
測試的項目很多有
● Core:測試基本IPv6的功能
● IPSec:測試IPv6加密與安全性的部分
● DHCP:測試自動取得IPv6與DNS的功能
● SNMP:測試IPv6網路管理的部分
● ...
每一個項目都有一張貼紙
Core的測試是最基本的
有了Core之後才能用同一台去取得其他的項目
那要怎麼通過認證呢?
簡單來說分為兩個步驟:
第一個步驟就是符合性測試的部分 (Conformance Test)
一共有五大項,三百多個測試項目
一共有五大項,三百多個測試項目
這部分要自己測試的,當所有的測試項目通過了
再將報告寄給中華電信研究所
他們審查過之後就可以到他們那邊進行互連性的測試 (Interoperability Test)
要跟其他四種不同的OS進行測試
要跟其他四種不同的OS進行測試
當測試完之後沒有問題
就可以請他們協助將文件寄到國外去申請Logo了
2012/03/03
【Linux】IPv6 Stateful Auto Configuration
在上一篇我有提到IPv6有另一種自動設定IP的方式
基本上跟IPv4獲得IP的方式雷同
但是IPv6的DHCP Server可以選擇要只給網路位址或給全部的位址
既然已經有了router給網路位址的作法
為什麼還要出現一個DHCPv6的功能呢?
這樣來說MIS可以更方便的管理設備
反正網址這麼多, 一台設備又可以有很多的IP
所以就沒差了...
下面的範例Server可以送IPv6的address給PC
透過上面的設定PC就可以拿到IPv6的網路位址
會介於2011:1:2::129到2011:1:2::254之間
● Stateful
透過DHCP server所給的網路位址 + EUI-64所產生出的網卡位址
看DHCP server的設定,有時也會給定全部的位址而不用網卡位址
透過DHCP server所給的網路位址 + EUI-64所產生出的網卡位址
看DHCP server的設定,有時也會給定全部的位址而不用網卡位址
基本上跟IPv4獲得IP的方式雷同
但是IPv6的DHCP Server可以選擇要只給網路位址或給全部的位址
既然已經有了router給網路位址的作法
為什麼還要出現一個DHCPv6的功能呢?
這樣來說MIS可以更方便的管理設備
反正網址這麼多, 一台設備又可以有很多的IP
所以就沒差了...
下面的範例Server可以送IPv6的address給PC
● Server
# yum remove dhclinet # yum install dhcp # vi /etc/dhcp/dhcpd6.conf option dhcp6.rapid-commit; default-lease-time 120; ddns-update-style interim; ddns-domainname example.com"; authoritative; subnet6 2011:1:2::/48 { range6 2011:1:2::129 2011:1:2::254; option dhcp6.name-servers 2011:1:2::2012; option dhcp6.domain-serach "ipv6.domain.example"; } # ifconfig eth0 inet6 add 2011:1:2::123/48 # service dhcpd6 start
● PC
# dhclient -6 eth0 # ifconfig
透過上面的設定PC就可以拿到IPv6的網路位址
會介於2011:1:2::129到2011:1:2::254之間
2012/02/24
【Linux】IPv6 Stateless Auto Configuration
之前在IPv6那篇文章中有提到
有兩個自動設定IP的方式
● Stateless
網路的位址是由 router所給的 + EUI-64所產生出的網卡位址
這樣就是一個完整的IPv6 address
● Stateful
透過DHCP server所給的網路位址 + EUI-64所產生出的網卡位址
看DHCP server的設定,有時也會給定全部的位址而不用網卡位址
這篇先介紹如何將Linux的設備變成IPv6 Router
可以送出IPv6的網路位址
讓PC可以收到IPv6的網路位址再加上自己的MAC自動產生IPv6的IP
有兩個自動設定IP的方式
● Stateless
網路的位址是由 router所給的 + EUI-64所產生出的網卡位址
這樣就是一個完整的IPv6 address
● Stateful
透過DHCP server所給的網路位址 + EUI-64所產生出的網卡位址
看DHCP server的設定,有時也會給定全部的位址而不用網卡位址
這篇先介紹如何將Linux的設備變成IPv6 Router
可以送出IPv6的網路位址
讓PC可以收到IPv6的網路位址再加上自己的MAC自動產生IPv6的IP
Linux Server這邊要安裝radvd這套軟體
這套軟體可以發送Network address並且做IPv6的Routing
● Server
# yum install radvd # vi /etc/radvd.conf interface eth0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInternal 10; prefix 2001:db8:0:f101::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; }; # echo 1 > /proc/sys/net/ipv6/conf/all/forwarding # echo 1 > /proc/sys/net/ipv6/conf/default/forwarding # vi /etc/sysconfig/network NETWORKING_IPV6=yes # service radvd start
接這就可以用 # ifconfig 去看到新的IPv6 address (2001:db8:0:f101::interface address)
● PC
# ifconfig
2012/02/23
【Linux】設定IPv6
最近的工作有設定到一些IPv6的相關功能
寫下來做個紀錄
順便跟大家分享一下
這兩台都是Linux的設備
一開始要先將IPv4與IPv6設定好,之後才可以用ping的方式看看有沒有連起來
● Server
接下來就可以ping看看有沒有連起來
● Server
寫下來做個紀錄
順便跟大家分享一下
這兩台都是Linux的設備
一開始要先將IPv4與IPv6設定好,之後才可以用ping的方式看看有沒有連起來
● PC
# ifconfig eth0 192.168.1.2 # ifconfig eth0 inet6 add 3ff1:1:2::2/64 # service iptables stop # service ip6tables stop
● Server
# ifconfig eth0 192.168.1.1 # ifconfig eth0 inet6 add 3ff1:1:2::1/64 # service iptables stop # service ip6tables stop
接下來就可以ping看看有沒有連起來
● PC
# ping 192.168.1.1 # ping6 -I eth0 3ffe:1:2::1
● Server
# ping 192.168.1.2 # ping6 -I eth0 3ffe:1:2::2
2011/12/21
IPv6...
由於IPv4的網路位址已經耗盡了
所以下一代的網路定址IPv6顯得更為重要
IPv6與IPv4最主要的差別是
網路位址的大小由32bits升級到128bits
網路的位址就變成下面的格式
2001:0db8:1a2b:0015:0000:0000:1a2f:0000
因為真的太難記了
所以有了下面兩種縮寫的規則
● 開頭0可以被忽略,多個0可縮寫成為一個
2001:db8:1a2b:15:0:0:1a2f:0
● 多個0的blocks可以被組成 :: (只能出現一次)
2001:db8:1a2b:15::1a2f:0
IPv6一樣有網路遮罩(Netmask)的概念
被稱作Prefix,在這個prefix所包含的位址皆為網路位址
2001:db8:1a2b:15::1a2f:0/64
上面的例子就是說前面的64個bits為網路位址
以前在IPv4有unicat, multicast以及broadcast
現在IPv6把最耗網路頻寬的broadcast改為anycast
這個anycast只有router能發出
是用來發給最近的router
這樣就可以知道最近的router是哪個
之後再傳遞封包的時候就可以用這台router傳送資料
unicast的網路位址分為兩種型態
● Global Address
全世界唯一
開頭位址為2或3,最後64bits是網卡位址
● Local Link Address
不能出router
fe80開頭,最後64bits是網卡位址 (只要有enable IPv6就會自動生成)
那要如何將網卡的位址(48bits)轉為IPv6的網卡位址(64bits)呢?
EUI-64就是要負責這樣的轉換規則
- 第7個bit為補數
- 加入FFFE到第3與第4個位址中
00:ab:cd:12:34:56 → 02ab:cdff:fe12:3456
由於IPv6的位址真的太複雜了
所以不希望大家用手動的方式設定網址 (也可以自己手動設定)
除了上面轉換MAC為IPv6 interface address的方法之外
IPv6還定義了兩個auto-configuration的方法 (自動設定IP)
● Stateless
網路的位址是由 router所給的 + EUI-64所產生出的網卡位址
這樣就是一個完整的IPv6 address
● Stateful
透過DHCP server所給的網路位址 + EUI-64所產生出的網卡位址
看DHCP server的設定,有時也會給定全部的位址而不用網卡位址
所以下一代的網路定址IPv6顯得更為重要
IPv6與IPv4最主要的差別是
網路位址的大小由32bits升級到128bits
網路的位址就變成下面的格式
2001:0db8:1a2b:0015:0000:0000:1a2f:0000
因為真的太難記了
所以有了下面兩種縮寫的規則
● 開頭0可以被忽略,多個0可縮寫成為一個
2001:db8:1a2b:15:0:0:1a2f:0
● 多個0的blocks可以被組成 :: (只能出現一次)
2001:db8:1a2b:15::1a2f:0
IPv6一樣有網路遮罩(Netmask)的概念
被稱作Prefix,在這個prefix所包含的位址皆為網路位址
2001:db8:1a2b:15::1a2f:0/64
上面的例子就是說前面的64個bits為網路位址
以前在IPv4有unicat, multicast以及broadcast
現在IPv6把最耗網路頻寬的broadcast改為anycast
這個anycast只有router能發出
是用來發給最近的router
這樣就可以知道最近的router是哪個
之後再傳遞封包的時候就可以用這台router傳送資料
unicast的網路位址分為兩種型態
● Global Address
全世界唯一
開頭位址為2或3,最後64bits是網卡位址
● Local Link Address
不能出router
fe80開頭,最後64bits是網卡位址 (只要有enable IPv6就會自動生成)
那要如何將網卡的位址(48bits)轉為IPv6的網卡位址(64bits)呢?
EUI-64就是要負責這樣的轉換規則
- 第7個bit為補數
- 加入FFFE到第3與第4個位址中
00:ab:cd:12:34:56 → 02ab:cdff:fe12:3456
由於IPv6的位址真的太複雜了
所以不希望大家用手動的方式設定網址 (也可以自己手動設定)
除了上面轉換MAC為IPv6 interface address的方法之外
IPv6還定義了兩個auto-configuration的方法 (自動設定IP)
● Stateless
網路的位址是由 router所給的 + EUI-64所產生出的網卡位址
這樣就是一個完整的IPv6 address
● Stateful
透過DHCP server所給的網路位址 + EUI-64所產生出的網卡位址
看DHCP server的設定,有時也會給定全部的位址而不用網卡位址
訂閱:
文章 (Atom)