2010年11月28日 星期日

CCNA Voice 學習筆記640-460

一、 Cisco Unified Communication Solutions:
A.產品線:
1. Manager:
(1) CUCM(Cisco Unified Communications Manager)
(2) CUCMBE(Cisco Unified Communications Manager Business Edition)
(3) CUCM Express(Cisco Unified Communications Express)
Manager就像通訊的大腦,功能在處理Call Processing, 不同的型號差別在支援的人數,列表如下:
System Platform MaxEndpoint HA Unity
CUCM Server/Linux 7,500~30,000 Yes Unity,UnityExpress
CUCM BE Server/Linux 500 No Unity Connection
CUCM Express Router/IOS 250 No Unity,UnityExpress

2. Unity:
Unity為Voice Mail方案整合了語音、Fax、Email、IM於一身。
System Platform Max Mailboxes
Unity Win2k/2003 15,000+
Unity Connection Integrated CUCMBE server/Linux 7,500
Unity Express NM-CUE Router NM slot/IOS 250
Unity Express AIM Router AIM slot/IOS 50

3. IPhone與User Applications:
。IPhone:大致有四種模型, 7900、6900、3900、500
。IP Communicator: 在XP與Vista上跑7900型號的軟體Phone
。Analog Telephony Adapter(ATA):讓傳統電話網路可以透過Ethernet傳送
,會有兩個RJ-11插孔與一個網路孔
。VG224,VG248:用來轉換類比訊號到數位訊號的Voice Gateway,上面
是Cisco的IOS,224可轉24個類比訊號,248可轉48個類比訊號
。Video Advantage: 利用USB鏡頭,裝在系統上,可
與IPhone,IPcommunicator構成視訊
。Unified Personal Communicator: 用來整合所有個人使用軟體、IPhone、
IM、MPE、Videoconf
。Unified Call Connector: 整合Communications Express功能,裝在PC的
軟體
。TelePresence: 大型擬真系統
4. Voice Gateway:
Voice Gateway其實就是一顆router,只是它是一顆能進行傳統語音訊號與數位語音訊號轉換的Router,可以將VoIP訊號帶到PSTN(Public Switched Telephone Network)
B.佈屬方式:
1. Single Site with Centralized Call Processing:
每個Site都有自已的Manager
2. Multisite with Centralized Call Processing:
每個Site都透過WAN連到集中的Manager進行Call Processing,所以網路的速度與品質很重要。
3. Clustering over the Wide Area Network:
2~6個Site可以採行這個架構,其中一台當作Publisher,其它當成Subscriber,由於不同Site的Manager需溝通,所以網路品質會較要求
4. Multisite with Distributed Call Processing:
每個Site有自已的Manager與VoiceGateway,成本較高,也是較建議的佈屬方式。

二、 Traditional Telephony:
1. Analog Network Signaling
(1) Loop Start Signaling:拿起電話為off-hook使得廻路(loop)產生,即可撥打電話。
(2) Ground Start Signaling:現有電話大都為Ground Start Signaling
(3) Analog Network Event Signaling:
a. Address Signaling:有兩種撥碼方式,轉盤式的為Pulse dialing。按鍵式的為Dual-Tone Multi-Frequency(DTMF),利用兩種頻率來決定按鍵碼
b. Informational Signaling:為系統訊號,讓通話者了解通話系統狀況,如:Busy,Call waiting,Ring-back,Reorder,Congestion…
c. Supervisory Signaling:為通話系統背後用來溝通連線資訊用,如:Seizure,Wink/hook flash,Answer,Disconnect,Robbed-bit..,傳送方式分為In-band與Out-of-band,差別在於有沒有在同一條線上傳送
2. Comparing Analog and Digital Circuits
(1) Analog Signal
語音電路的目的是將訊號從一個地方傳送到另外一個地方,以兩條線提供全雙功的訊號溝通。量測的波長的頻率單位Hz,或每秒的周期數。
(2) Analog Voice Interfaces
a. FXS(Foreign Exchange Station Interface):為內部用來連接Station的RJ-11 Port,可以用來連接類比電話與傳真機。
b. FXO(Foreign Exchange Office Interface):為用來連接Office與PSTN連線,通常是CO(Central Office)與PBX(Private Branch Exchange)之間的連線
c. DID(Direct Inward Dial):與FXO很像,差別在於DID可以把分機號碼Trunk透過類比話訊傳遞到另一端
d. CAMA(Centralized Automatic Messaging Accounting):北美的緊急電話911專線
(3) Analog-to-Digital Conversion Process
要將類比訊號轉為數位訊號的主因為類比訊號的傳送距離限制與傳輸效率。下面為轉換的四個步驟:
Step.1 取樣(Sample the Analog Voice Signal):
傳統電話的聲波每秒震動次數在0~4,000次之間。取樣時的次數過多或過少都是個問題,還好nyquist實驗過後找出了一個較好的值:每秒8000次。
Step.2 量化(Quantize the sample):
量化所使用的是脤搏調變技術(Pulse Code Modulation,PCM),就像脤搏一樣在每一固定時間頻率,如 1/8000秒將類比訊號轉化為數字、或是將數字轉化為類比波長。
Step.3 編碼(Encode the digital sample):
量化後的數字為了於網路中傳送,會先轉換成8-bit二進編碼,所以一秒鐘取樣8000次所佔的頻寬為 64Kbps(8000次*8bit),這種進行編碼與解碼的流程稱為codec(Compressor/DECOmpressor)。如果兩種網路語音的編碼方式不同,需採用轉碼(Transcoding)才能溝通。
Step.4 壓縮(Compress the encoded sample):
壓縮就是將編碼過後的二進碼進行編碼的縮減,用較少的bit數量來傳達相同的聲音訊號,以減少頻寬使用,讓相同的頻寬可以較多人同時使用。
(4) Digital Voice Interfaces
a. ISDN Basic Rate Interface:
ISDN BRI可以同時提供兩個通話,以兩個64K的B Channel傳送語音與一個16K的D Channel傳送資料,再加一個48K的訊框同步構成一個192Kbps的傳輸通道。
b. T1 Channel Associated Signaling:
T1總頻寬為1.544M,共有24個64Kb頻道,其中56K做為聲音傳輸、8K做為訊號傳輸。訊號傳輸方式分為Super Frame (SF)與 Extended Super Frame(ESF),SF把12個Frame綁在一起,每第6個Frame做為訊號傳輸;而ESF把24個Frame綁在一起,也是每第6個Frame做為訊號傳輸。
c. T1 Primary Rate Interface: (Common Channel Signaling)
T1 PRI與CAS的差別只在於訊號的傳輸改用Out Of Band的方式,用24個通道的最後一個通道做為訊號傳輸,這種方式叫CCS(Common Channel Signaling),所以有23個B Channel傳輸音訊、一個D Channel傳輸訊號。
d. E1 Channel Associated Signaling:
E1總頻寬為2.048M,共有32個64Kb頻道,分別於T1取其8K做為訊號傳輸,E1以Out Of Band的方式在第1、17頻道進行訊號傳輸,所以總聲音傳輸通道為30個64Kb。
e. E1 Primary Rate Interface: (Common Channel Signaling)
與E1 CAS唯一的差別只在於訊號傳輸方式,E1 PRI用Q.931.
3. Multiplexing:
多工傳輸的目的是讓多個通話可以在同一條線路上傳輸,別於以往傳統電話每一通電話就需要一對線路才能通訊。有兩種主要的多功模式:
a. Time-Division Multiplexing: 利用時間差切出不同的Timeslot,每個Timeslot提供一個電話傳輸通道
b. Statistical Time-Division Multiplexing:比起標準TDM,STDM沒有固定的Timeslot,而是在需要時才使用該timeslot,就像封包一樣,所以也稱做Packet-Mode Multiplexing,可以更充份使用線路。
4. Private Phone Switching:
私有電話交換目的在節省成本,不需要每通電話都要透過PSTN的end-to-end 通訊。
a. The Key System: 在小型環境裡適用,每一台電話都共用PSTN的分機,撥打前按下空線的按鍵就能撥號。接線上,通常PSTN會接幾條FXO進入KeySystem,再分接到每一台電話上。
b. Private Branch Exchange: (PBX)
與KeySystem的主要差異是每通分機有自已的分機碼,而Key System只用一個鍵代表線路。另外PBX是數位訊號,Key System是類比訊號。且PBX能提供較多的服務,如:Call Forwarding,Hunt Groups,Conference Bridge…
5. PSTN Numbering Plans
就像IP的使用不能重覆一樣,電話在地球上的使用也必需是獨一無二的才能互相通訊。國際的Numbering Plans是由ITU(International Telecommunications Union)所訂的E.164標準來規範,規範如下:
Country Code : 1-3碼
National Destination Code : 0-15碼
Subscriber Code: 1-15碼

三、 Voice over IP:
1. Unified Communications Model
a. Infrastructure
基礎架構做的事情很簡單,把封包從一個地方運送到另外一端。需要額外注意的是網路傳輸品質(QoS)與存取權限(ACL)
b. Call Control
這是語音溝通的心臟,就是Call Manager。負責的功能如:Call Processing, Call Signaling, Endpoint Control, Dial Plan Control, Media Resource Management, User Management
c. Applications
建構在Call Manager上面,目的在提供加值服務。如Unity 提供Voice Mail、Emergency Responder提供緊急電話回應…
d. Endpoints
使用者語音與視訊開始及結束的端點,在Cisco方案裡,使用SCCP與SIP的使用者設備即可視為Endpoint。
2. Voice Gateway
VG的目的在連接VoIP封包與傳統電話網路,同時是數位語音的閘道與類比語音的閘道。
a. CUCM to PSTN
在VG上連接CUCM到PSTN是最普遍的網路連接方式,而VG上進行數位與類比訊號轉換的密秘在於DSP(Digital Signal Processor)晶片,DSP晶片主要在提供數位服務,常見的五個如下-
I. 類比轉數位: DSP可以用NM,WIC與VWIC的方式使用。
II. 數位轉換:即使同樣是數位訊號,如果使用的Codec不同時,就需要利用DSP進行類比訊號的轉號。
III. 消除Echo:預設DSP就會使用Echo Cancellation來消除類比轉數位可能將Echo音訊放大而影響品質的狀況。
IV. DTMF-Relay:由於傳統電話的DTMF與數位電話的DTMF不能溝
通,所以需要DSP來進行轉換。
V. Media Termination: DSP也可用來停止語音訊號以提供如會議、轉送、Hold、Park等功能。
b. CUCM to a PBX
I. VG Dial Peers:
Dial Peers在語音網路中指的是一台可以傳送或接收語音訊號的設備。而連接傳統類比設備的稱為POTS Dial Peers,利用Dial-string與Port做mapping; 而連接數位電話的設備稱為VoIP Dial Peers,利用Dial-String與遠端IP做Mapping。
II. Call Legs:
Call Legs是一個邏輯的連線,代表一個Dial Peer與另一個Dial Peer之間的連線,在傳統語音稱為POTS Call Leg、在數位語音稱為VoIP Call Leg。
c. Comparing VG Communication Protocols
I. H.323: H.323是由多個控制聲音與視訊訊號的協定所構成,如:RAS,H.245,Voice Codecs,H.225。在訊號與控制完成後再由點對點以RTP(Real-time Transport Protocl)進行聲音傳輸。H.323是Peer-to-Peer的架構,所以VG會獨立於CUCM,這代表在VG上需要設定更多的電話與IP對應資訊。
也可以利用H.323Gatekeeper來建構,在Gatekeeper上面有許多的電話碼與IP對應表,在VG要通話時就去lookup Gatekeeper上面電話號碼代表哪個IP進行傳送。Gatekeeper還有一個功能叫CAC(Call Admission Control),用來限制哪一個人有權限撥打什麼電話號碼。
II. SIP: SIP(Session Initiation Protocol)是IETF所定的溝通標準,以P2P的方式進行溝通,可以運行為TCP與UDP,預設SIP是以UDP 5060來與CUCM溝通。
III. MGCP:MGCP(Media Gateway Control Protocol)是以Client-Server的方式溝通,大部份的工作都是在CUCM上運行,Gateway只做Routing的動作,預設CUCM與Gateway是以UDP/2427、TCP/2428進行溝通。
IV. SCCP: SCCP(Skinny Client Control Protocol)是Cisco的Gateway Protocol,也是以Client-Server的架構進行溝通,目前仍需是Cisco的產品才能使用。
3. Voice and Video transport Protocols
a. Real-Time Transport Protocol(RTP): Video與Voice在IP網路溝通的基楚即是RTP,而RTP大部份使用UDP進行傳輸。
b. Compressed RTP: cRTP是對整個RTP的Header進行壓縮,從40-Byte壓縮到2~5Byte,使傳輸加快,與降低Delay的可能性。不過CPU的秏用會比較高。
c. Real-Time Transport Control Protocol(RTCP):以Out-of-band方式與RTP同時運作,提供RTP的控制資訊如:Packet Count, Packet Loss, Packet Delay, Amount of Jitter.需要記住的是RTP與RTCP都是單向的,所以一通電話會有兩個Stream,一個負責傳一個負責收。
4. Comparing VoIP Endpoint Signaling Protocols
Endpoint的訊號協定用來定義Endpoint的位置、與設定Endpoint…。
a. SCCP: SCCP是Client Server架構,只用於Cisco設備。當話機註冊到CUCM時,CUCM會要求話機的資訊如:IP,StationID,Device Type,Codecs,然後CUCM再送出話機所需要的資訊,如:phone number,button template,time/date…,之後CUCM就會自動用較省資源的方式進行溝通,另外SCCP會可以確認話機on-line資訊。
b. SIP: SIP是P2P的架構,所以是不需要Manager就能溝通的,而應用在Cisco的環境裡,可以指定Manager為SIP Proxy進行Signaling,而Voice還是以RTP進行點對點的溝通。
5. Comparing the Common Voice Codecs
Codec的目的在於編碼與解碼語音Signal,也可用來壓縮。
a. G.711: G.711是最常見也是訊號最好的Codec,它採用PCM(Pulse Code Modulation),每秒取樣8000次,每次為8bit,所佔頻寬為64Kbps。要注意的是G.711分為u-law與a-law,即使都是G.711還是需要轉碼才能溝通。
b. G.729: G.729的取樣頻率與G.711一樣每秒8000次,唯一的不同是會對取樣進行壓縮,使得每個通話只需要8Kbps的頻寬,為G.711的1/8。
c. G.729a:G.729a與G.729近乎一樣,唯一的差異只是演算法的不同,G.729的演算法較為簡單,所以較不吃DSP的資源。
d. iLBC:全名為internet Low Bandwidth Codec,以20或30ms取樣一次,所佔頻寬在13.3k到15.2k之間,iLBC有一個優點是可以處理掉封包的狀況,如果發現封包有掉,會通知使用者。
6. Calculating IP Voice Packet Sizes
最快的方式就是利用Cisco網站進行計算。
另外,要減少Voice Packet大小的方法有兩種,一種是使用cRTP來壓縮Header的大小,另一種是使用VAD(Voice Activity Detect),來偵測沒有使用語音的時段就不傳送封包,改用預錄的”靜音”取代。

