2006-05-31

CCNA Router ACL Skill Exam

把 30 號的 Skill Exam 關於 ACL 部份整理了一下

ACL(Access Control List)最麻煩在於決定設定的 Router 與其 interface,主要是要區分清楚,要保護誰或限制誰,還有要限制或保護的是屬於這個 interface 的 in/out (同一網段為 in,不同網段為 out;或是說,在這個 interface 所保護的裡面或外面),還有就是對於針對一整個網段時,子網遮照的換算要注意一下,基本上就是把要"處理"的那個網段的 subnet mask,換為二進位後,0 => 1 / 1 => 0,再換回十進制就可以,以下是今天考試內容,至於網路拓樸由於是紙張(繳回去),所以就不提,基本上就是建制一個可以互通的 LAB 就是(前面的文章有講到)。

關於今天的 ACL 部份的實作,我們最後兩組有做出來,以下解說我們這組的做法

網段:28.0.0.0 ( 不要懷疑,就是 class A )

子網分割:
原 Class A 的 subnet mask:255.0.0.0 => 11111111.00000000.00000000.00000000
借三位分割子網:11111111.0000000.00000000.00000000 ~ 11111111.11100000.00000000.00000000
28.0.0.0/11 (000)(頭不能用)
28.32.0.0/11 (001)
28.64.0.0/11 (010)
28.96.0.0/11 (011)
28.128.0.0/11 (100)
28.192.0.0/11 (110)
28.224.0/11 (111)(尾不能用)
新 subnet mask:255.224.0.0

設定 Router 部份就跳過,接下來直接講 ACL 部份

* TFTP Server:28.96.0.2
* BOZA 網段:28.32.0.0/11
* EVA 網段:28.32.192.0.0/11

基本上老師要的是,Boza & Eva 的網段裡的 ip 不能連線 tftp 到 TFTP Server,
所以這個 rule 是要設在 Router Boza & Eva 的 Ethernet 0 上

指令如下:
Boza(config)# access-list 100 permit udp 28.32.0.0 0.31.255.255 host 28.96.0.2 eq tftp
Boza(config)# access-list 100 deny tcp any any

Boza(config-if)# ip access-group 100 in

解說:
第一條:
access-list # 指令
100 # extend 的範圍由 100 ~ 199,要指定特定服務跟 host 的要用 extend
udp # tftp 走 udp
28.32.0.0 # Source 網段 指的就是 Boza 這個網段
0.31.255.255 # 子網遮照,這個部份就是把 subnet mask 的二進位反過來,所以
# 11111111.11100000.00000000.00000000 => 00000000.00011111.11111111.11111111
# 得到 0.31.255.255 這部份就看自己的網段去換算
host # 因為要指定特定 Server,所以下 host 關鍵字
28.96.0.2 # TFTP Server ip
eq # equal 相等,也就是後面的服務是這個
tftp # tftp service

第二條:
一樣要設在 access-list 100
deny # 擋掉
tcp # 因為老師說不要任何 tcp service
any any # 任何 source 到 destination

第三條:
要到自己要設定的 interface 上 (Eg:ethernet 0)
ip access-group 100 in # 加進第 100 這個編號的 access-list
# 這裡的 in 跟 out 要釐清一下,這裡的 in/out 指的不是進或出的封包,
# 是指在這個 inetrface 的網段"裡面(in)"或"外面(out)"的網段,也可說成是同一段跟不同段
# 更明白的說,就是屬於這個網段的 ip 為 in,不屬於的為 out
# 由於這個題目是要我們做出 Boza & Eva 的網段的 ip 不能到 tftp server,
# 所以是要針對該 Ethernet 的 "裡面(in)" 的網段,所以要用 in

兩台設定都一樣,就差自個兒網段差異而已

注意:
*我們兩組差點也做不出來,後來才發現 tftp 有傳過去,只是不知道為什麼"發送端"並沒有收到回應
一度以為失敗要放棄,還好有看到 tftp server 的資料夾裡有東西,測試給老師看才過的

2006-02-22

星星

晚上從車站走到學校的路程中,有一段沿著鐵軌的路段的路燈壞了,下意識的抬起頭,看見了滿天的星星,說起來,有多久沒看到星星;又或者說,有多久沒好好的看看夜裡的天空是否有星星。

