ยินดีต้อนรับสู่ show running-config ครับ

บล็อก show running-config นี้สร้างไว้เพื่อเป็นแหล่งรวบรวมเทคนิคการตั้งค่าอุปกรณ์เครือข่าย Cisco ไม่ว่าจะเป็น Cisco IOS Router, Cisco Catalyst Swtich, Cisco ASA Firewall, Cisco Mars เป็นต้น รวมทั้งอาจจะมีเทคนิคการตั้งค่าอุปกรณ์ในยี่ห้ออื่น ๆ บ้างเล็กน้อยครับ

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

Friday, February 4, 2011

การตั้งค่า Dynamic DNS บน Cisco IOS Router

configure Dynamic DNS on Cisco IOS Router

ddns on cisco ios router

          สวัสดีครับเพื่อน ๆ ในวันนี้ผมจะมาแนะนำการตั้งค่า DDNS บนอุปกรณ์ Cisco IOS Router กันครับ DDNS นั้นเป็นบริการในการจับคู่ชื่อ Domain กับหมายเลข IP Address ที่มีการเปลี่ยนแปลงตลอดเวลาให้โดยอัตโนมัติ ช่วยให้สามารถติดต่อสื่อสารกับปลายทางที่เป็นเครือข่ายที่ใช้งาน Dynamic IP Address ได้ โดยการเรียกไปยัง Domain ที่กำหนดเอาไว้ สามารถนำไปประยุกต์ใช้ในการตั้ง Server ต่าง ๆ เช่น Web Server, FTP Server หรือใช้ดูกล้อง CCTV ตามบ้านผ่านอินเทอร์เน็ตแบบ ADSL ได้ครับ

          ก่อนที่จะทำการตั้งค่า DDNS นั้น เรามาทำความรู้จักกับ DNS กันก่อนนะครับ DNS หรือ Domain Name Server เป็น Server ที่ใช้ในการรวบรวมรายชื่อ Domain และรายละเอียด IP Address ของแต่ละ Domain เอาไว้ ทำหน้าที่ให้บริการแปลงชื่อ Domain เป็น IP Address หรือแปลง IP Address เป็นชื่อ Domain เนื่องจากในการที่เราต้องการติดต่อสื่อสารกับปลายทางต่าง ๆ นั้นเราจะต้องใช้ IP Address ในการระบุถึงปลายทางที่ต้องการ แต่โดยทั่วไปเพื่อความสะดวกในการใช้งานนั้นเราจะเรียกไปยังจุดหมายปลายทางโดยใช้ชื่อ Domain แทนการใช้ IP Address เช่น ต้องการเปิดเวป google ถ้าเราใช้ IP Address ตรง ๆ ไม่เรียกตามชื่อ Domain เราก็ต้องระบุในช่อง URL ว่า 209.85.175.104 ซึ่งจำยากและไม่สะดวกในการใช้ แต่ถ้าเราเรียกโดยใช้ชื่อ Domain นั้น เราก็สามารถระบุในช่อง URL เป็น www.google.com ได้เลย ซึ่งมีความสะดวกในการใช้งานมากกว่าครับ

          ในขั้นตอนการทำงานของ DNS นั้น ยกตัวอย่างเมื่อเราเปิด web browser ขึ้นมาและใส่ URL ไปที่ www.google.com เครื่องของเราจะทำการส่งข้อมูลไปถาม DNS Server ว่า Domain ที่ชื่อ google.com นี้มี IP Address เป็นอะไร จากนั้น DNS Server ก็จะตอบกลับมา และเมื่อเครื่องของเราทราบแล้วว่า www.google.com นี้มีปลายทางอยู่ที่หมายเลข IP Address อะไร แล้วจึงทำการส่งข้อมูลไปยังปลายทางนั้น ๆ ได้อย่างถูกต้องครับ

          ในการใช้งานอินเทอร์เน็ตตามบ้านหรือสำนักงานขนาดเล็ก ๆ โดยทั่วไปก็จะใช้ ADSL แบบ Dynamic IP Address ซึ่งมีราคาที่ค่อนข้างถูก แต่จะมีข้อเสียคือ จะมีการเปลี่ยน IP Address ในทุก ๆ วันหรือทุก ๆ ครั้งที่มีการเชื่อมต่อใหม่ เพราะฉะนั้นถ้าเราต้องการที่จะตั้ง Server หรือต้องการส่งข้อมูลไปยังปลายทางที่เป็นเครือข่าย ADSL แบบ Dynamic IP Address นี้ เราจะไม่สามารถรู้ได้เลยว่าปัจจุบัน IP Address บนเราเตอร์ ADSL ของเรานี้เป็นอะไร จึงต้องอาศัยบริการของ DDNS ที่มีหลักการทำงานคล้าย ๆ กับ DNS ทั่วไป เพียงแต่ DNS นั้นจะทำการเก็บข้อมูลชื่อ Domain Name และ IP Address แบบถาวร จะต้องมีการจดทะเบียนชื่อ Domain ก่อนการใช้งาน แต่ DDNS นั้น จะให้บริการในการจับคู่ IP Address ที่เปลี่ยนแปลงตลอดเวลาเข้ากับชื่อ Domain ที่เรากำหนดโดยอัตโนมัติ ซึ่งสามารถนำมาใช้กับ Dynamic IP Address ของเครือข่ายที่เป็น ADSL ได้

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

          แต่ก่อนที่เราจะมาทำการตั้งค่า DDNS บนอุปกรณ์ Cisco IOS Router ของเรานั้น อันดับแรกเราก็ต้องไปสมัครสมาชิกกับเวปที่ให้บริการในด้าน DDNS กันก่อนครับ ซึ่งมีอยู่หลายเจ้าทีเดียว แต่ที่จะนำมาเป็นตัวอย่างในวันนี้คือ www.dyndns.com ซึ่งเป็นผู้ให้บริการ DDNS ที่มีผู้ใช้งานอย่างแพร่หลายและน่าเชื่อถือมากที่สุดเวปนึงครับ

          เอาล่ะครับ ก่อนที่จะเริ่มทำการตั้งค่าบนเราเตอร์ก็ขอให้เพื่อน ๆ เข้าไปสมัครสมาชิกที่ www.dyndns.com กันก่อนเลยครับ เมื่อทำการสมัครสมาชิกเสร็จแล้ว จากนั้นก็ให้ทำการเพิ่ม Hostname เข้าไปก่อนนะครับ ซึ่ง Hostname นี้ก็จะเป็น Domain name ที่เราจะใช้อ้างถึงเมื่อต้องการติดต่อมาครับ โดยให้ไปที่ My Account > My Host > Add Host Services นะครับ เมื่อเข้ามาแล้วก็ให้ทำการตั้งชื่อ Hostname ตามต้องการเลยครับ จากนั้นในช่อง IP Address ก็ให้ใส่ IP Address อะไรไปก็ได้ก่อนนะครับ หรือจะคลิกที่ “Your current location's IP address is x.x.x.x” ไปก่อนก็ได้ครับ จากนั้นก็คลิกที่ Add To Cart แล้วก็ Next > Activate Services ตามขั้นตอนไปเรื่อย ๆ ครับจนกว่าจะเสร็จ