四、 Configuring the Network Infrastructure for Voice:
1. Power Options for IP Phones
a. Power Brick:電源磚不在Cisco IP Phone的標準內,因為Cisco假設大家會使用更好的電源供應方式,如PoE。
b. Powered Patch Panel/Power Injector:利用Power Patch Panel同時提供24或48條Cat5或Cat6網路線與電源,或是以Power Injector提供單一線路與電源。
c. Power over Ethernet Switch
I. Cisco Inline Power
Cisco是最早在2000年就有PoE 功能的Switch,這個功能叫做ILP(Inline Power),ILP會先送出6.3W給該switch port待設備開啟後,再透過CDP得知該設備所需要的W數,最高到15.4W。
II. Cisco IEEE 802.3af:在2003年中,由IETF定義為新標準,也定義了五種Power Class,預設為Class 0 ,提供15.4W的功率
III. Cisco Inline Power Switch Backward Compatibility: Switch透過直流迴路與交流迴路來分辨PoE的標準,當訊號以直流構成回路即為802.3af,果為交流回路即為ILP。
IV. Cisco PoE Intelligent Power Management: Cisco的Intelligent Power Management(IPM)能自動收回用不到的電源功率,如15.4W的輸出,經過智能運算,實際只需提供12W。
V. Cisco PoE Management Modes: 對於非Cisco設備,不能透過CDP自動溝通所需功率,就需要手動設定,以 power inline指令來指定功率,如:power inline static max 15400
2. VLANs and Voice VLANs
比較好的架構是把資料與語音網路分開。
a. Overview of VLANs: Virtual LAN提供虛擬的LAN環境,讓屬同VLAN的設備能共用同一個Broadcast Doman。
b. Configuring VLANs: VLAN的設定只有兩個步驟,第一步是設定VLAN名稱:
Switch(config)# vlan 10
Switch(config-vlan)# name Sales
Switch(config)# vlan 20
Switch(config-vlan)# name Marketing
Switch(config)# show vlan brief
第二步是把VLAN與Port綁在一起:
Switch(config)# interface range fastEthernet 0/1 - 24
Switch(config-if-range)# switchport access vlan 10
Switch(config-if-range)# exit
Switch(config)# interface range fastEthernet 0/25 - 48
Switch(config-if-range)# switchport access vlan 20
c. Configuring VLAN Trunks:
VLAN Trunk的目的是讓Layer 2 Swith之間的VLAN可以溝通,設定也很簡單,指定封裝方式與trunk的模式就可以了,封裝方式可以設定為802.1Q或是ISL,因為802.1Q較通用,通常設定802.1Q:
Switch(config)#interface fa0/1
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#show interface trunk
d. Implementing Inter-VLAN Routing
I. Individaul Router Links: 直接用Router連接的方式,需要每一個VLAN都接一條線到Router的一個介面,Switch上的設定只要確定每個port設定為access,而router則是介面為該VLAN的gateway,Switch的設定:
Switch(config)#interface fa0/1
Switch(Config-if)#switchport access vlan 10
Router的設定:
Router(config)#interface fa 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
II. VLAN Trunked Router Link: 使接線更簡單的方式,就是所有的VLAN都Trunk在同一條線上,就是傳說中的”Router on a stick”,在Switch上的設定:
Switch(config)#interface fa0/2
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan 10,20
Router的設定:
Router(config)#int fa0/0.1
Router(config-subif)#encapsulation dot1Q 10
Router(config-subif)#ip address 192.168.10.1 255.255.255.0
III. Layer 3 Switching:
L3 Switch的概念就是把L2 Switch與Router以Trunk的方式連線後放到同一台設備內,而在L3 Switch扮演Router角色的是一顆ASIC(Application-Specific Integrated Circuits)晶片,這樣做一個很大的好處是管理者不用擔心trunk的數量。
預設L3 Switch是沒有啟動的,只需下達ip routing指令即可啟動它:
L3-Switch(config)#ip routing
L3-Switch(config)#interface vlan 10
L3-Switch(config-if)#ip address 192.168.10.1 255.255.255.0
L3-Switch(config-if)#no shutdown
e. VLAN Trunking Protocol
VLAN Trunking Protocol簡稱VTP,目的是用來讓每台維護自已VLAN資訊的Switch能夠相互的溝通、簡少維護的困難。
I. VTP Mode: VTP中定義三種模式-Server,Client,Transparent,Server可以在trunk連線裡進行管理刪除、新增、與修改;Client簡單的把Server設定copy過來;Transparent只管理自已但不傳送任何資訊給其它switch。
II. VTP Revision Numbers: VTP利用revision號碼來管理VTP資訊傳送狀態,號碼愈高代表愈新。
III. Configuring VTP: VTP的設定如下 -
Switch(config)#vtp mode server
Switch(config)#vtp domain CCNAVoice
Switch(config)#vtp version 2
Switch(config)#vtp password 1234
f. Configuring Voice VLANs: 在Cisco的Voice VLAN是需要trunk的,原因是一台IP Phone會有兩個介面,一個接到Switch做語音傳輸、一個接到PC做資料傳輸,所以Switch上的Port要同時設定Data與Voic VLAN,雖然是trunk但設定上確不用下trunk指令,原因是Switch與IP Phone並非完全是802.1Q,在Switch與IP phone之間是先用CDP溝通來佈建quasi-trunk,在這個port上只能跑兩個VLAN(Voice,Data),設定上如下:
Switch(config)#vlan 100
Switch(config-vlan)#name Voice
Switch(config-vlan)#end
Switch(config)#interface fa0/5
Switch(config-if)#switchport voice vlan 100
Switch(config-if)#switchport access vlan 10
3. Quality of Service (QoS)
談到網路latency,代表的是Delay與Jitter。即使再快的網路都會擁有的Delay值稱為Fixed delay,在QoS裡面能夠改善的是Variable Delay值,透過修改在Bottleneck上queueing的封包順序來改善Time sessitive封包的Variable Delay值; Jitter指的是兩個連續封包抵達目的地時間差,第一個封包與第二個封包時間差30ms,Jitter值就為30ms。
另一個在QoS會碰到的問題就是Packet loss的問題,這個狀況發生在Bottlenek上Que的封包超過該設備的暫存空間時就會掉包,透過QoS可以使用掉的包不是那麼重要的封包。
a. Traffic Classification: 最簡單最快的方法就是利用Voice VLAN,只要是該VLAN的封包就擁有優先權。
b. Traffic Marking: Cisco的IP Phone會將封包加上等級分數,分數愈高優先權愈高,如果沒有設定即為0 。在Layer 2 Switch會用Class of Service(CoS)來進行flagging,在Layer2或Layer3會用Type of Service(ToS)進行Flagging。在0到7的分數裡,預設Voice的分數為5。
c. Traffic Queuing: 對要通過介面的封包進行排序即為Queuing,預設會採用一種不錯的排序方式,稱為Low Latency Queuing(LLQ)。LLQ透過Trust boundariew與Auto-Qos完成:
I. Identifying QoS Trust Boundaries:信任邊界在定義要信任它送出QoS的端點位置,所以一定是在最接近終端的Switch上去定義哪一個port收到QoS封包時要信任。大部份會信任IP Phone,但不信任IP Phone之後所接的PC。
II. Auto-QoS Implementation Options:在佈建Auto-QoS時有三個參數,”Cisco-phone”用來定義所接的設備為Cisco電話,”cisco-softphone”用來定義所接設備為PC上安裝softphoe,”trust”即是信任所有CoS/ToS資訊,設定如下:
Switch(Config)#interface fastEthernet 0/5
Switch(Config-if)#auto qos voip cisco-phone
4. Efficiency Link Techniques
除了用QoS改變連線品質,還可用壓縮與LFI來做加快連線效率:
a. Compression Techniques 壓縮的技術有很多,較常見的就是利用codec的壓縮,再來就是用cRTP來壓縮Header,設定方式如下:
Router(config)#interface serial 1/0
Router(config-if)#encapsulation ppp
Router(config)#ip add 10.1.1.1 255.255.255.252
Router(config)#ip header-compression ietf-format
再利用show看狀況
Router(config)#show ip rtp header-compression
b. Link Fragmentation Interleaving(LFI)
這是利用ppp multilink線路的技術,把大的封包拆成更小的資料封包來傳輸,減少delay與jitter,啟用指令為ppp multilink。
5. VoIP Network Infrastructure Services
a. Configuring DHCP for Voice Functionality:
在Router上設定提供DHCP的方式:
Router(config)#service dhcp
Routerconfig)#ip dhcp excluded-address 192.168.100.1 192.168.100.20
Router(config)#ip dhcp pool voip-pool
Router(dhcp-config)#network 192.168.100.0 255.255.255.0
Router(dhcp-config)#default router 192.168.100.1
Router(dhcp-config)#domain name ccnavoice.com
Router(dhcp-config)#dns-server 192.168.10.5
Router(dhcp-config)#option 150 ip 192.168.100.10
Router(dhcp-config)#lease 0 6 0
檢查設定狀況:
Router#show ip dhcp binding 192.168.1.101
Router#show ip dhcp conflict
b. Configuring the Network Time Protocol
Router(config)#clock timezone TAIPEI +8
Router(config)#ntp server 192.5.41.41
Router#show ntp associations