從車站走到學校大概要走15分鐘左右。

下了班趕到南港站搭車往內歷,這段路程大概是55分鐘左右。

其實這個學歷對於自己的實質幫助(工作上),倒不是很看重,就是覺得自己想要有個大學學歷,很單純的;不是覺得自己比不上別人,而是想贏過自己。

我應該不只這樣子吧,心理是這麼想的。

會再回去唸書,會選擇這麼遠的學校,也算是機緣;上一份工作結束後的那段空白的日子,再度興起回學校唸書的打算,而且在接下來的面試中也毫不保留的表達自己的想法,說起來,也算是自己給自己的一個短程目標吧。

雖然目前還是覺得自己毫無目標的往前走的,也許在這個短程目標結束的那天,會像今天一樣,再次仰望著天空,想起了自己曾經忘記的,隨時抬頭就可以看到的星星。

2006-02-15

udn聯合書報攤 - 時事財經 - 30 - 嚴長壽「清華思想沙龍」演講 青年人的全球視野

udn聯合書報攤 - 時事財經 - 30 - 嚴長壽「清華思想沙龍」演講 青年人的全球視野: "如果你把自己的才能當作謀生工具,而不是把才能變成一個更大的使命,你對你自己的生命將不會有成就感。我們應該用一個新的眼光來看待自己的生命,隨時保持熱情。"

或許現在所要尋找的目標,應該是在生命的熱情與夢想的追尋,藉由對社會的付出,來找到生命的成就感與滿足。

2006-02-14

夢想

跟著前幾篇所題到的主題再次沿伸。

今天在整理電腦資料時發現之前抓的" Mr. Children - くるみ(kurumi)" MTV,

MTV 內容敘述一個平凡的中年男子,在一次回家的路上偶然的看到櫥窗裡的吉他,想起了過去的種種,於是寫下了一首歌,並把以前唸書時玩 Bend 的好朋友全部找回來,成立了"Mr.Adoult";而每個人的臉上從一開始的激動與感動,慢慢的流露出"希望",並在各種場合拼了命的演唱,在達成這一目標後,每個人臉上露出一種滿足,與一切都值得了的表情。

每次看這首 MTV 時,都會有一種頭皮發痲的感動;夢想,其實並不遠。

其實,夢想並沒有那麼遠,而是我們拒絕了"它";對 MTV 裡的主角來說,其實只是想要再一次的,跟彼此一起站上舞台演出,在做了之後才發現它其實就這麼樣的單純,卻一直等到現在才去做;但是至少從這之間找回了以往的笑容與真正的自己。

在現實翻滾久了,所追求的一切幾乎逃不開物質上的需求;的確現實的殘酷逼的自己不得不去面對,只是說,自己曾經也單純的有過什麼樣的夢想吧,是夢想真的遙不可及,還是自己拒絕了夢想,值得思索。

動還是不動

現在這份工作還算穩定,工作內容、薪資、環境、人際關係都很 ok,硬說要有不滿,就是離住的地方遠了點,但是這並不是個好理由。

原來的 P 社再找我回鍋,工作內容暫且還在橋,環境跟人際都很熟了,薪資的部份有非常的機率上調,而工作地點就會離家近很多了。

其實薪資並無法在這次動靜間比較,因為目前的工作是因為個人爭取另一個領域的工作內容,因此以目前的薪資來看算是很合理,況且當初老大對於我的爭取,非常爽快直接的答應,這麼樣的有情有義,說實在若離開也真的很過意不去。

P 社這邊,老大算是自己人了,也是很熱情的邀約,希望我能過去,算是協助他補滿人力的缺口,只是說會是在原先的領域裡專注下去,這也沒什麼不好,畢竟總是自己曾經花了四~五年的青春去換來的經驗,深入並將它發揮出來也不為過。

其實這次的動靜選擇,兩邊都有誘因,兩邊也都是個好方向,就是說人情這回事,有時反倒是最難選擇的,畢竟出來跑,還是要講義氣講人情呀。

2006-02-10

udn數位文化誌 - 網路文化 - 線上國度 - 速食化的網路行為(上)