3-2-2554 16-23-39

          เมื่อทำการตั้งค่าบน www.dyndns.com เรียบร้อยแล้ว เราก็จะมาเริ่มทำการตั้งค่าบนอุปกรณ์ของเรากันครับ แต่ก่อนอื่นเราเตอร์ของเรานี้จะต้องสามารถเชื่อมต่อไปยังอินเทอร์เน็ตได้แล้วนะครับ ในขั้นตอนแรกนี้จะเป็นการตั้งค่าที่เกี่ยวข้องกับ DNS ของเราครับ

          เมื่อทำการตั้งค่าบน www.dyndns.com เรียบร้อยแล้ว เราก็จะมาเริ่มทำการตั้งค่าบนอุปกรณ์ของเรากันครับ ซึ่งอุปกรณ์ของเรานี้จะต้องสามารถเชื่อมต่อไปยังอินเทอร์เน็ตได้แล้วนะครับ สำหรับการตั้งค่า DDNS ในขั้นตอนแรกก็จะเป็นการตั้งค่าที่เกี่ยวข้องกับ DNS บนเราเตอร์ของเร่าครับ

ตัวอย่าง
Running-config(config)#ip domain lookup source-interface Dialer1
Running-config(config)#ip name-server 203.144.207.29

          จากตัวอย่างด้านบนเป็นการตั้งค่าที่เกี่ยวกับ DNS โดยให้เราเตอร์ตัวนี้ใช้ DNS Server ที่มี IP Address เท่ากับ 209.144.207.29 และกำหนดให้ใช้ IP Address ของอินเทอร์เฟส Dialer 1 (ให้ใช้อินเทอร์เฟสในฝั่งที่เชื่อมต่อไปยังอินเทอร์เน็ต) ในการติดต่อกับ DNS Server

          ในขั้นตอนต่อมา จะเป็นการตั้งค่าวิธีการในการ update หมายเลข IP Address ในปัจจุบันของเราไปยังเวปไซต์ dyndns.com ครับ