五、 CUCM Express Installation and Basic Configuration:
1. CUCM Express Licensing
CUCMExpress需要買三個License,一個是IOS for Voice;一個是CUCM Express Future,可指定25~250人;一個是Cisco Phone User License。也可以買ISR的bundle版,把IOS for Voice與CUCM Express Future綁在一起。
2. Voice IOS and CUCM Express Software Installation
先把IOS有Voice Service的版本抓下來,放在IP為192.168.1.11的tftp Server上,upload上去router:
Router#copy tftp: flash:
(開始run對話…上傳)
然後,再把CUCM Express軟體放到tftp Server上,再upload上去並解壓縮:
Router#archive tar /xtract tftp://192.168.1.11/cme-full-4.3.0.0.tar flash:
再用dir flash: 確認一下。
3. Initial CUCM Express Configuration
a. Configuring CUCM Express as a TFTP Server
TFTP server可以是任一台伺服器,在小型環境裡,會用CUCM Express這台Router來當作TFTP Server,在Voice裡面,TFTP主要的目的就是放IP Phone的firmware與config files,可以在flash:/phone/裡面看到有提供的IP Phone firmware,只是Cisco的抓檔機制沒做好,要手動設定Alias好讓IP Phone可以抓到深層目錄下的firmware:
Router(config)#tftp-server flash:/phoe/7945-7965/apps45.8-3-2-17.sbn alias apps45.803-2-27.sbn
然後一樣的動作把目錄內的alias給設好,就完成tftp的動作。
b. Configuring the Mandatory CUCM Express System Settings
CUCM Express的系統設定檔需提供四個設定資訊:
I. Source CUCM Express IP Address:
定義Source IP Address目的是讓IP Phone了解Call Process要去找哪一台主機溝通,設定方法如下:
Router(config)#telephony-service
Router(config-telephony)#ip source-address 192.168.1.1
II. Max Ephones and DNs:
Ephones代表的是一台實體IP Phone,而Ephone-DNs代表的是實體電話上的分機。預設上的設定都為0,目的是為了不佔用記憶體,所以在設定上不要設定過多,每一台都會佔用記憶體,設定方式:
Router(config)#telephony-service
Router(config-telephony)#max-ephones 8
Router(config-telephony)#max-dn 20
III. Identify and Set Firmware Load Files:
IP Phone透過CDP為CUCM Express溝通時會帶來一個資訊,它是什麼型號的設備,我們需要定好什麼型號的設備可以抓什麼樣的設定檔:
Router(config)#telephony-service
Router(config-telephony)#load 7945 SCCP45.8-3-3S.loads
這就是告訴型號為7945的IP Phone要來抓SCCP45.8-3-3S.loads的設定檔。
IV. Generate and Serve Default Phone Configuration Files:
預設的Phone Configuration file會有所有Phone通用的設定。每次當Phone的設定檔有更新時會自動更新到每台電話上,設定方式如下:
Router(config-telephony)#create cnf-files
c. Configuring Ephone and Ephone-DNs
透過Ephone與Ephone-DN是可以各別設定電話設定的方式。
I. Configuring an Ephone-Director Number
Ephone-DN就是網路電話的分機,設定上先設定Ephone的標籤,進入Ephonedn設定模式後再指定分機號碼:
Router(config)#ephone-dn 1
Router(config-ephone-dn)#number 4001
II. Configuring an Ephone
Ephone代表的是每一台實體的話機,透過在Ephone上設定MAC可以方便該實體電話與設定檔在網路上的變更與移動,網路電話的MAC可以在幾個地方看到:盒子上、電話背面、電話設定畫面、在Switch上show cdp,設定如下:
Router(config)#ephone 1
Router(config-ephone)#mac-address 0014.1c4d.2395
Router(config-ephone)#button 1:1
上面的button後第一個數字代表的是該電話上的第幾個分機鍵;冒號代表的是標準鈴聲;最後一個數字是代表分機的標籤,所以上面的意思是第一個分機鍵代表分機1使用標準鈴聲。
d. Making Your First Call Powered by CUCM Express
I. Restart
使用Restart會更新三個資訊:DNs, phone buttons, speed dial,全部restart:
Router(config)#telephony-service
Router(config-telepony)#restart all
只重開某台話機:
Router(config)#ephone 1
Router(config-ephone)#restart
II. Reset
使用reset會使全部資訊重新更新,如:Date/Time, Phone Firmware, CUCME source IP address, TFTP Download path, Voice mail access number。全部更新方式:
Router(config)#telephony-service
Router(config-telephony)#reset all
只更新某台話機:
Router(config)#ephone 1
Router(config-ephone)#reset
4. Basic Configuration Using the Telephony Service Setup Script
除了手動設定,也可以用內鍵的精靈來設定:
Router(config)#telephony-service setup
再用幾個常用的show:
Router#show telephony-service
Router#show telephony-service ephone
5. Basic Configuration Using the GUI
a. Enabling the GUI interface
預設GUI是關閉的,設定方式如下:
I. Enabling the HTTP(S) Server Process
Router(config)#ip http server
Router(config)#ip http secure-server
II. Setting the Root Web Directory
把整個flash的目錄掛上去的方法如下:
Router(config)#ip http path flash:/
如果是掛flah下的gui目錄,可以用:
Router(config)#ip http path flash:/gui
III. Enabling Local Web Authentication
最簡單的驗證方式就是指定本機,方法如下:
Router(config)#ip http authentication local
IV. Creating a CUCM Express Administrator Account
有了驗證方式之後,剩下的就是帳號密碼:
Router(config)#telephony-service
Router(config-telephony)#web admin system name WebAdmin secret 0 cisco
接下來就可以透過URL登入:
https:///ccme.html
預設在GUI是不能編輯DN的,要從CLI啟動:
Router(config)#telephony-service
Router(config-telephony)#dn-webedit
6. Using CUCM Express Verification and Troubleshooting Commands
a. Troubleshooting cisco phone registrations
話機註冊問題可以debug三個方向:TFTP、DHCP、registartion:
話機開機後第一件事就是找DHCP主機,確認DHCP的發送可以打這個指令:
Router#debug ip dhcp server events
另外也可以直接在話機上看是否有要到IP資訊。
當IP都有取得後,接下來要確認的就是TFTP的問題,指令如下:
Router#debug tftp events
另外也可能是Alias的名稱沒有binding好,可以show binding的狀況:
Router#show telephony-service tftp-bingings
最後…就是把整個process的流程都show出來:
Router#debug ephone register
b. Determining the State of an Ephone
看話機與分機的狀態,只需要打一個指令:
Router#show ephone
在顯示的資訊裡,ephone要注意的資訊是有沒有DECASED的狀態,DECASED代表的是該話機已經超過6個keepalive 的message timeout了。
而在分機的部份可以看出各分機的狀態,如:DOWN(沒有註冊), IDLE(可以接話與撥話), SEIZE(話機拿起,但沒有撥話), RINGING(正在撥給其它分機), ALERTING(別的分機正在撥給它), CONNECTED(通話中)。

六、 CUCM Express Advanced Configuration:
1. Configuring Key System and PBX DNs and Ephones
a. Configuring Key System
Key System的特色是同一個電話線,可以讓所有電話都能響,設定方式就是同一組DN設定到每一台話機上:
Router(config)#ephone-dn 1
Router(config-dn)#number 5555552121
Router(config-dn)#exit
Router(config)#ephone 1
Router(config-ephone)#button 1:1
Router(config)#ephone 2
Router(config-ephone)#button 1:1
因為是share line,所以每一隻都會響,如果要讓某一支先響的話,可以把同一個電話號碼設在不同的DN,再用Preference數字設定優先順序,Preference可以從0~9,數字愈小優先權愈高:
Router(config)#ephone-dn 1
Router(config-ephone-dn)#number 555555777
Router(config-ephone-dn)#preference 0
Router(config-ephone-dn)#ephone-dn 2
Router(config-ephone-dn)# number 555555777
Router(config-ephone-dn)#preference 1
Router(config-ephone-dn)#exit
Router(config)#ephone 1
Router(config-ephone)#button 1:1
Router(config-ephone)#ephone 2
Router(config-ephone)#button 1:2
如果沒有設定Preference或兩個的值是一樣的話,電話會以ronund-robin的方式輪循。
雖然設好preference,還是會有一個狀況,當Preference 1佔線時,下一通電話不會自動切到第二隻電話去,因為另一支的Preference比較低,所以一個指令叫”no huntstop”即是用來當佔線時,去響Preference較低的分機。設法只要在DN裡面設定:
Router(config-ephone-dn)#no huntstop
上面是單一電話線路(line)為例,代表同時只能有一通電話在線上,在分機上還可設定雙線(Dual-line)與八線(octo-line),如此就可以同時接其它電話或是Hold住電話,如下:
Router(config)#ephone-dn 1 dual-line

Router(config)#ephone-dn 1 octo-line
當我們在設定上設為雙線,且設定no huntstop,這時當第一通電話佔線時,第二通電話還是會進入第一線,因為是Dual-line,變通的方法就是用指令”huntstop channel”來停止同一個channel內繼續hunting,設法如下:
Router(config)#ephone-dn 1 dual-line
Router(config-ephone-dn)#number 55555577
Router(config-ephone-dn)#preference 0
Router(config-ephone-dn)#no huntstop
Router(config-ephone-dn)#huntstop channel
b. Configuring PBX System
PBX與KeySystem的差別就是用4~5碼的分機碼取代全部的電話號碼,且通常都是設定Daul-line,設定如下:
Router(config)#ephone-dn 1 dual-line
Router(config-ephone-dn)#number 8001
Router(config-ephone-dn)#ephone-dn 2 dual-line
Router(config-ephone-dn)#number 8002
c. Configuring Ephone Button Options
Ephone的按鍵可以設定的選項如下:
: - 冒號代表標準鈴聲
m – 代表monitor,可以監看某支分析電話使用狀況
w – 代表watch,是監看全部分機的使用狀況
o – 代表overlay,在一個南鍵設定多個分機號碼
c – 代表overlay with call waiting,多佔線時可以提供hold功能
x – 代表expansion,線路滿時延伸到下一個分機
如:
Router(config-ephone)# button 1:1 2m1 3w1 4o1,2,3,4 5c5,1 6x5
2. Configuring Telephony Service Features
a. User locale and network locale
預設CUCM Express是使用英文來顯示,所以話機上看到的是英文,要改變成當地語言的話,就需要下達這個指令”user-locale”,如:
Router(config)#telephony-service
Router(config-telephony)#user-locale TW
Router(config-ephone)#reset
除了顯示,不同國家會有不同國家的通話訊號標準,就需要使用network-locale來設定:
Router(config)#telephony-service
Router(config-telephony)#network-locale TW
Router(config-telephony)#creat cnf-files
Router(config-telephony)#restart all
b. Date and Time format
Router(config)#telephony-service
Router(config-telephony)#date-format dd-mm-yy

