วันเสาร์ที่ 30 เมษายน พ.ศ. 2554

How to Static Route ( IP Router )

เรื่อง IP และการแบ่ง Subnet ผมขอไม่พูดถึงนะคับ


การเร้าเป็นการแลกเปลี่ยนตารางที่เร้าเตอร์ใช้เก็บเส้นทางในการส่งแพกเก็ตไปยังปลายทาง
โดยตารางจะประกอบไปด้วย ip , subnet maskของปลายทาง และช่องทางที่จะส่งแพ็กเก็ตต่อไปหน้าตาก็ประมาณนี้คับ

การเพิ่มเส้นทางลงไปในตารางนั้นเรียกว่าการเร้า (Route) โดยการเร้าจะแบ่งออกเป็นสองแบบใหญ่ๆคือ
แบบ static ก็คือการกำหนดค่าต่างๆลงไปในตารางเอง และ
แบบ dynamic จะให้ routing protocol คำนวนเส้นทางให้
ในส่วนนี้จะขอพูดถึง Static route ก่อน

การ Route เราจะต้องพิมพ์คำสั่งต่างๆลงใน global configuration mode หรือใน config terminal
การ Route แบบ Static จะต้องพิมพ์คำสั่ง 
ip route <Destination Net ID> <Subnet Destination> <Gateway หรือ Interface> <distance metric>
ค่า distance metric คือลำดับความสำคัญ โดยค่าน้อย จะมีความสำคัญมาก และจะนำมาพิจารณาก่อน 
(ไม่ใส่ก็ได้ ในส่วนนี้จะยังไม่ต้องคำนึงถึง เนื่องจากยังไม่ได้ใช้ จะได้ใช้ในส่วนของการเร้าข้ามโปรโตคอล์หรือในกรณีอื่นๆ)


หน้านี้ผมจะ config เหมือนวางระบบใหม่ทั้งหมดนะคับ จะได้เข้าใจกันง่ายๆ โดยทำตั้งแต่กำหนด IP และเปิดการทำงานของ Interface เลย


ตัวอย่างการ config นะคับ
จากรูปจะเร้าLAN1 กับ LAN2 เข้าหากัน(ทำให้มันส่งข้อมูลหากันได้นั่นเอง)ด้วย Static route
ที่ R1 config ตามนี้นะคับ
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#host                                                                          กด Tab
Router(config)#hostname R1
R1(config)#int fa0/0
R2(config-if)#no shut                                                      เปิดการทำงาน interface ที่เข้ามา(fa0/0)
R1(config-if)#ip add 192.168.1.1 255.255.255.0      กำหนด ip ให้กับ Interface
R1(config-if)#int fa0/1
R2(config-if)#no shut
R1(config-if)#ip add 10.0.1.1 255.255.255.252
R1(config-if)#exit
R1(config)#ip ro                                                                                                tab
R1(config)#ip route 192.168.2.0 255.255.255.0 10.0.1.2

Router>en
Router#conf t
Router(config)#host R2
R2(config)#int fa0/0
R2(config-if)#ip add 192.168.2.1 255.255.255.0
R2(config-if)#no shut
R2 (config-if)#int fa0/1
R2 (config-if)#ip add 10.0.1. 2 255.255.255.252
R2(config-if)#no shut
R2 (config-if)#exit
R2 (config)#ip ro 192.168.1.0 255.255.255.0 10.0.1.1

ตัวอย่างต่อไป




จากรูปผมเพิ่มserver เข้ามานะคับ โจทย์คือ ให้ทั้งหมดสามารถติดต่อกันได้ซึ่งก็คล้ายกับตัวอย่างแรก

ผมจะเริ่มจากกำหนด ip ให้ router แต่ละตัวก่อนนะคับ


เมื่อกำหนด IP ให้แต่ละ interface ของ router แล้ว ต่อไปจะทำการเร้านะคับ

ในกรอบต่างๆคือผมพิมพ์ผิดนะคับ ไม่ตั้งใจจะผิดแต่มันเบลอ ไหนๆก็ผิดแล้วเลยทิ้งไว้อธิบายเลย
ในกรอบเหลืองคือผมพิมพ์ไม่ครบนะคับ มันเลยบอกประมาณว่า สิ่งที่ใส่ไปไม่ถูกต้องให้ตรวจสอบตรงทีมีเครื่องหมาย ^ (มันจะพยายามชี้ในจุดที่คิดว่าเราพิมพ์ผิด)