udn數位文化誌 - 網路文化 - 線上國度 - 速食化的網路行為(上)

這主題談論到現實生活狀況與網路狀況的比較,以及一切取代性與無可取代的部份。

終究說來,人們求知若渴與汲汲營營的,透過網路快速的取得所需的資訊(人際關係)後,是否記得"食神"裡所講的,一字謂之"心"阿 - 囧rz

速食的背後所代表的也許只是另一種空虛。

Google Analytics 第一天的分析結果




放了一天多的分析有了初步結果,

結果非常的好笑,只有自己跟另一位朋友,證明了目前這個 blog 的冷清,anyway ~ 好玩最重要啦,總有一天會發揮到 google analytics 的強大性能的。

其實四個小圖分別又有其他更小的細項分析,像是訪客來源,重新造訪次數,這個 domain 的其他連結被點閱率等等,很詳細的報表資料,並可輸出為 txt xml csv 等格式,而那些圖表全部都是用 flash 呈現,不是想像中的 Java Applet,有興趣的可以試試。

2006-02-08

加上 Google Analytics

Google Analytics 可以新增網站設定檔了,

今天突然想到登入看看,發現可以新增新的網站設定檔,二話不說當然就跑下去。

現在是追蹤"ivens-ting.blogspot.com"這個網址,也就是這個 blog 的網址,過幾天再看成效如何。

有興趣的可以到Google Analytics登入你的 gmail(註一),然後照步驟新增後會產生一段 Javascript,再拿來修改 template 檔,Google Analytics 就會偵測的到,便可以開始追蹤。

註一,沒有 gmail 的可以留下 email,我會幫你 invite。

商業周刊-封面故事-夢想

商業周刊-封面故事-夢想

這是今天由商周的 RSS 看到的,原文請參照連結,並節錄出自己覺得很不錯的一段內容,

一、你必須設定可以達成的有形目標。
二、在日常生活中,每一個你主要的興趣或你扮演的角色中,至少都設定一個你想完成的目標。
三、把夢想和你生命中的熱情相結合。
四、設定能引燃你的熱情或能激發你行動的夢想。
五、把你的夢想所有可以具體化的細節一一寫下來。
六、無條件為你的夢想奉獻一切。
七、和其他類似的人一起分享你的夢想。
八、為你的夢想設定每天、每週、每月及每年應完成的目標,也設定什麼時候要開始做,什麼時候要驗收這個夢想。
九、每天花十分鐘想一下,當你的夢想真的實現時,你會有多爽!
十、每天至少都要做一點「讓你離你的夢想更近一步」的事!

實踐夢想的「六力」,分別是:認知力、執著力、勇氣力、紀律力、專注力、孤獨力。

2006-02-07

如何在 Freebsd 掛載新硬碟

1.用 sysinstall 進入 UI 選單操作,以 fdisk 做分割

2.回到 CLI,以 disklabel 配置分割區,只做過 fdisk 的磁碟機的 disklabel 看起來會類似這樣
#disklabel /dev/da1s1 (第 2 顆 scsi hdd)
root@tmp4# disklabel /dev/da2s1
# /dev/da2s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 286744106 16 unused 0 0
c: 286744122 0 unused 0 0 # "raw" part, don't edit

進入編輯模式(操作同 vi),
#disklabel -e /dev/da1s1
將 a: 這行刪掉,複雜一行 c:,然後將前面改成 d:,fstype 改成 4.2BSD,儲存離開
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 286744122 0 unused 0 0 # "raw" part, don't edit
d: 286744122 0 4.2BSD 0 0 # "raw" part, don't edit

3.以 newfs 新增,加上 soft-update (-U)
#newfs -U /dev/da1s1d
newfs 做完就可以 mount 起來使用


4.編輯 /etc/fstab,讓開機時自動掛載,基本上就抄原本 Mountpoint / 的設定,
把 Device 改成 /dev/da1s1d,Mountpoint 改成要 mount 的位置,Eg:/content1
# Device Mountpoint FStype Options Dump Pass#
/dev/da1s1d /content1 ufs rw 1 1

完成基本新 HDD 掛載的動作,其他就以此類推。

P.S.disklabel 裡的 a: 代表是 / 磁區,b: 代表是 swap 磁區,c: 代表是扣除前面兩者所剩下來的所有磁碟空間
之後開始就是屬於 fs 的部份