c. System message
自訂顯示在話機上的字樣不得超過34個字元:
Router(config)#telephony-service
Router(config-telephony)#system message TESTMESSAGE
設定完不需要重開,因為是透過keepalive封包更新的。
d. Local Directory
Local Directory就像是電話簿一樣。
I. Caller-ID Ephone-DN Entries
在分機加入name就會自動建立本機電話簿(local directory):
Router(config)#ephone-dn 1 dual-line
Router(config-ephone-dn)#number 4001
Router(config-ephone-dn)#name John Smith
如此在自已的電話就會有Name,在電話簿裡也會有。
II. Manual Local Director Entries and System-Level Speed Dial
另外也可以手動加入非分機號碼的電話到電話簿裡面:
Router(config)#telephony-service
Router(config-telephony)#directory entry 1 3125577 name Branch Chicago
最多只能加到100筆。
3. Configuring Voice Productivity Features
語音電話特有功能包括:
a. Call Forwarding
轉接分為動態與靜態,動態就是全部電話都轉,設定方式從話機上按下”CFwdALL”,接著再按下要轉的電話號碼即可; 而靜態轉接是在某種條件成立下才轉接,如:
Router(config)#ephone-dn 4
Router(config-ephone-dn)#call-forward noan 201 timeout 30
靜態Call forward有幾個參數:
All: 全部轉
Busy: 忙線時才轉
Night-service: 需先訂下night-service的時間,再該時段才會轉
Noan: 超過訂定的時間後還沒接聽才轉
另外還可以透過call-fordward max-length來限制字元的長度,避免電話被轉成長途電話。
b. Call Transfer
雖然forwarding與transfer都翻成轉接,但forwarding是指把某支電話直接對映到某支電話,而transfer是把已接通的電話轉給其它電話,在話機上只需要按下transfer的鍵再按下要轉過去的鍵即可。如果要transfer的號碼不是分機的話需要先設定transfer pattern,如下:
Router(config)#telephony-service
Router(config-telephony)#transfer-pattern 55533231
這樣就可以轉給55533231了,transfer-pattern也可以用wildcard的方式來表示,如:
Router(config-telephony)#transfer-pattern [2-9][0-8].[2-9]…
另外還可以設定轉接模式為blind或是consult::
Router(config)#ephone-dn 1
Router(config-ephone-dn)#transfer-mode blind
Blind就是只轉接,不參與會話;另外還可以設定consult,consult就是轉接過去後還是可以參與通話。
c. Call Pickup
代接可以把別人的電話接過來聽,只要按下按鍵上的代接鍵,再按下代接電話即可,另外也可以設定代接群組來接一群電話:
Router(config)#ephone-dn 10
Router(config-ephone-dn)#pichup-group 5110
Router(config-ephone-dn)#ephone-dn 11
Router(config-ephone-dn)#pichup-group 5110
d. Call Parking
Call Park就是讓撥進來的電話進入待接區,任何電話都可以用按下代接鍵,再按下該號碼來接聽電話,在CUCM Express上設定代接區:
Router(config)#ephone-dn 30
Router(config-ephone-dn)#number 3030
Router(config-ephone-dn)#park-slot
另外park-slot也可透過參數設定timout時間或保留給特定分機使用。
e. Hunt Group
Hunt Group可以讓一群分機共用一個電話號碼,在設定上就是設定群組有哪些?用什麼方式選擇群組乘員?等方式:
Router(config)#ephone-hunt 10 peer
Router(config-ephone-hunt)#pilot 5001
Router(config-ephone-hunt)#list 201 202 203 204
Router(config-ephone-hunt)#hops 3
Router(config-ephone-hunt)#timeout 20
Router(config-ephone-hunt)#final 205
如上就是設定huntgroup tag 10,選乘員方式為peer,而撥進hunt group代表號5001,乘員有201,202,203,204,在廻圈3次後會轉到205,如果還沒有人接再進行一次迴圈。
f. Intercom
Intercom可以用來設定讓兩隻電話快速互通,通常在key-system也有在key-system與 PBX的混合系統中。在設定上最少要有兩支電話,為了避免分機撥錯,會加入英文字母,如:a234,方法如下:
Router(config)#ephone-dn 15
Router(config-ephone-dn)#number A900
Router(config-ephone-dn)#intercom A901
Router(config-ephone-dn)#ephone-dn 16
Router(config-ephone-dn)#number A901
Router(config-ephone-dn)#intercom A900
Router(config-ephone-dn)#exit
Router(config)#ephone 1
Router(config-ephone)#button 2:15
Router(config-ephone)#ephone 2
Router(config-ephone)#button 2:15
如此兩台話機就可以換下第二鍵直接互通了。
g. Paging
較經典的說法叫”傳呼”,也是一種單向的intercom,只要按某一個鍵,就可以直接跟某幾台電話溝通: (通常用UDP 2000接收multicast)
Router(config)#ephone-dn 1
Router(config-ephone-dn)#number 5555
Router(config-ephone-dn)#paging ip 230.1.1.100 port 2000
Router(config-ephone-dn)#exit
Router(config)#ephone 1
Router(config-ephone)#paging-dn 1 multicast
Router(config)#ephone 2
Router(config-ephone)#paging-dn 1 multicast
Router(config)#ephone 3
Router(config-ephone)#paging-dn 1 multicast
這樣只要打5555,ephone1~3就會全動撥通了。
4. Configuring Voice Access and Accounting Features on the CUCM Express
a. Call blocking
Call block目的要阻止一些電話的撥打,如限制長途電話或下班時間的撥打,下面是一些限制方式:
I. Block by date and time
當使用者在某個特定時間撥打某些號碼時要block:
Router(config)#telephony-service
Router(config-telephony)#after-hours day Fri 18:00 23:59
Router(config-telephony)#after-hours day Sat 00:00 23:59
Router(config-telephony)#after-hours block pattern 1 91……
II. Global Override Code
當使用者撥打某個號碼後就有特權啦:
Router(config)#telephony-service
Router(config-telephony)#after-hours override-code 1234
使用者在輸入override-code之後還要再輸入PIN值之後就能任意撥打電話了。
III. Override PIN per Ephone
可在各別分機上設定PIN(Personal Identification Number)碼:
Router(config)#ephone 1
Router(config-ephone)#pin 4321
這樣就設好PIN碼了。
IV. Auto Exempt Ephone
如果要不輸入override-code與PIN碼,如老闆的電話,就是直接設定exempt:
Router(config)#ephone 1
Router(config-ephone)#after-hour exempt
V. Global Call Block
一個比override-code與exmpt還要大的設定”7-24”,沒有任何例外:
Router(config)#telephony-service
Router(config-telephony)#after-hours block pattern 2 91900 7-24
只要在最後加上7-27即沒有任何例外。
b. Call detail records(CDR)
I. CDR to the internal buffer memory
設定本機進行logging有兩個一部份第一個是開啟log功能:
Router(config)#logging buffered 32768
上面設定logging的buffer是32k,預設只有4k。
第二個是設定local database的大小:
Router(config)#dial-control-mid max size 400
Router(config)#dial-control-mid retain-timer 4320
上面設定最多記錄400筆,保留時間4320分鐘。
可以透過”show loggin”確認狀況
II. CDR to an External Syslog Server
指定外部的syslog server主機比較簡單,指定ip就可以了:
Router(config)#logging 172.168.8.2
5. Configuring Music on Hold (MoH)
為了怕等電話的人無聊,而產生了Music on Hold,讓你在等電話的時候還可以聽音樂,預設Cisco使用G.711的格式,如果要使用G.729會消秏DSP的資源,音質也可能低一些。如果要放自已的音樂,Cisco有一些音樂格式的限制:只能是.au或.wav的格式、G.711 codec、8-bit rate at 8KHz。如果是MP3也可以用autio-edting應用程式編輯。
MoH可以透過unicat或是multicast,使用unicast會與每一通電話建立RST通訊,較吃資源,如果用multicast會使用Server像是電台一樣,需要的人來收聽,較省資源。Unicast MoH設定方式如下:
Router(config)#telephony-service
Router(config-telephony)#moh mymusic.waf
如果要設定multicast,雖然multicast的範圍在224.0.0.0到239.255.255.255之間,但MoH的功能不能在224.x.x.x之內使用,較合適的範圍是239.x.x.x,設定上預設使用udp 2000,如下:
Router(config)#telephony-service
Router(config-telephony)#moh mymusic.waf
Router(config-telephony)#multicast moh 239.23.4.10 port 2000
a. Using the Multicast MoH Route Command
如果不特別指定route,預設是使用該CUCM Express的IP,就算使用route也只能設定其它CUCM Express的IP或是loopback介面,設定如下:
Router(config)#telephony-service
Router(config-telephony)#ip source-address 10.1.1.1
Router(config-telephony)#moh mymusic.waf
Router(config-telephony)#multicast moh 239.23.4.10 port 2000 route 192.168.10.100
雖然上面的CUCM Express的IP是10.1.1.1,但指定route之後,MoH會改到192.168.10.100的loopback介面去。
b. Disabling Multicast MoH on a Per-Ephone Basis
如果網路中某些網段可以用multicast某些不行,可以關掉不行的網路電話,如下:
Router(config)#ephone 12
Router(config-ephone)#no multicast-moh