กรอบแดง ผมพิมพ์คำสั่งถูก และครบตามรูปแบบและมีผลกับเร้าเตอร์ด้วย พูดง่ายๆก็คือมันคิดว่าถูกนั่นแหละและจะทำตามนั้น แต่ผมใส่หมายเลข IP ผิดจึงได้มีคำสั่งในกรอบสีน้ำเงินขึ้นมา เพื่อเป็นการยกเลิกคำสั่งที่ผมพิมพ์ผิดไป เมื่อยกเลิกแล้วผมก็พิมพ์ที่ถูกลงไปใหม่ คือที่อยู่นอกกรอบ



เสร็จละคับ แต่ ip route สามารถทำแบบนี้ได้ด้วย (เฉพาะ R3 นะคับ)
ที่เป็นแบบนี้เพราะ คำสั่ง ip route 192.168.0.0 255.255.0.0 10.1.1.1
มีความหมายว่า แพกเก็ตใดที่เขามากมี Destination IP ที่ขึ้นต้น 192.168 
(subnet 255.255.0.0 เป็นตัวบอกตามหลักการของ IP และ Subnet)
ให้ส่งออกไปที่ 10.1.1.1 ซึ่งมันจะไปตรวจสอบว่า ต่ออยู่ที่ interface ใดของมัน
และส่งออกไปท่างนั้น
หากพิมพ์  ip route 192.168.1.0 255.255.0.0 10.1.1.1 มันจะไม่ยอมไม่แน่ใจนะคับว่าเพราะอะไร ถ้าให้เดาก็คงเป็นเพราะไม่ตรงกับหลักการของ IP และ subnet นั่นแหละคับ

ถ้าไม่เข้าใจก็ลองดูพวกนี้นะคับ เพราะผมยังใหม่

วันศุกร์ที่ 29 เมษายน พ.ศ. 2554

Basic config router

จากอันก่อนได้บอกไว้ว่าการ telnet นั้นต้องมี ip และ password เพื่อใช้ในการ telnet และ router ใหม่ จะยังไม่มี ip และทุกๆ port จะยังไม่ทำงาน เริ่มเลยแล้วกัน


โปรแกรม simulator ที่แนะนำให้ใช้ตัวแรกก็คงเป็น packet tracer แหละคับ เพราะมันใช้ง่าย
หาโหลดไม่ยากคับตัวนี้


connect router แล้วทำตามนี้นะคับ อันไหนก่อนก็ได้แต่ต้องเข้าให้ถูกโหมด
ให้คิดว่าแต่ละโหมดเป็นโฟลเดอร์นะคับ
cisco จะมี help คือหากเราพิมพ์คำสั่งไปส่วนหนึ่งแล้วกด ? มันจะโชว์คำสั่งที่มีโอกาสเป็นไปได้ทั้งหมด
หรือหากมีตัวเดียวแล้วเรากด tab มันจะพิมพ์คำสั่งเต็มๆให้คับ ถ้ากด tab แล้วไม่เกิดอะไรขึ้นคือ เราพิมพ์เต็มแล้วหรือไม่ก็ไม่มีคำสั่งนั้น
เพื่อให้เข้าใจได้ง่ายขึ้น คล่าวๆนะคับ ใน config terminal(global config) จะเป็นการคอนฟิกเร้าเตอร์ทั้งตัว
ใน config interface จะเป็นการคอนฟิกเฉพาะในอินเตอร์เฟสนั้นๆ
ส่วนใน enable ก็จะเป็นคำสั่งทั่วๆไป เช่น ping ,show ค่าต่างๆ หรือ copy การลบคอนฟิก(erase) reload ฯลฯ
เราสามารถใช้คำสั่งใน enable mode(private mode) ได้ในโหมดอื่น เช่นปกติจะใช้คำสั่ง
Router#sh run  แต่หากอยุ่ในโหมดอื่นให้ใช้ คำว่า do นำหน้าดังนี้