ตัวอย่าง
Running-config(config)#ip ddns update method running-config
Running-config(DDNS-update-method)# http    
Running-config(DDNS-HTTP)# add http://username:password@members.dyndns.org/nic/update?hostname=<h>&myip=<a>
Running-config(DDNS-HTTP)# interval maximum 1 0 0 0
Running-config(DDNS-update-method)#exit

          การตั้งค่าด้านบน เป็นการสร้างวิธีการในการ update ddns ที่มีชื่อว่า running-config (สามารถเปลี่ยนได้นะครับ) โดยใช้วิธีการ update แบบ HTTP จากนั้นในส่วนของ HTTP message ที่จะส่งไป update ในส่วนของ username และ password ก็ให้เพื่อน ๆ ใส่ username และ password ที่ใช้ในการสมัครสมาชิกลงไปครับ และเครื่องหมาย “?” นั้น โดยปกติเมื่อพิมพ์แล้วเราเตอร์จะขึ้นคำสั่งช่วยเหลือขึ้นมา ใช่มั้ยครับ ในกรณีนี้ให้เพื่อน ๆ กด Ctrl+V พร้อมกันก่อน จากนั้นจึงค่อยกดเครื่องหมาย “?” ครับ จากนั้นก็จะเป็นการตั้งค่าช่วงเวลาที่จะให้ส่ง update ไปครับ ซึ่งตามตัวอย่างนี้ผมได้ตั้งเวลาไว้ที่ 1 วัน 0 ชั่วโมง 0 นาที 0 วินาทีครับ ซึ่งเพื่อน ๆ ก็สามารถปรับเปลี่ยนค่าได้ตามสะดวกเลยครับ

          จากนั้นจะเป็นการตั้งค่าบนอินเทอร์เฟสที่ใช้ในการเชื่อมต่อไปยังอินเทอร์เน็ตหรืออินเทอร์เฟสฝั่ง WAN กันนะครับ ก็จะเป็นการตั้งค่า hostname และกำหนดวิธีการที่จะใช้ในการ update DDNS ไปครับ

ตัวอย่าง
Running-config(config)#interface dialer 1
Running-config(config-if)# ip ddns update hostname running-config.dyndns.info
Running-config(config-if)# ip ddns update running-config host members.dyndns.org
Running-config(config-if)#exit

          เพียงเท่านี้ก็เสร็จสิ้นการตั้งค่าเรียบร้อยแล้วครับ สามารถตรวจสอบการทำงานได้ด้วยการใช้คำสั่ง “show ip ddns update” หรือ “show ip ddns update method” หรือ “debug ip ddns update”นะครับ

ตัวอย่าง
Running-config#show ip ddns update
Dynamic DNS Update on Dialer1:
  Update Method Name            Update Destination
  running-config                        host: members.dyndns.org

Running-config#show ip ddns update method
Dynamic DNS Update Method: running-config
  Dynamic DNS update via HTTP based protocols
    URL used to add DNS records: http://username:password@members.dyndns.org/nic/update?hostname=<h>&myip=<a>
    URL used to remove DNS records:
  Maximum update interval: 1 days 0 hours 0 minutes 0 seconds

Running-config#debug ip ddns update
Dynamic DNS debugging is on
000247: Dec 18 19:19:44.938 TH: HTTPDNSUPD: Call returned SUCCESS for update running-config.dyndns.info <=> 58.8.85.101

          หรืออาจจะทดสอบโดยการ reset อินเทอร์เฟสที่เชื่อมต่อไปยัง WAN ดูและก็เข้าไปดูในหน้าเวป dyndns ของคุณว่า IP Address ที่ได้มานั้นตรงกับ IP Address ในปัจจุบันของอุปกรณ์หรือไม่ก็ได้ครับ

สรุปตัวอย่างคำสั่งที่ใช้งานครับ
Running-config(config)#ip domain lookup source-interface Dialer1
Running-config(config)#ip name-server 203.144.207.29
Running-config(config)#ip ddns update method running-config
Running-config(DDNS-update-method)# http    
Running-config(DDNS-HTTP)# add http://username:password@members.dyndns.org/nic/update?hostname=<h>&myip=<a>
Running-config(DDNS-HTTP)# interval maximum 1 0 0 0
Running-config(DDNS-update-method)#exit
Running-config(config)#interface dialer 1
Running-config(config-if)# ip ddns update hostname running-config.dyndns.info
Running-config(config-if)# ip ddns update running-config host members.dyndns.org
Running-config(config-if)#exit

No comments:

Post a Comment