七、 Configuring Voice Gateway for POTS and VOIP
1. Configuring Analog FXS and FXO Ports with Basic Dial Peers
當把類比介面卡插入設備之後,就會自動抓到該介面,可以用指令確認狀態:
Router#show voice port summary
a. FXS Ports
I. Configuration FXS Ports
設定FXS Ports有兩個可以設定,一個是station號碼與名稱:
Router(config)#voice-port 0/0/0
Router(config-voiceport)#caller-id enable
Router(config-voiceport)#station-id number 6001
Router(config-voiceport)#station-id name Jordan
另一個是當地的Signaling訊號與signaling頻率:
Router(config)#voice-port 0/0/0
Router(config-voiceport)#cptone TW
Router(config-voiceport)#ring frequency 50
預設的頻率為25Hz,需要依當地PSTN而更改設定。
II. FXS Port Configuration and Status
可以利用show指令來看:
Router#show voice port 0/0/0
重點在注意Operation State的狀態,如果是up代表話筒拿起來,是off-hook狀態,如果是Dormant,睡眠代表是on-hook狀態。
III. POTS Dial Peers for the FXS Ports
POTS就是純傳統電話服務(Plain Old Telephone Service),當我們在VG上設定POTS時,就是指某分機號碼與某個Port綁在一起:
Router(config)#dial-peer voice 6001 pots
Router(config-dial-peer)#destination-pattern 6001
Router(config-dial-peer)#port 0/0/0
接下來只要撥打6001,VG就會轉到port 0/0/0,就可連到該FXS port的設備了。
IV. FXS PLAR Configuration
PLAR全名為PrivateLine Automatic Ringdown,簡單的話就是拿起電話會自動撥通到某支電話。通常的應用如電梯中只要一拿起電話就可以直接撥到警衛室一樣,設定方法如下:
Router(config)#voice-port 0/0/0
Router(config-voiceport)#connection plar 2001
指定port 0/0/0為PLAR,會自動撥向分機2001,接下來再設定2001在哪個Port:
Router(config)#dial-peer voice 2001 pots
Router(config-dial-peer)#destination-pattern 2001
Router(config-dial-peer)#port 0/0/1
這樣只要拿起port 0/0/0的話筒就會透過分機2001,自動撥給port 0/0/1的電話。
b. FXO Ports
I. Configuring FXO Ports
FXO的設定與FXS幾乎一樣,只是因為FXO可以接到Service Provider所以會多一些設定,如下:
Router(config)#voice-port 0/0/0
Router(config-voiceport)#station-id number 55557727
Router(config-voiceport)#station-id name Jordan
Router(config-voiceport)#signal groundStart
另外還可以設定傳統電話的撥打方式,預設為DTMF:
Router(config-voiceport)# dial-type dtmf (pulse)
還可以設定要響幾聲之後,voice port才能接聽:
Router(config)#voice-port 0/1/0
Router(config-voiceport)#ring number 3
例如一條電話線進來同時接到傳統電話與VG,VG會等傳統電話響三聲之後還沒接,就會由VG的port開始響。
II. FXO Port Configuration and Status
與FXS一樣,透過show voice port 去看資訊
III. POTS Dial Peers for the FXO Ports
FXO的POTS Dial Peers與FXS不同的是因為可能連接到PSTN或PBX,所以會有完整的電話號碼,在VG上就是設定什麼號碼可以往這個port送:
Router(config)#dial-peer voice 2000 pots
Router(config-dial-peer)#destination-pattern 2…
Router(config-dial-peer)#no digit-strip
Router(config-dial-peer)#port 0/1/0
上面的no digit-strip就是完整的把輸入字元傳給Dial peer設備。
IV. FXO PLAR Configuration
因為VG上的FXO介面通常也是PSTN電話號碼的終點,轉過去之後就是分機,所以PLAR的應用很常見在VG上面,如下:
Router(config)#voice-port 0/0/0
Router(config-voiceport)#signal groundStart
Router(config-voiceport)#connection plar 1000
只要是撥進voicepirt 0/0/0的就會自動轉到分機1000。
V. FXO CAMA Configuration
CAMA為緊急電話使用,只需撥打如110,就可以直通向警察局,設法如下:
Router(config)#voice-port 0/1/0
Router(config-voiceport)#signal cama KP-0-NPA-NXX-XXX-ST
Router(config)#dial-peer voice 110 pots
Router(config-dial-peer)#destination-pattern 110
Router(config-dial-peer)#no digit-strip
Router(config-dial-peer)#port 0/1/0
這樣打110就會透過port 0/1/0出去。
2. Configuring Digital T1 Ports
a. T1 CASPorts
T1 Port是很常見的,因為可以將許多電話線放在同一條線內。
I. Configuring T1 CAS Ports
T1CAS利用Trunk可以同時有24通電話在一條實體線路上,在設定T1 CAS上可以設定如下:
Router(config)#controller t1 0/1/0
Router(config-controller)#framing esf
設定Fram方式,可以選擇SF(Super Fram)或ESF(Extended Super Fram),通常是用ESF。而Linecode的種類也是由ISP提供,可以設定如下:
Router(config-controller)#linecode b8zs
另外Clock需選擇由ISP提供或是VG提供:
Router(config-controller)#clock source line
設定line就是由T1線路的對方提供,或是設定internal,即為由VG自已提供clock。
其它,還可以深入到每個channel各別設定:
Router(config-controller)#ds0-group 0 timeslots 1-12 type fx0-loop-start
Router(config-controller)#ds0-group 0 timeslots 13-24 type e&m-immediate-start
如上即是把channel 1~12用一種type,而13~24用另一種type。
II. Configuring POTS Dial Peers for T1 CAS Ports
在VG上,雖然T1是數位介面,但是還是把它當POTS來看,原因是因為實際的傳輸並沒有使用到任何的IP,所以設定看起來跟FXO是一樣的,差別在於T1 Port可以同時有24通電話。
Router(config)#dial-peer voice 91 pots
Router(config-dial-peer)#destination-pattern 91……..
Router(config-dial-peer)#port 0/1/0:D
b. T1 PRI Ports
I. Configuring T1 PRI Ports
T1 PRI與T1 CAS的設定很像,差別在於T1 PRI是用Q.931 ISDN訊號,所以要先指定ISDN的switch-type:
Router(config)#isdn switch-type primary-ni
Router(config)#controller t1 0/1/0
再來就是一樣,可以設定framing type ,linecode,clock source,
而群組可以設定Pri-group:
Router(config-controller)#pri-group timeslots 1-24
由於使用Q.931 ISDN,所以T1 PRI可以在off-network時用DID互相撥打。另一點要記住的是,訊號的傳送是透過channel 24,也就是timeslot 23,如 0/1/0:23。
II. Configuring POTS Dial Peers for T1 PRI Ports
TI PRI與TI CAS在POTS的設定差異只在於PRI是用timeslot 23 做signaling,而CAS是指全部部的D channel做signaline:
Router(config)#dial-peer voice 91 pots
Router(config-dial-peer)#destination-pattern 91……..
Router(config-dial-peer)#port 0/1/0:23
3. Configuring VoIP Dial Peers over WAN Connections
要讓電話通過WAN的連線,就是設定”VoIP Dial Peer”來達成。設定時要設三件事:Destination pattern - 撥什麼數字時要把語音封包傳到對點去、Session Target – 當符合destination pattern之後就丟到目的地IP、Codec Type – 指定與對點VG用什麼codec溝通。
Router(config)#dial-peer voice 6000 voip
Router(config-dial-peer)#destination-pattern 5…
Router(config-dial-peer)#no digit-strip
Router(config-dial-peer)#session target ipv4:172.16.30.1
Router(config-dial-peer)#codec g729br8
另外,session target也可以用Domain的方式來表式,如下:
Router(config-dial-peer)#session target dns:
4. Dial Plan Strategy
設計分機號碼與實體電話數量的對應,可以善用Extension Blocks來做,
比如分機三碼的情況有150個電話,可用1xx與2xx,5個電話可以用10x,11x來代表,重點是彈性使用號碼的區塊切割。
5. Understanding the Dial-Peer Decision-Making Process
a. The Selection Process for Outbound Dial Peers
Outbound比較簡單,VG會先比對destination-pattern,只要相符就會送向IP session-target或是port number,在比對destination-pattern時有兩個原則:第一個是router永遠選擇最明確的destination pattern、第二個是從數字左邊到右邊只要一發現符合的pattern就馬上route這通電話。
b. Selection Process for Inbound Dial Peers
Inbound的通話會帶來Call-setup資訊,透過這些資訊可以match到Dial-Peer的attribute,以利與某個call-leg結合。
I. Inbound Dial-Peer Call-Setup Information
會帶進來的Call-setup資訊有:”Dialed Number Identification Service”簡稱DNIS,DNIS就是目的地的電話號碼或分機,在類比電話上沒有DNIS的資訊。
另一個資訊為”Automatic Number Identification”,簡稱ANI,是來源電話的號碼或分機(caller-ID)。
最後一個資訊為”Inbound Port”,即為POTS連進來的Port。
II. Inbound Dial-Peer Configuration Attributes
在到下一個call-leg之前,一定要match下面其中一個attribute才可以:
“imcoming called-number”等於DNIS。
“answer-address”等於ANI。
“destination-pattern”等於ANI。
“port”等於Inbound Port。
III. When All Else Fails: Dial-Peers 0
如果上面四個項目都沒有match,那會自動match預設的attribute”Dial-Peers0”或簡稱為pid 0,Dial-Peers0有下面特性:
。不支援Resource Reservaton Protocol
。使用Fax-rate voice設定
。不使用DTMF Relay
。不支援DID
。不支援Interactive Voice Response(IVR)
6. Dial-Peer Digit Manipulation
撥號碼的調整變更,目的是讓電話可以通向目的,下面是幾個可以調整號碼的方法:
a. POTS Digit Manipulation Using Stripped Digits
預設Strip是打開的,比如destination-pattern為555….。當撥打5552211之後,555自動會被strip掉,只將2211從指定的port傳出去。如果希望將所有號碼轉過去的話,要使用no digit-strip,才能將號碼全部轉出去,如下:
Router(config)#dial-peer voice 10 pots
Router(config-dial-peer)#destination-pattern 555….
Router(config-dial-peer)#no digit-strip
Router(config-dial-peer)#port 1/0:1
b. POTS Digit Manipulation Using Prefixes
Prefix就是在電話號碼前加東西,比如撥打外線前要先按9,設法如下:
Router(config)#dial-peer voice 1 pots
Router(config-dial-peer)#destination-pattern 131255….
Router(config-dial-peer)#no digit-strip
Router(config-dial-peer)#prefix 9,
Router(config-dial-peer)#port 1/1:1
上面在9後面有一個逗號,代表的是空一秒鐘,讓PSTN認為9就是完整分開的一個數字。
c. POTS Digit Manipulation Using Forward-Digits
Forward-digits可以用來把從右邊數來的多少個數字傳出去,比如destination-pattern為91312…….,我們想把312之後共10碼傳出去,可以用:
Router(config)#dial-peer voice 1 pots
Router(config-dial-peer)#destination-pattern 91312…….
Router(config-dial-peer)#fordward-digits 10
Router(config-dial-peer)#port 1/1:1
d. POTS and VoIP Digit Manipulation Using Number Expansion
Number Expansion在Global Configuration下設定,可以同時用來設定POTS與VoIP,把任何號碼替換掉。比如我們想讓只撥分機碼,就代表完整的電話號碼:
Router(config)#num-exp 3… 77353…
這想當撥3123之後會轉變成77353123。
e. POTS and VoIP Digit Manipulation Using Translation Profiles
使用Translation Profile就像是ACL一樣,設定好規則,再套用到VG上面,設定上分為三部份,第一個為設定translation-rule,rule的設定格式如下:
Rule <1-15> /match-number-string/ /replacement-number-string/
設定方式如下:
Router(config)#voice translation-rule 1
Router(config-translation-rule)#rule 1 /3111/ /6000/
Router(config-translation-rule)#rule 2 /4111/ /6000/
上面的rule就是當撥3111就會轉成6000,設好rule後第二個設定就是把Rule套用到Profile裡面:
Router(config)#voice translation-profile to_6000
Router(config-translation-profile)#translate called 1
如此就把rule1套進profile to_6000裡面,接下就是最後的設定,把profile套用到dial-peer去:
Router(config)#dial-peer voice 100 pots
Router(config-dial-peer)#translation-profile incoming to_600
這樣就完成translation-profile的套用,可以用test來驗證:
Router#test voice translation-rule 1 3111
用3111來驗證rule1的轉換狀況。
f. Understanding the Digit-Manipulation Hierarchy
在比較複雜的環境會有許多的Digit-Manipulation,那哪一個會先用呢?了解套用順序可以方便設計與trouble shooting:
Num-expdigit-stripvoice-translation profileprefixforward-digits
7. Configuring a Trunk Between Voice Gateways using H.323 and SIP Trunks
a. H.323 Trunking
在VG與VG之間或是VG與Call Manager之間,只要是使用VoIP
Dial-Peer預設都是使用H.323連線,設定如下:
Router(config)#dial-peer voice 500 voip
Router(config-dial-peer)#destination-patter 5…
Router(config-dial-peer)#codec g711ulaw
Router(config-dial-peer)#session target ipv4:10.0.0.2
另外一端再做一樣的設定就建立起H.323的連線了。
b. SIP Trunk
設定為SIP的方式也很簡單,只要將session protocol改為SIP即可:
Router(config)#dial-peer voice 500 voip
Router(config-dial-peer)#destination-patter 5…
Router(config-dial-peer)#session protocol sipv2
Router(config-dial-peer)#codec g711ulaw
Router(config-dial-peer)#session target ipv4:10.0.0.2
記得兩台都要設就搞定了!

八、 Unity Express Installation
1. Installation and Initial Configuration of Unity Express on CUCM Express Routers
在安裝前,可以利用show version看看service engine或integrated-service-engine有沒有啟動,確定有之後再安裝。在安裝時有兩種方式,把IP跟原本Router IP 同網段或是不同網段:
a. Configuring IP Unnumbered to Use Existing IP Network for Unity Express Connectivity
與現有IP同網段的設法:
Router(config)#interface loopback 0
Router(config-if)#ip address 192.168.10.1 255.255.255.0
Router(config)#interface integrated-Service-Engine 0/0
Router(config-if)#ip unnumbered loopback 0
Router(config-if)#service-module ip address 192.168.10.2 255.255.255.0
Router(config-if)#service-module ip default-gateway 192.168.10.1
Router(config-if)#exit
Router(config)#ip route 192.168.10.2 255.255.255.255 integrated-service-engine 0/0
上面就是先指定loopback ip,然在Integrated-Service-Engine上不設定IP(unnumbered)但指定loopback,再在service module上設定Unity的IP,最後再設定一比static route,到Unity Express的流量直接指向Integrated-service-engin。
最後再用show integrated-Service-Engine 0/0確認。
b. Configuring a Separate IP Network for Unity Express Connectivity
如果是不同網段設定比較簡單:
Router(config)#interface integrated-Service-Engine 0/0
Router(config-if)#ip address 172.16.1.1 255.255.255.0
Router(config-if)#service-module ip address 172.16.1.2 255.255.255.0
Router(config-if)#service-module ip default-gateway 172.16.1.1
Router(config-if)#exit
Router(config)#ip route 172.16.1.2 255.255.255.255 integrated-service-engine 0/0
就不需要再設定loopback了。
c. Configuring Dial Peers for Unity Express Functions
設定Unity Express為Dial Peer的方式很簡單,只是多了一些參數要加,如:
Router(config)#dial-peer voice 188 voip
Router(config-dial-peer)#description voice mail
Router(config-dial-peer)#destination-pattern 188
Router(config-dial-peer)#session protocol sipv2
Router(config-dial-peer)#session target ipv4:172.16.1.2
Router(config-dial-peer)#dtmf-relay sip-notify
Router(config-dial-peer)#codec g711ulaw
Router(config-dial-peer)#no vad
上面的設定有幾個說明,使用sipv2是因為Unity Express只支援SIP v2;DTMF-Relay與SIP-notify也是必需的設定,因為包括voice mail、AA與AvT都需透過電話按鍵頻率來與系統互動;而G.711是因為UnityExpress只看的懂G.711,看不懂預設的G.729;no vad 是不要做Voice Activity Detection。
Unity除了Voice mail要設定dial peer,還有Auto attendant(AA)與Administration via telephone(AvT)也需要設定Dial peer,所以通常會設定三個Dial Peer。
d. Configuring MWI Ephone-DNs
MWI為Message Waiting Indicator,就是當有語音電話留言時使用者的電話就會亮燈提示,做法就是加兩個分機,一個是有語音留言時亮燈,一個是讀取完後關燈,設法如下:
Router(config)#ephone-dn 11
Router(config-epone-dn)#number a11….
Router(config-epone-dn)#mwi on
Router(config-epone-dn)#exit
Router(config)#ephone-dn 12
Router(config-epone-dn)#number a12….
Router(config-epone-dn)#mwi off
e. Upgrading Unity Express Software
當設定完成後,我們就可以登入Unity Express的CLI:
Router#service-module integrated-service-Engine 0/0 sesion
UC500-CUE: enable
Password:
UC500-CUE#
登入時的預設密碼是空白。再來從Cisco網站把Unity Express的軟體下載下來放到TFTP Server上,跑下面安裝指令:
UC500-CUE#software install clean url ftp://192.168.1.100/cue-vm.ise.3.0.3.pkg username cisco
上面就是以使用者cisco進行安裝,install clean代表是全新安裝,如果是升級可用install upgrade,一直到出現ui_install即為安裝完畢,再來就是安裝licence,方式如下:
UC500-CUE#software install clean url ftp://192.168.1.100/cue-vm-license_50mbx_cme_ise.3.0.3.pkg username cisco
最後再用show software license確認。
f. Setup Using the Initialization Wizard
軟體裝好後,可以從GUI進行初始化設定,以http登入設定的IP,記得要先把http的服務先打開,再以cisco/cisco登入設定。
2. Restoring Unity Express to Factory Default Settings
設定回原廠預設值的方法如下:
Router#service-module integrated-service-Engine 0/0 sesion
UC500-CUE: enable
Password:
UC500-CUE#offline
UC500-CUE#restore factory default
這個指令跑下去所有資料都會不見,所以記得先備份。

2010年9月28日 星期二

Cisco 阿傻之基本設定(ASA Firewall Basic Config)

基本上阿傻(ASA)的進入非常簡單(總覺得哪裡不對了@@)

最快的方法,就是直接進入法
把自已的電腦設成DHCP,接到Management Port,預設就會抓到一192.168.1.2~192.168.1.254的IP可用,
這時再開啟流覽器,輸入:
https://192.168.1.1
( 預設帳號為空帳號,密碼為 cisco )
就可以開始管理它了。