參考 URL:
FreeBSD連載(20):建立檔案系統
FreeBSD 使用手冊 2.5 磁碟空間配置

2005-12-09

Cisco router 實作 TFTP Server 備份

關於 TFTP 的介紹請參照TFTP,抓下來後直接安裝,都下一步就可以,安裝完畢記得啟動。

首先使用它的用意是要備份 router 上的 startup-config 的內容,
我們將實作 PC -> Switch -> Router 的方式來實作

首先 Router 請參照[ Cisco Router 設定 ]一文設定,由於這次是走 Ethernet Port,所以在 interface 的選擇上要注意一下,要注意自己的 Router 跟 switch 介接的 port 的 interface name,可由[Router#show int]的方式了解 Router 上有哪些 interface,以即它們的名稱。

設定時要注意一件事,要用來備份的那台 PC,本身必須要跟上面那台 Router 在同一個網段(才找的到對方嘛),Eg:

Router 的 int fa0 設定為 192.168.12.1/24 這個網段,這時要用來啟動 TFTP Server 的 PC 也必須在同一網段,Default Gateway 則直接指向 Router,若要備份到其他與這台 Router 串連的 Router,則只要設定好 Roter 間的 RIP,讓彼此看的到對方即可。

環境 ready 後,指令如下:( 都是在 enable 模式下 )
備份出來,
1.Router#copy startup-config tftp //將 startup-config 備份到 tftp
2.按下 Enter 後,router 會問你 tftp server 的位址,直接輸入 ip 即可(eg:192.168.12.2)
3.然後會問你要備份的檔名,(預設是[router_name+confg],可自己改或按 Enter 用 default)
4.這時就會開始備份。

還原回去的動作剛備份相同,只是把 1. 的指令改成 copy tftp startup-config,然後一樣會問你 source address 跟 config name,最後問你目的端名稱,完成後即完成還原的動作。

P.S.預設 TFTP 會將備份資料夾擺在 Program File 的安裝路徑裡,可能會有讀寫權限的問題,若發生無法備份的問題,可以試著進 TFTP config 修改(最好一開始就改掉)
P.S.S 若在 windowsXP 上,請注意 XP 內建的防火牆會擋掉這個 access,因為 TFTP 預設是走 69 port,對系統來說是不可以開的,如果有安裝其他的防火牆軟體應該也是會發生這個問題。

2005-12-08

Cisco 2970 設定 vlan 的方式

觀念:
1.Cisco 的 vlan ID 範圍為 1 ~ 4094,
2.vlan ID 1 是出廠所有 port 的預設 vlan (不能動),
3.事實上 1002 ~ 1005 這 4 個 IDs 也有其特殊用途,所以也不能動(請參照原廠 document)
4.第 1005 ~ 4094 叫 Extended-range,必須要透過 VTP 的方式使用,而且資料並不存在 vlan database,(基本上有 1000 個 range 可以用,應該是夠了)
5.切割 vlan 一定要在 enable 模式下

首先先把要用的 vlan 規劃出來,

Step1.
//進入 vlan database 下
Switch#vlan database

Step2.
//輸入要建立的 vlan ID 跟 name,語法是:[vlan {id} name {name}],基本上只要不衝突到,沒有規定一定要照順序設 id,name 也不能衝突
Switch(vlan)#vlan 2 name test2 //設定了在 vlan id 為 2,name 叫 test2 的 vlan

Step3.
Switch(vlan)#exit //離開

這時會回到 enable 模式下,輸入

Switch#show vlan

此時會秀出 2970 上的 vlan 訊息,eg:

VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Gi0/1, Gi0/2, Gi0/3, Gi0/4
Gi0/5, Gi0/6, Gi0/7, Gi0/8
Gi0/9, Gi0/10, Gi0/11, Gi0/12
Gi0/13, Gi0/14, Gi0/15, Gi0/16
Gi0/17, Gi0/18, Gi0/19, Gi0/20
Gi0/21, Gi0/22, Gi0/23, Gi0/24
Gi0/25, Gi0/26, Gi0/27, Gi0/28
2 test2 active

我們多了一個 VLAN ID 是 2,name 是 test2,但是目前所有的 port 都還劃給 VLAN 1

在來是要 assign port 給新的 vlan,

Step1.
//進入 terminal 模式
Switch#configure terminal

Step2.
//在來輸入要做變動的 interface,這個名字就是上面顯示在 Ports 欄位的名字
//如果只是要移動 1 個 interface(假設是 Gi0/1 這個 Ports)
Switch(config)#int Gi0/1
//如果要移動 n 個連續的 interface(假設 Gi0/13 ~ Gi024 都要移到 vlan 2)
Switch(config)#int r Gi13-24

Step3.
//這時會進入 interface 變更,如果是單一個,提示會變成"Switch(config-if)#",多個則是"Switch(config-if-range)
//然後設定這個(段) interface 的 mode 為 L2 access port
Switch(config-if-range)#switchport mode access

Step3.
//然後要決定這個(段) interface 要給哪個 vlan (我們要設給 vlan ID 2)
Switch(config-if-range)#switchport access 2

Step4.
Switch(config)#end //離開

這時回到 enable 模式下,一樣輸入:

Switch#swho vlan

此時就可以看到分割好的 vlan 各有哪些 port,eg:
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Gi0/1, Gi0/2, Gi0/3, Gi0/4
Gi0/5, Gi0/6, Gi0/7, Gi0/8
Gi0/9, Gi0/10, Gi0/11, Gi0/12
2 test2 active Gi0/13, Gi0/14, Gi0/15, Gi0/16
Gi0/17, Gi0/18, Gi0/19, Gi0/20
Gi0/21, Gi0/22, Gi0/23, Gi0/24

最後把改變後的結果儲存起來,

Switch#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]

以上,完成了基礎的 vlan 分割。

2005-12-07

Kaspersky Anti-Virus Personal 版會衝 XP 的 PPPoE 撥接

ISP:Hinet
我用的是 5.0.237,這個問題發生過兩次,

第一次是怎麼撥都顯示無法連線,打電話去客服詢問,客服直接問我是不是有裝"卡巴斯基",我回答有,他就叫我移除掉再重裝,照做後問題解決了。

那次的問題我推論是 Kaspersky 在更新過後要我 reboot 我沒理他,隔天就發生這問題,所以之後的更新如果要我 reboot 我還是乖乖給他 reboot。

這次的問題就鳥了,一樣開完電腦一撥,居然出現 TCP/IP 資源不足的錯誤訊息。一開始我還以為難道中木馬?後來看工作管理員,應該還算正常,就將電腦 reboot 再試,結果出現一樣的訊息。

基本的重開 atu-r 跟確認電話暢通的動作做完,原本打算打客服電話,但是想起之前的問題,不信邪的把 kaspersky Exit 掉,再撥;果然正常上線了,上線後再開 kaspersky 就好了,真是詭異的程式。

2005-12-03

PHP 在 Big-5 裡處理中文字串切割

一般若是沒裝 mbstring 這個 function 的狀況下,直接以 substr 切割,會有最後一碼中文字被切成一半的問題。

這時一樣先做 substr,再把切割過的字串丟進底下的 func,preg_replace 會先把完整的雙byte中文換成空白,然後判斷字串裡是不是還有中文的前一byte(畢竟被切割掉的一定後一byte),沒有的話就傳回原字串,有的話就傳回原字串再 -1 個 byte,以確保切割過的字串不會出現亂碼

function end_big5($src){
$str = preg_replace("/[\xa1-\xf9][\x40-\x7e\xa1-\xfe]/","",$src);
return (preg_match("/[\xa1-\xf9]$/",$str)) ? substr($src,0,-1) : $src;
}

當然以上做法算是治標之道,尤其是 preg_replace 除了有效能上的問題,也有處理雙 byte 編碼設定的問題。

所以最好是裝 mbstring function 組或改用 UTF-8 來解決問題。

PHP 官方站
Multibyte String Functions

:::zonble’s promptbook » 一片空白的UTF-8網頁:::

如果你用了 Blogger 發現在 IE 裡一片空白,那麼請參考這一頁的內容
:::zonble’s promptbook » 一片空白的UTF-8網頁:::

另外,請到個人設定裡的[範本]->[修改目前的],把[<$BlogMetaData$>]這一行拿到<head>跟<title>中間,讓 IE 能優先讀到<meta>裡的字元編碼設定。

總之一句話:"如果要讓 IE 能正常的 parse UTF-8 網頁,務必要讓 IE 在讀到任何中文前先讀到 <META> 的編碼設定"。

FireFox 在這一點的表現,比 IE 好太多了。

2005-12-02

Cisco Router 設定 - 學校 CCNA 上的內容

環境: 3 顆 router (RA,RB,RC)
網段:192.168.10.1/24 192.168.11.1/24
目的:透過 RB 來做 RA 與 RC 間的 routing

步驟:

//清掉資料
>en
#erase startup
#reload

//設定
Router>en
Router# config t
Router(config)# hostname RA ( 變更 hostname )
Router(config)# int S0 ( 操作 serial 0 的介面 int => interface)
Router(config-if)#ip address 192.168.10.1 255.255.255.0
RA(config-Router)#no shutdown
//如果接線是 DCE
Router(config-if)#clock rate 56000 ( 發送端每 56000s 同步一次 RIP )
ctrl + z

RA#show int S0 //可以秀出 interface S0 的狀態

*DCE 跟 DTE,必須清楚跟 router 上 serial port 接的 cable 線是屬於 DCE 或 DTE
//設 RIP 資料,每一台 Router 都要設定自己的 RIP,RIP 範圍為自己所擁有的網段,
//這樣若有別台 router 的封包 routing 過來,才有辦法將它正確 route 到所屬網段上
RA#config t
RA(config)#Router RIP
RA(config-Router)#Network 192.168.10.0
RA(config-Router)#exit
RA(config)#exit

//其他台設定大同小異,只是要注意 RIP 的設定

RA RB RC
<==>S0 -------- S1<==>S0 -------- S1<==>
| | | |
192.168.10.1/24 | 192.168.11.1/24 192.168.11.2
192.168.10.2/24


RA 設定了 192.168.10.1/24 的網段,
RC 設定了 192.168.11.2/24 的網段,
RB 因為要溝通 RA 與 RC,所以它的 serial port S1 要對接 RA 的 S0,S0 要對接 RC 的 S1
所以 RB 必須要設定兩個介面的 RIP 與網段,才有辦法幫 RA 與 RC 做 routing

設定完後以 RC ping RA 的網段,以 RA ping RC 的網段,會通就是正常啦

MySQL Cluster 初步 Study ( 內容有錯誤,請指教 )

#Mysql 5 up
#內容有錯誤,請指教

MySQL 的 Cluster 是在原本的 MySQL Server 架構下建立一個 in-memory 的 "clustered storage engine"(術語 NDB)

每一個資料庫在這個架構下都稱為一個"node",而這些"node"必要有一台"management server"來管理,而除了將資料庫成為一個"data node",還會產生一個叫"mysql server"的"sql node",以供應用程式 access,當資料透過"sql node"寫進某一個"date node",這時就會將資料由這個"data node"立即的更新到其他的"data node"

*所謂的"management server"指的可以說是一個 mysql cluster 裡的行程,也可以算是一個"node",而且它必須是優先啟動於其他"data node",因為其他的"data node"會讀取它的 configuration data,並且透過它來管理每一個"data node"跟備份還有 log

*"這裡的 data-node" 指的不是單一台電腦,而是在指 mysql cluster 的 process,也就是說,每一台單一實體 mysql server,可以建立許多個"Mysql Cluster 的 data node"

*sql-node指的則是用來跟 data-node"溝通"的管道,在 Mysql Cluster 的架構下,application 是透過 sql-node 來 access,並非直接對"db" access

而NDB也可以設定 failover (意思就是當某一台掛掉,另一台可以接續它的工作繼續服務)跟 load-blance

所以大概得出的結論
1.Mysql 以 process 的方式來"模擬" Cluster
2.因為每個 data-node 都是一個 process,所以所等於是先在 memory 動作,之後它的 cluster 機制會再自己寫回實體 db
3.因此可以達到單一實體 server 做 mysql cluster...( 好像蠻噁心 )

MySQL Cluster Overview
Basic MySQL Cluster Concepts