Router(config)#do sh run
Router(config-line)#do sh run
Router(config-if)#do sh run
คำสั่งเหล่านี้จะให้ผลเหมือนกันคือเหมือนกับการใช้ sh run ใน private mode
(Router#sh run)

ในการเข้า config router ถ้าเป็น Router ตัวใหม่ หรือ
Router ที่ลบ startup-config ออกจะมีคำถาม

Would you like to enter basic management setup? [yes/no]:
เป็นเหมือนตัวช่วยน่ะคับถ้าตอบ yes แล้วตอบตามที่โปรแกรมถามก็จะสามารถ  telnet ได้เลย

หรือไม่ก็ตามนี้คับ
ตั้งรหัสผ่านตอนเข้า enable mode


Router>enable                                            เข้าสู่ enable mode
Router#conf t                                  เข้าสู่โหมดของ config terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#enable secret <password> กำหนด password สำหรับเข้า enable mode


หรือจะใช้ enable password แทน enable secret ก็ได้
   Router(config)#enable password <password>
แต่การใช้ enable secret จะมีความปลอดภัยมากกว่า เพราะเวลาเราใช้คำสั่ง show พาสเวิร์ดต่างๆที่เราคีย์เข้าไปจะขึ้นมาด้วย หากใช้ enable secret จะมีการเข้ารหัสไว้ส่วน enable password ไม่มี

การตั้งรหัสผ่านสำหรับการ telnet

Router(config)#line vty 0 4         ตัวเลขทั้งสองตัวคือจากline ศูนย์ ถึง line สี่ นั่นก็คือจำนวนเครื่องที่สามารถ telnet เข้ามาพร้อมกันได้นะคับลองใช้ help ดู
Router(config-line)#password <password>   กำหนด password ที่ให้ในการ telnet
Router(config-line)#login                      สั่งให้มีการล๊อกอิน หากไม่มีคำสั่งนี้จะไม่มีการล๊อกอินแล้วจะไม่สามารถ telnet เข้ามาได้

หรือ

Router(config)#line vty 0 4
Router(config-line)#login local        คำสั่งนี้จะสั่งให้มีการล๊อกอินแบบ local คือจะมีการกำหนด username และ password โดยใช้คำสั่ง username ใน config terminal


Router(config)#line con 0
Router(config-line)#password <password>   กำหนด password ที่ใช้ในการ connect กับ router เมื่อต่อผ่าน console
Router(config-line)#login สั่งให้มีการล๊อกอิน หากไม่มี ก็จะสามารถเข้า router ได้เลยโดยไม่ติด password

หรือใช้ 
Router(config-line)#login local  ก็ได้

คำสั่ง username

Router(config)#username <username> password <password>
คำสั่งนี้จะมีผลกับทุก line ที่ใช้คำสั่ง login local 

ในการ telnet ไม่ต้องตั้ง password ที่ line con 0 ก็สามารถทำการ telnet เข้ามาใช้งานได้แล้ว แต่ควรตั้งนะคับ

วันอังคารที่ 26 เมษายน พ.ศ. 2554

How to connect a router (Hyperterminal putty telnet)

การติดต่อกับเร้าเตอร์ (router) มีสองวิธีด้วยกันคือ ผ่านทาง console และการ telnet
เร้าเตอร์ใหม่หรือไม่มีคอนฟิกจะไม่สามารถ telnet ได้เพราะ เร้าเตอร์ใหม่ port ทั้งหมดยกเว้น console จะยังไม่เปิดใช้งาน และมี Ip การจะ telnet ได้จะต้องรู้ ip และมีการตั้งค่าพาสเวิร์ดไว้ ดังนั้น มาคุยกับเร้าเตอร์ผ่าน console กันก่อนดีกว่า โปรแกรมที่ผมใช้คือ putty และ Hyperterminal ส่วนตัวแล้วชอบ putty มากกว่าเพราะมันใช้ง่ายกว่า ^^

ใครใช้ ubuntu ก็ลำบากหน่อยนะคับ http://strumjub.blogspot.com/2011/04/how-to-install-minicom-and-enable-usb.html

ผมใช้สาย RS232 ส่วนหน้าตาก็ประมาณนี้


ลง driver ให้เรียบร้อยนะคับ แล้วก็มาคุยเรื่องของเรากันต่อ

หากจะใช้ putty หาโหลดได้ใน google ได้เลยคับ  ส่วนวิธีใช้ก็
ตามนี้นะคับ http://strumjub.blogspot.com/2011/04/how-to-connect-router-or-switch-by.html

Hyperterminal ก็ http://www.amphur.in.th/hyperterminal-in-windows7-and-vista/
ติดตั้งตามนั้นนะคับ (ก๊อบวางนั่นแหละ ผมโหลดมาแตกไฟล์เสร็จใช้ได้เลยอ่ะไม่ต้องก๊อบไรไปไว้ไหนนะ ก็ลองดู) วิธีใช้ก็เข้าไปที่โปรแกรมแล้วจะเจอ



ในช่อง name ใส่อะไรก็ได้ แล้วกด OK (จริงๆแล้วถ้าเป็น windows xp ด้านล่างในช่อง icon จะมีรูปให้ดูด้วยนะคับ แต่ผมใช้ใน 7 เลยไม่มี แต่ไม่ต้องไปใส่ใจเพราะ connect router ไม่ได้ใช้คับ)


ต่อไปก็จะเจอหน้านี้นะคับ



ตรงนี้ให้เปลี่ยน connect using ให้เป็น port com ที่ตั้งไว้ใน Device manger คับ


ก็กด ok ไปตาม step แหละคับ

เปลี่ยนค่าต่างๆให้เหมือนกับที่ตั้งไว้ใน device manger หรือกด restore defaults
เราก็จะได้หน้าตาแบบนี้
กด ok ก็เสร็จแล้วคับ แล้วเราก็พร้อมที่จะทำการ Config Router หรือ Switch กันแล้ว
มันจะเป็นหน้าขาวๆอ่าคับ  Enter ซักทีนึง ก็ OK ละ

ทิ้งท้ายซักนิด ถ้าเกิดโชคดีเจอ router ตัวที่มีการตั้งพาสเวิร์ดไว้ที่ line con 0
ก็จะต้องใส่พาสเวิร์ดก่อนเข้าใช้งานนะคับ
และถ้าหากเข้าไม่ได้ ลองไปเปลี่ยน port ดูนะคับ เพราะผมก็เคยโดนมา นั่ง งงนานทีเดียว


ต่อไปเป็นการ Telnet คับ router หรือ Switch ที่เราจะทำการ telnet เข้าไปนั้นเราจะต้องรู้ ip user name(ถ้ามี) password ตามที่ได้กลาวไว้ตอนต้น สมมุติว่าไม่ครบแล้วนะคับ

ใน  windows vista ,7  ไม่ได้เปิดการใช้งาน telnet ไว้ให้เราใช้นะคับ
แต่ไม่ต้องห่วง ทุกปัญหามีทางออก
หากเราต้องการใช้ telnet ใน cmd.exe แล้วล่ะก็ เข้าไปที่ Programs and Features
ใน Control Panel แล้วเข้าไปที่ Turn Windows Features on or off

แล้วก็มาติ๊กถูกที่หน้า Telnet client กด OK ก็เป็นอันเสร็จเรียบร้อย


ต่อมาก็รัน cmd.exe ขึ้นมาเลยคับ
อย่ารอช้า ใส่คำว่า telnet แล้วตามด้วย ip ของเร้าเตอร์ตัวที่เราต้องการจะเข้าเลยคับ
(ถ้าเร้าแล้ว interface ไหนก็ได้คับ)
แล้วมันก็จะขึ้นให้เราใส่ User (ถ้ามีนะ) แล้วก็ตามด้วยพาสเวิร์ด


ส่วน putty นั้นง่ายกว่านิดนึง เพียงแค่เลือก telnet แล้วใส่ ip จากนั้นก็ทำงานเหมือนกันเลยคับ คือ ใส่ username และpassword



หมายเหตุ ที่ผมใส่วงเล็บไว้หลัง username นั้นเพราะ Router บางเครื่องต้องใส่ บางเครื่องไม่ต้องใส่ ขึ้นอยู่กับว่า config แบบไหนไว้น่ะคับ