當然,也可以耍帥,用CLI把基本的設定好之後再進GUI去設定,基本設定如下:

設定管理IP
hostname(config)# ip address ip_address [mask] [standby ip_address]

設定DefaultGateway
hostname(config)# route if_name 0.0.0.0 0.0.0.0 gateway_ip [distance | tunneled]
hostname(config)# route outside 0 0 192.168.1 1

設定Login密碼
hostname(config)# {passwd | password} password

設定Enable密碼
hostname(config)# enable password password

設定DomainName
hostname(config)# domain-name example.com

設定Time
hostname# clock set hh:mm:ss {month day | day month} year

開啟Telnet
hostname(config)# telnet source_IP_address mask source_interface
hostname(config)# telnet timeout minutes
hostname(config)# telnet 192.168.3.0 255.255.255.0 inside
hostname(config)# telnet timeout 30

開啟SSH
hostname(config)# crypto key generate rsa modulus 1024
hostname(config)# write mem
hostname(config)# ssh 192.168.1.2 255.255.255.255 inside
hostname(config)# ssh timeout 30
hostname(config)# aaa authentication enable
hostname(config)# aaa authentication ssh console LOCAL

開啟HTTPS管理介面
hostname(config)# crypto key generate rsa modulus 1024
hostname(config)# write mem
hostname(config)# http server enable
hostname(config)# http 192.168.3.0 255.255.255.0 inside
(Default Account: /cisco)

Monitor
hostname# show curpriv

上Licence
hostname(config)# activation-key key

直接用Web備檔案
https://172.16.6.151/disk0/asa804-k8.bin

用copy 備份
ASA5520# copy flash:asa821-k8.bin tftp://172.16.6.51

恢復原廠預設:
(config)# configure factory-default {ip_address [mask]}

切換到Transparent:
hostname(config)# firewall transparent
hostname(config)# no firewall transparent

設定Interface:
hostname(config)# interface physical_interface slot/port
(Interface: gigabitethernet,tengigabitethernet,management)
hostname(config-if)#
hostname(config-if)# speed {auto | 10 | 100 | 1000 | nonegotiate}
hostname(config-if)# duplex {auto | full | half}
hostname(config-if)# no shutdown

設定Redundant Interface: (兩個介面必需一樣)
hostname(config)# interface redundant 1
hostname(config-if)# member-interface gigabitethernet 3/0
hostname(config-if)# member-interface gigabitethernet 3/1
hostname# show interface redundant number detail | grep Member

2010年9月3日 星期五

Cisco 胖AP 的基本設定 (Autonomous AP Basic Config)

雖然Cisco的胖AP比市售的胖AP貴的許多,但市場上還是可以看見很多將Cisco的Thin AP更改為胖AP單用的狀況,原因是因為:

不想常去"重開就會好"

特別是需要一直放著提供無線服務的環境,不得不佩服它的技術。
下面針對胖AP的CLI基本設定做介紹(第一次有GUI的速度慢到讓我想學CLI),
幫助大家快速設定這個胖子...(笑)

Part 1. 快速讓胖AP可用: 

Step.1 設定802.11的無線SSID:
ap#config t 
ap(config)#dot11 ssid MySSID  
ap(config-ssid)#authentication open 
ap(config-ssid)#guest-mode 
設定的同時,也必需指令驗證方式,我們先用開放驗證(open)方式讓它通就好。而guest-mode是讓SSID進行廣播,可以方便初始化的連線,為了安全可以不用設定(Client端需要指定好SSID才能連線)

Step.2 指定無線訊號的SSID與開啟無線通訊:
下面是一顆1131AG的AP,所以有兩個協定802.11a與802.11g,分別在dot11Radio 0與dot11Radio 1,預設是關閉的,需要進去介面打開:

ap(config)#int dot11Radio 0 
ap(config-if)#ssid MySSID 
ap(config-if)#no shutdown
ap(config)#int dot11Radio 1 
ap(config-if)#ssid MySSID
ap(config-if)#no shutdown
Step.3 設定BVI:
如果是DHCP的環境是可以略過這個步驟,因為預設會自已抓好,Fat AP是靠BVI(Bridge Virtual Interface)來讓實體網路與無線網路通訊,所以必需設定一個實體環境的IP給它:  
ap(config-if)#int bvi 1 
ap(config-if)#ip addr dhcp 
或是以手動指定IP:
ap(config-if)#int bvi 1 
ap(config-if)#ip addr 192.168.1.3 255.255.255.0
搞定!!把自已的電腦利用無線連看看!!

Part 2. 常用基本設定: 

ARP Cache:

AP的運作就像Hub一樣,廣播是它們必做的事,開啟Arp-Cache,可以加快效能(雖然感受不到),
當AP收到一個ARP封包,會比對Cache裡的資料,如果不在Cache就不廣播把封包丟掉,以減少廣播封包。
ap(config)#dot11 arp-cache


Time:

可能希望與NTP Server同步時間
ap(config)#sntp server 220.130.158.82
或是直接設定時間
ap#clock set 12:21:00 3 Sep 2010
再show一下時間狀況
ap#show clock

DNS:
環境沒有DHCP Server的話,可以手動幫AP設定DNS Server
ap(config)#ip name-server 168.95.1.1

SNMP:
可能需要開SNMP給網管軟體看 -
最後面可以選擇ro(Read Only)或是rw(Read and Write)
ap(config)#snmp-server community public ro

Part 3. 基本加密驗證: 
通常胖AP較常用的是WEP或是WPA-PSK這兩種驗證方式,說明如下
WEP:
首先我們先看一下Web的驗證方式,可以更了解為何這麼設定,
WEP驗證基本上是不看人的,只看那把Key,如下:
Client --------------------------------------------- AP
Authentication Request--> -->
<--<--Authentication Response + Challenge Clear-text Use text to Encrypt (Association Request) -->-->
<--<--Compare static WEP keys & Association Confirmation






從上面的驗證流程可以知道AP在第二個步驗會請Client輸入Cler-text,這就是我們在連線AP時,
會跳出一個畫面(或在連線的設定裡)要我們輸入一個passphase,輸入後就可以把資料加密送給AP,
AP收到後就用我們現在要設定的Key來解密碼看,可以解開就送Association Confirmation給Client。

了解流程後,在設定Cisco AP時要記住:
1.設定驗證放式是在SSID下
2.設定加密方式要在無線訊號(Radio)下

而設定順序一定要先設定加密方式,再設定驗證方式,因為要先有key,才可以在驗證方式裡選用key麻~下面就先到無線訊號下設定加密,設定WEP加密方式要先設定一個key1~4, size可以選擇40或128,設定40就需要設定十位元的文字(連線的密碼),設定128的話,需要設定26個字的密碼,如下的1234567890就是很Client連線要輸入的key.然後再指定模式為WEP
ap(config)#inter dot11Radio 0
ap(config-if)#encryption key 1 size 40 1234567890
ap(config-if)#encryption mode wep mandatory key-hash
然後再進到ssid裡面,指定驗證模式為開放
ap(config)#dot11 ssid abc
ap(config-ssid)#authentication open
如此就完成WEP的設定啦^^

凍一下~~~不是設定WEP嗎?怎麼驗證是用開放咧!!??
嘿~這就要從什麼是開放說起,下面是開放驗證流程:
Client ------------------------------------ AP
Authentication Request-->-->
<--<--Authentication Response Association Request -->-->
<--<--Association Confirmation






再往上與WEP的流程比較一下,會發覺整個流程都一樣,說穿了WEP只是在開放驗證裡多了一個
passphase的確認機制,所以Cisco認為WEP還是一個開放的認證(真是嚴格呀~)
Ps. 上面OPEN流程也可以說明為什麼在PartI時,我們只設authenticaion open,就可以不用輸入密碼使用AP了

WPA-PSK:
因為FAT AP通常不會結合到RADIUS等的認證平台,反而在導Thin AP時都需要與驗證平台做驗證,在沒有驗證平台的情況下,我們可以透過設定PreShareKey(PSK)來取代驗證平台,方法如下:

一樣,要先在無線頻道下指定加密方式,因為是WPA,會用TKIP來動態更改key加強安全
ap(config)#inter dot11Radio 0
ap(config-if)#encryption mode ciphers tkip
再進到ssid下面設定驗證方式,由於只是wpa-psk,所以不用設定EAP驗證,我們以開放式(open)驗證即可,而key-managemnet就是用WPA,最後再設定WPA的PreShareKey(即Client連線的密碼)就搞定啦!
ap(config)#dot11 ssid abc
ap(config-ssid)#authentication open
ap(config-ssid)#authentication key-management wpa
ap(config-ssid)#wpa-psk ascii 12345678
設完後你就會發覺,原來WPS-PSK的驗證流程,還是OPEN的四個方式,但比WEP還強的是,有TKIP的自動變更key機制,所以較為安全^^(我說的是…"較為")

2010年9月1日 星期三

Cisco AP之瘦變胖與胖變瘦(Autonomous & LightWeight )

怎麼把 Thin AP 變成Fat AP,FAT AP變成Thin AP?
看書寫的很簡單,AP預設就是Fat AP,所以只需要把AP改成預設值就可以了,
但是經過親身體驗,拆開一顆新的1131,預設是Thin AP @@

書本(原廠文件)提到改回預設的方式是:
更改的方式是在開機時按住"Mode"鍵2~3秒,看燈號為橙色後放開!!
這時Thin AP會自已將IP設定為10.0.0.1的IP, 然後自動去尋找同網段內的tftp伺服器,
如果有的話會從裡面自動下載IOS,會尋找的檔名為"型號-k9w7-tar.default"(如:c1130-k9w7-tar.default)

但…實際上我試了一個下午@@
深刻體認到,理論與實務的差距,原來…有那麼大=.=!

還好,有個實力堅強的同事Jonce的協助,解決了這個惱人的問題。

胖變瘦(Autonomous to LightWeight):

方法1. 重開大法:
    如同手冊說的,重開機讓它去抓預設網段裡的胖AP IOS,差別只是按住mode的時間比原廠說的多十倍@@
Step 1.把自已電腦(要當TFTP伺服器那台)的IP改為10.0.0.x網段的IP,因為AP變成default後,會設自已IP為10.0.0.1來抓同網段的IOS
Step 2.先把瘦AP IOS抓下來,放到TFTP上,變更名稱,
             如:   c1130-rcvk9w8-tar.124-21a.JA2.tar  改為    c1130-rcvk9w8-tar.default
step 3. 把電源拔掉,按住mode鈕,再插上電源,可能要30秒左右,按到燈變紅色,或是你看到console畫面自已有在解開IOS為止
Step 4. Reload一下就ok啦!

方法2. IOS大挪移:
其實,說穿了,Thin AP與Fat AP的差別只在於IOS的不同,
我們只要想法辦法更換不同的IOS就好了,這裡有一個參考指令:

ap#archive download tftp://1.1.1.1/c1130-k9w7-tar.124-21a.JA1.tar
利用archive來更換IOS,所以我們要把胖AP換成Thin AP的方法是:

Step 1. 先把瘦AP IOS抓下來,放到TFTP上,變更名稱,
             如:   c1130-rcvk9w8-tar.124-21a.JA2.tar  改為    c1130-rcvk9w8-tar.default

Step 2. 把IOS給copy回去
      ap#archive download tftp://1.1.1.1/c1130-rcvk9w8-tar.default
 Step 3.再Reload一下就搞定了!!

就這麼簡單^^

瘦變胖(Lightweight to Autonomous):
 
當你要從瘦AP變回胖AP , 會發現:
1.想下指令 config ap tftp-downgrade tftp-server-ip-address filename apname,但thin ap上根本沒指令,這時候會想問候別人的爸媽。
2.想用上面的archive來換IOS,也沒有archive的指令可用

方法1. 重開大法:
跟胖變瘦流程都一樣,所以看一下上面的流程,差別只是放在tftp上的IOS是胖AP的IOS。


方法2. IOS大挪移:
這個方法不一定每一個IOS都支援,方法就是透過下面這個指令來讓隱藏的archive指令出現!指令如下:
debug lwapp console cli
 這個指令下了之後,就可以打"archive"

步驟如下:

Step 1. 先把胖AP IOS抓下來,放到TFTP上,變更名稱,
             如:   c1130-rcvk9w8-tar.124-21a.JA2.tar  改為    c1130-rcvk9w8-tar.default
Step 2. 執行指令: (不見得每一個IOS都支援,不支援的就用方法一重開大法吧)
ap#debug lwapp console cli
Step 3. archive出現了!趕快把IOS給copy回去吧!
      ap#archive download tftp://1.1.1.1/c1130-k9w7-tar.124-21a.JA1.tar
 Step 4.都ok後再Reload一下就搞定了!!

搞定!收工!!

2010年8月17日 星期二

網路工程師之CCNA實戰手冊

由於工作是網路工程師,但關於CCNA的知識是三年前學的了@@所以全忘了~最近k回,也做了些筆記,也給需要的人參考^^
這份手冊目的是快速了解Cisco設備操作所需的知識與操作方法,
在原理的部份還是要參考原廠的書目。下面把整個CCNA的知識以實務的角度拆解成三部份,第一部份是任何Cisco設備都共有的基本操作、第二部份是 Switch上所需的操作,如VLAN與Spanning-Tree,第三部份是Router的操作,如Routing、NAT、ACL、WAN封裝。

一、Cisco 設備基本操作

I. 登入:
(1) 密碼設定:
登入Cisco設備要記住,第一步就是把密碼變成你的密碼,這樣才能掌控這台設備的所有權!如下為如何更改Enable的密碼:


Router800>
Router800>en
Router800#conf t
Router800(config)#enable ?
last-resort Define enable action if no TACACS servers respond
password Assign the privileged level password
secret Assign the privileged level secret
use-tacacs Use TACACS to check enable passwords
Router800(config)#enable secret enablepass

實務上不會設置enable password,而是直接enable seceret。除了enable外,也常更改telnet的密碼,好方便未來管理


Router800(config)#line ?
<0-5> First Line number
console Primary terminal line
vty Virtual terminal
Router800(config)#line vty 0 4
Router800(config-line)#password vtypass
Router800(config-line)#login

如果希望不用密碼就直接登入,可以用 no login
最後,不希望任何人接上console就可以動你的設備的話,就要更改Console的密碼


Router800(config)#line console 0
Router800(config-line)#password consolepass

上面即是設定密碼為'consolepass'


Router800(config-line)#login
Router800(config-line)#logging synchronous

最後一個用Loggin synchronous可以讓介面不再不斷跑出訊息,比較不容易亂
(2) 登入資訊:
登入資訊會有兩個要改,一個是hostname,可以方便知道目前在哪一台?也能讓其它設備快速知道這台是什麼。另一個是登入資訊(banner),讓不小心連到設備的人,可以宣告一下主權(單純警示作用)。


Router800(config)#hostname Cisco800Router
Cisco800Router(config)#

再來再改一下登入資訊


Cisco800Router(config)#banner line
Enter TEXT message. End with the character 'l'.
The Login Action is prohibited !!
l

最後用小寫l結尾,這樣要login就會看到這個訊息
(3) 蓋掉密碼:
很容易發生一種狀況~那就是'密碼忘記'!!不管是剛設的或是別人設定的,都會發生!!每台的方式不一樣,到這個網站找到你的型號,一步步跟著設定即可:
http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_tech_note09186a00801746e6.shtml

II. 了解資訊:
(1)show running-config
時常會有接觸一台未知設備的狀況,show run永遠是最快、最常用來了解一台設備的指令


Cisco800Router#sh run
Building configuration...
Current configuration : 907 bytes
!
version 12.2
no parser cache
no service single-slot-reload-enable
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Cisco800Router
!
logging rate-limit console 10 except errors
enable secret 5 $1$G9.P$qSkGqo8i.Z8no8/A584aO.
enable password enablepass
!
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
ip subnet-zero
!!
no ip dhcp-client network-discovery
!
!
!
interface Ethernet0
no ip address
shutdown
!
interface ATM0
no ip address
shutdown
no atm ilmi-keepalive
dsl operating-mode auto
!
ip classless
no ip http server
!
banner login ^CINE
The login action to this appliance is prohibit!!
^C
banner motd ^Cine
The Login Action is prohibited !!
L^C
!
line con 0
password consolepass
logging synchronous
login
stopbits 1
line vty 0 4
password vtypass
login
!
scheduler max-task-time 5000
end

如上,就可以看到剛才設定的資訊了^^ 通常還會再搭配pipline | 來做過濾查尋,
比如要只看某介面,可以用


Cisco800Router#sh run | begin interface

或是只想看某個關鍵字的資訊,可用include


Cisco800Router#sh run | include 192.168.1.1

(2)其它常用資訊查尋指令


Show version

顯示硬體、軟體資訊


Show interface

查看每個介面的資訊


Show ip interface brief

快速看每個介面IP資訊


Show protocols

快速查看Layer1與Layer2之間的狀態


Show cdp nei

查看直接連接設備的資訊


Show ip route

快速了解路徑表
大致了解完這台設備的狀況後,就可以開始設定啦!


III. 網路設定:
(1) IP設定
IP的變更是任何設備必定的,方法很簡單,進到某一個介面裡之後,再敲ip address就可以設定了:


Cisco800Router(config)#interface ethernet 0
Cisco800Router(config-if)#ip address 192.168.1.1 255.255.255.0
Cisco800Router(config-if)#no shutdown

這裡還有一個指令 no shutdown,就是shutdown的反過來,也就是打開介面的意過,Cisco預設上port是關閉的,設定後需要啟動port才能使用。
習慣再用show ip interface brief看一下介面資訊:


Cisco800Router#show ip interface brief
Interface IP-Address OK? Method Status Protocol
ATM0 unassigned YES NVRAM administratively down down
Ethernet0 192.168.1.1 YES NVRAM up down

通常會注意兩個地方Status,與Protocol,Status可以用來檢驗自已有沒有下'no showdown'來把介面打開,而protocol則是用來看實體的連線狀況有沒有連線上。再來,IP設定好之後,會再為這個介面加上描述,方便未來查修與維護


Cisco800Router(config)#interface eth0
Cisco800Router(config-if)#description LAN Port to CoreSW

上面的'LAN Port to CoreSW'即為說明,重點是方便辨別而已。
(2) 閘道設定
IP設定好之後,會再設定gateway,好可以從其它網段連過來管理


Cisco800Router(config)#ip default-gateway 192.168.1.99 255.255.255.0

雖然在外部router上設定內部IP為default gateway是很奇怪的~這裡只是Demo指令,了解指令怎麼下就ok了
(3) SSH設定
通常客戶會要求把telnet給關掉,開啟SSH。當然!我們也必需這麼建議客戶才對, 設定之前一定要有主機名稱與網域名稱:


RouterA(config)#ip domain-name test.com

再來就是產生ssh的鑰匙


RouterA(config)#crypto key generate rsa general-keys modulus 1024
The name for the keys will be: RouterA.test.com
% The key modulus size is 1024 bits
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
*Mar 1 02:47:56.055: %SSH-5-ENABLED: SSH 1.99 has been enabled
產生好之後再進到vty介面裡面設定驗證方式,下面是用router本身來驗證:
RouterA(config)#line vty 0 181
RouterA(config)#login local

再指定只用ssh驗證,不用telnet:
RouterA(config-line)#transport input ssh

最後面的transport input ssh後面可以再加上telnet,如果沒有加的話就不能telnet進來了。
設好後,這時候登入你會發覺沒有帳號密碼可用@@再補一下:
RouterA(config)#username oya password 1234

都ok後就用ssh登入看看,也可以在router上透過show ip ssh 與show ssh來檢示狀態。
(如果是linux的OS,很容易遇到Host key verification failed,這是只要把家目錄下的.ssh清掉,再登一次就ok啦!)

(4) 開啟Web管理介面
如果要方便管理與VPN的設置,可以開啟Web管理介面,方法很簡單,指令如下:


Cisco800Router(config)#ip http server

再打開流覽器從之前設置的IP登入,預設的帳號是admin,密碼是之前設定enable的密碼。
老實說,這個介面通常是方便工程師做設定,後續客戶比較希望不要在router或switch上開啟http server,那就把它關閉吧^^


Cisco800Router(config)#no ip http server


IV. 儲存、備份、還原:
(1) 儲存設定資訊
該設的設了,該看的也看了,這時記得把設定的資料儲到 NVRAM裡面,簡單的說就像打Word打到一半,要記得存檔一樣,指令很簡單:


Cisco800Router#copy run start
Destination filename [startup-config]?
Building configuration...
[OK]

其實全名是copy running-config startup-config 可以用簡稱,如果沒有自已取名稱,
直接Enter就會以startup-config命名。
(2) Backup & Restore
不論備份、還原,通常只會在這四個地方跑,flash(放IOS的地方)、running-config(放在RAM)、start-config(放在 nvram)、tftp(通常是工程師的電腦), 再搭配一個萬用指令'copy'就可以完成各式的備份與環原啦。但是…在做一切動作之前,一定要先確認兩件事,主機有沒有連通?(Ping一下就知道), 空間夠不夠? (如show flash看flash會不會爆掉) 再來就開始備份一個flash到tftp看看Sad其它只是start-config,running-config的替換而已)


Cisco800Router#copy flash:
Cisco800Router#copy flash:c820-sy6-mz.122-2.XH2.bin tf
Cisco800Router#copy flash:c820-sy6-mz.122-2.XH2.bin tftp://192.168.1.2
Address or name of remote host [192.168.1.2]?
Destination filename [c820-sy6-mz.122-2.XH2.bin]? c820-sy6-mz.122-2.XH2.bin
TFTP: error code 1 received - File not found

%Error opening tftp://192.168.1.2/c820-sy6-mz.122-2.XH2.bin (Undefined error)

嗯!如果你的tftp上面沒有檔案,就會出現這個問題,所以也先加一個一樣檔名的檔案,再試一次:


Cisco800Router#copy flash:c820-sy6-mz.122-2.XH2.bin tftp://192.168.1.2
Address or name of remote host [192.168.1.2]?
Destination filename [c820-sy6-mz.122-2.XH2.bin]?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3974852 bytes copied in 25.404 secs (158994 bytes/sec)

在cisco看到一堆驚嘆號就是好事!沒錯,我們成功了^^
另外補充一個較常用來將running-config儲到start-config的指令:


Cisco800Router#wri mem
Building configuration...
[OK]

這個指令很直觀,write memory就是直接寫入記憶體。

二、關於Switch
(1) Spanning Tree
spanning tree的目的在避免迴圈與廣擴風暴,會發生這樣的問題在於到同一個目的地可以透過兩台Switch的路徑到達,當然,這個設定很好,當其中一條路出現問 題時,有另外一條備援,但是IPv4的Broadcast會使用迴圈的廣擴災難產生@@,所以只要設定spaning tree之後,switch之間就會自動溝通,建立較快的路徑連線,關閉較慢的路線,避免迴圈問題,真好用。可以先用show spanning-tree了解目前現有的spanning-tree下:

引言回覆:
SW2950-1#sh spanning-tree
No spanning tree instance exists.

啥咪也沒有~嗯!那我們就來設一個吧!!

引言回覆:
SW2950-1(config)#spanning-tree mode mst
SW2950-1(config)#exit
SW2950-1#show spanning-tree
MST00
Spanning tree enabled protocol mstp
Root ID Priority 32768
Address 000e.6aea.a800
Cost 300019
Port 2 (FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32768 (priority 32768 sys-id-ext 0)
Address 0015.f9ee.cf40
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/2 Root FWD 200000 128.2 P2p Bound(RSTP)
Gi0/1 Desg BLK 20000 128.25 P2p

很自動地幫我們建好spanning-tree了,真是方便呀!接下來從這台Switch的Gi0/1對接的另一顆Switch上我們也開啟spanning-tree之後,看一下變化:


SW2950-1#sh spanning-tree
MST00
Spanning tree enabled protocol mstp
Root ID Priority 32768
Address 0009.b730.0c00
Cost 0
Port 25 (GigabitEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32768 (priority 32768 sys-id-ext 0)
Address 0015.f9ee.cf40
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/2 Desg FWD 200000 128.2 P2p Bound(RSTP)
Gi0/1 Root FWD 20000 128.25 P2p
Connection closed by foreign host.

看到了嗎?原本Gi0/1為block port,現在變為 Forward了。

(2) VLAN
Virtual LAN顧名思意就是虛擬的、邏輯的,讓我們可以在同一台Switch上分割不同的brocast domain,讓坐在同一個辦公室卻不同部門的人流量是不會互通的^^
設定方式要先為開啟一個VLAN,然後再進到某個介面將VLAN分配給它:
開啟VLAN(下面開啟了VLAN2與VLAN3,且取了名稱)


SW2950-1(config)#vlan 2
SW2950-1(config-vlan)#name Sales
SW2950-1(config-vlan)#exit
SW2950-1(config)#vlan 3
SW2950-1(config-vlan)#name Engineer

再來進到介面裡將VLAN分配給它吧!


SW2950-1(config)#interface fa 0/5
SW2950-1(config-if)#switchport mode access
SW2950-1(config-if)#switchport access vlan 2

上面同時還指定了port為Access port,最後再利用show vlan確認一下,VLAN就這麼簡單而已!!接下來再加上VTP才好玩~

(3) VTP
VTP全名為VLAN Trunking Protocol,這是Switch對Switch或是Switch對Router之間的溝通協定,這是很棒的協定,如果沒有它的話我們只能在單一台 Switch上設定VLAN,而不能與其它設備的VLAN互通。(VTP是用VLAN1進行溝通的)
運作VTP的設備有三種模式: Server Mode,Transparent Mode,Client Mode。通常設定選擇一台為Server Mode,其它台為Client Mode即可; 而在舊環境加入新的設備,可以在新設備上設定Transparent Mode來學習。
首先在2950-2上設定為VTP Client:


SW2950-2(config)#vtp mode client
Setting device to VTP CLIENT mode.
SW2950-2(config)#vtp domain ringline
Changing VTP domain name from NULL to ringline

除了設定模式,也要指令Domain,相同Domain的VTP才會溝通喔!再來再到2950-1設定VTP Server:


SW2950-1(config)#vtp mode server
Setting device to VTP SERVER mode
SW2950-1(config)#vtp domain ringline
Changing VTP domain name from CISCO to ringline

接下來還要設定一個東西,叫Trunk Port,到指定的介面開啟Trunk,這樣就可以讓VTP溝通了Sad兩邊都要設喔)


SW2950-2(config)#interface gi 0/1
SW2950-2(config-if)#switchport mode trunk

這時可以用show vtp status 來看設定狀況,也可以在2950-2用show vlan看看有沒有與server同步了,再接下來可以試試從vtp server增加、刪除vlan看看vtp client有沒有同步。

三、關於Router
(1)Routing
1. 靜態路由
這是最基本的Routing,只要告訴Router,看到哪些網段時,就往哪裡丟,如:


RT2600(config)#ip route 10.0.0.0 255.0.0.0 192.168.1.1

上面說的就是任何到10.0.0.0/8網段的封包,都往192.168.1.1送。
靜態路由還有一個常用的就是Default Gateway,有幾種設定方式:


RT2600(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1
RT2600(config)#ip route 0.0.0.0 0.0.0.0 s 0/0
RT2600(config)#ip default-network 1972.168.1.1

上面三個指令其實是一樣的,挑喜歡的打就好。
2. 動態路由 – RIP
RIP全名為Routing Information Protocol, 這應該是最普遍的動態路由協定了,每30秒會傳送一次routing 資訊,最多可以到15個Hop。
在設定上也很簡單,只是靜態路由設定的是跨過router之後的網段,而動態路由設定的是直接介面相連的網段,因為Router會互相交換資訊,所以router本身只需要知道他自身連接的網段就夠了,下面設定了兩個網段192.168.1.0與10.1.1.0!


RT2600-2(config)#router rip
RT2600-2(config-router)#network 192.168.1.0
RT2600-2(config-router)#network 10.1.1.0

只設定一顆,利用show ip route會發覺仍然沒有Routing資訊,需要兩邊都設定才有:


RT2600-1(config)#router rip
RT2600-1(config-router)#network 172.16.6.0
RT2600-1(config-router)#network 10.1.1.0

完成後利用show ip route來看路由資訊


RT2600-1#show ip route
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.6.0 is directly connected, FastEthernet0/1
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, FastEthernet0/0
R 192.168.1.0/24 [120/1] via 10.1.1.2, 00:00:01, FastEthernet0/0

最下面的R就是我們透過RIP所溝通到的路由資訊,也就是RIP設定完成^^
3. 動態路由 – IGRP
IGRP全名為Interior Gateway Routing Protocol,這是Cisco獨有的動態路由協定,所以只要有非Cisco的router就沒法溝通啦。目前新的IOS都不支援這個協定了,改用比IGRP更強的EIGRP來做。
4. 動態路由 – EIGRP


EIGRP全名為Enhanced Interior Gateway Routing Protocol,就是用來加強IGRP的協定,也一樣,是只有Cisco才有的,所以一定要環境全部是Cisco設置才能支援。
在設定上其實跟RIP差不多,只是多了一個自治系統的概念(Automous System,AS),AS的編號可以從1~65535,相同編號的自治系統才能進行溝通。
RT2600-1(config)#router eigrp 123
RT2600-1(config-router)#network 172.16.6.0
RT2600-1(config-router)#network 10.1.1.0

再透過show ip route看一下


Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.6.0/24 is directly connected, FastEthernet0/1
D 172.16.0.0/16 is a summary, 00:05:49, Null0
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.1.1.0/24 is directly connected, FastEthernet0/0
D 10.0.0.0/8 is a summary, 00:05:49, Null0
D 192.168.1.0/24 [90/30720] via 10.1.1.2, 00:01:00, FastEthernet0/0

看到路徑表中的D代表的就是EIGRP的路由成功啦!其中也發覺EIGRP會自已把我們的網段Auto Summary,所以要設定不連續的網段就再透過no auto-summary指令關掉這個功能。
5. 動態路由 – OSPF
OSPF全名為Open Shortest Path First,從名字就可以看出這個路由的兩大特性'Open'與'shortest path',Open代表的是它是開放的,任何廠牌都可以使用,所以也比EIGRP來的普及;另一個Shortest Path就是他選徑的特色,利用Dijkstra演算法選出最短的路徑,然後放入路徑表。
在設定上,OSPF應該是最複雜的了!!因為有很多要考慮的選項,不過在CCNA只需了解基本的設定就夠了


RT2600-1(config)#router ospf 111
RT2600-1(config-router)#network 172.16.6.0 0.0.0.255 area 0
RT2600-1(config-router)#network 10.1.1.0 0.0.0.255 area 0

上面ospf之後的號碼是識別碼,與EIGRP的AS(可設定1~65535)不同,這個號碼只對本機有效,OSPF使用的是Area的概念,即在 network設定的最後面數字,(可以設定1~42億),但一定要有Area 0才能溝通,下面利用show ip route來檢示 :

RT2600-1#sh ip route
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.6.0 is directly connected, FastEthernet0/1
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, FastEthernet0/0
O 192.168.1.0/24 [110/2] via 10.1.1.2, 00:00:27, FastEthernet0/0

以o為開頭的即為OSPF的路由,在IP後面代表的為[AD/Cost]

(2) ACL
ACL全名為Access Control List, 即為一份存取清單,定義能夠存取或是禁止存取的網路流量,基本上分為兩種,標準式(Standard Access List)與延伸式存取清單(Extended Access List),標準式很單純的只做來源IP的檢查,而延伸式可做L3與L4的進階辨識。
在設定上會先設立Access-List,然後再到介面把Access-List套上去,標準式ACL方法如下:


RT2600-1(config)#access-list 99 permit 1.1.1.1 0.0.0.255
RT2600-1(config)#interface fa 0/1
RT2600-1(config-if)#ip access-group 99 in

上面的Access-List後面的數字用來辨示ACL種類,1~ 99還有1300~1999為標準式,而延伸式為100~199與2000~2699。而在介面所下的指令是access-group不是access- list,原因是你可以下很多的access-list,在介面叫需用access-group一次把它們全部召喚過來^^而接在其後的in或out則是 告訴介面是在流量進來時過濾或出去時過濾。下面是延伸ACL的設定方式:


RT2600-1(config)#access-list 100 permit tcp any any eq www
RT2600-1(config)#interface fa 0/0
RT2600-1(config-if)#ip access-group 100 out

編號100即為延伸式ACL,permit或deny某一段來源到某一段目標。最後再利用show access-list來顯示狀態


RT2600-1(config-if)#do show access-list
Standard IP access list 99
10 permit 1.1.1.0, wildcard bits 0.0.0.255
Extended IP access list 100
10 permit tcp any any eq www

就這麼簡單而已^^

(3) NAT
NAT全名為Network Address Translate, 即是位址轉換。轉換方式有三種,一對一(Stastic)、多對多(Dynamic Ip轉換)、多對多(OverloadingPort轉換)。
我們先來看一對一,常用在內部有一台主機使用內部IP要提供給外部服務時使用,如下:
Router(config)#ip nat inside source static 10.1.1.2 172.16.6.187
內部IP為10.1.1.2,只接mapping給172.16.6.187,設好之後要再到介面告訴介面,
它是內部還是外部:

Router(config)#inter fa0/0
Router(config-if)#ip nat inside
Router(config-if)#exit
Router(config)#inter fa 0/1
Router(config-if)#ip nat outsid

再透過show ip nat translations來確認:


Router#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 172.16.6.187 10.1.1.2 --- ---

再來來看多對多用IP轉換(Dynamic),比如我們有一個C的電腦10.1.1.1/24,要用兩個外部IP(172.16.6.130,172.16.6.131)上網,設法如下:


R2600(config)#ip nat pool WAN 172.16.6.130 172.16.6.131 netmask 255.255.255.0

先把外部IP設到NAT的Pool


R2600(config)#access-list 1 permit 10.1.1.0 0.0.0.255

再把內部IP放到ACL 裡面


R2600(config)#ip nat inside source list 1 pool WAN

再來把外部與內部IP綁在同一條NAT規則,最後再到各介面指定是inside或是outside


R2600(config)#int fa 0/0
R2600(config-if)#ip nat inside
R2600(config-if)#int fa 0/1
R2600(config-if)#ip nat outside

雖然這樣設也可行,但是有兩百多台電腦搶兩個ip實在是很難過,再來看用Port轉換的方式,設法幾乎一樣:


R2600(config)#ip nat inside source list 1 pool WAN overload

看出差異了嗎?只是在最後面加上overload而已,也可以不指定pool,直接設介面就好:


R2600(config)#ip nat inside source list 1 interface fa 0/1 overload


(4) WAN的封裝
1. PPP
全名為Point-to-Point Protocol,這算是在實務上最常見的封裝方式,原因是這種封裝方式是透過Link Control Protocol提供認證、壓縮、多鏈路等功能,而且不像HDLC每一家都不一樣,PPP是可以通用在各廠牌的Router上運作的。
設置的流程,先進入串列介面、指定封裝方式、設置其它可進行驗證的Router名稱與密碼、在介面裡指定驗證方式:


Router(config)#int s 0
Router(config-if)#encapsulation ppp

自已的電腦也要設置hostname好跟其它台溝通


Router(config)#hostname RouterA

再設置能與自已溝通的Router名稱與密碼給它


RouterA(config)#username RouterB password 123456
RouterA(config)#int dialer 0

最後指定用chap或是ppp的認證方式,第一個為主要,第二個為備援,也可設置一個就好


RouterA(config-if)#ppp authentication chap pap

2. PPPoE
PPPoE的全名為Point-to-Point over Ethernet也就是把上面介紹運作於串列介面的PPP協定封裝到Ethernet上跑。
目前大部的份的家庭與小公司會使用DSL來與WAN連線,DSL為Digital Subscriber Line(數位用戶線路),是透過電話線的雙絞線連接電信業者的local loop,所以是很常見的router設定。電信業的小鳥龜進來的線通常是RJ45,所以會連線在router的ethernet port,而非串列Port。
在設定上分實體與邏輯介面的設定,先設定實體介面:


RouterA(config)#interface fa 0/0
RouterA(config-if)#pppoe enable group global
RouterA(config-if)#pppoe-client dial-pool-number 1

簡單的說,實體就是把pppoe打開,再指定邏輯播接的group; 下面是邏輯介面的設定:


RouterA(config)#interface dialer 0
RouterA(config-if)#ip address negotiated
RouterA(config-if)#dialer pool 1
RouterA(config-if)#dialer-group 1
RouterA(config-if)#ppp authentication chap callin
RouterA(config-if)#ppp chap hostname RouterB
RouterA(config-if)#ppp chap password 0 123456

老實說CCNA的書沒寫的很清楚,我的環境也沒有ADSL可以試,所以這份份還需要驗證。
3. FrameRelay
訊框中繼是個很好的概念,但在實務上卻不常見,我也不知道為什麼~可能被好用的ppp給取代了,也可能價格因素。設定方法如下:


RouterA(config)# inte s 0/0
RouterA(config-if)#encapsulation frame-relay
RouterA(config-if)#ip address 10.1.1.1 255.255.255.0
RouterA(config-if)#frame-relay lmi-type ansi
RouterA(config-if)#frame-relay interface-dlci 99

上面的LMI-Type是用來設定Local Management Interface,IOS在11.2版以後會自已抓。而DLCI(Data Link Connection Identifier)的設定是方便ruter與frame relay switch之間邏輯電路的識別,通常ISP會提供。

最後,建議可以練習Peter大的CCNA Lab來加強實戰能力:
http://www.vlab.com.tw/vlabforums/viewtopic.php?t=12027