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

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

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

Thursday, January 13, 2011

การตั้งค่า Site to Site IPSec VPN แบบ Pre-Shared Key Authentication บน Cisco IOS Router

configuration site to site ipsec vpn pre-shared key authentication on cisco ios router

s2s ipsec vpn on cisco ios router

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

          และสำหรับใครที่ยังไม่รู้จักว่า IPSec VPN ทำงานอย่างไร ก็เชิญติดตามบทความ : ทำความรู้จักกับ IPSec VPN (ภาคทฤษฏี) ก่อนเลยนะครับ แต่สำหรับใครที่รู้จักกับ IPSec VPN มาบ้างแล้ว ก็มาเริ่มดูตัวอย่างการตั้งค่ากันเลยนะครับ

          ในตัวอย่างการตั้งค่าในวันนี้นั้น เป็นการตั้งค่า IPSec VPN แบบ Site to Site โดยใช้การพิสูจน์ตัวตนของอุปกรณ์ที่ใช้ในการทำ VPN แบบ Pre-shared Key โดย Pre-shared Key นี้ก็เป็นเสมือน password ที่เราทำการกำหนดไว้ในขั้นตอนการตั้งค่า IPSec VPN นะครับ ซึ่งเป็นการตั้งค่าแบบที่ง่ายและนิยมใช้งานมากที่สุดเหมาะสำหรับนำไปใช้กับเครือข่ายที่มีขนาดไม่ใหญ่มากครับ

          เอาล่ะครับเรามาเริ่มดูตัวอย่างการตั้งค่ากันเลยดีกว่านะครับ ในการตั้งค่า Site to Site IPSec VPN โดยพิสูจน์ตัวตนแบบ Pre-shared Key บน Cisco IOS Router นั้นมีขั้นตอนทั้งหมด ดังนี้ครับ

  1. ตรวจสอบการเชื่อมต่อของระบบเครือข่าย ว่าสามารถติดต่อสื่อสารระหว่างอุปกรณ์ที่จะใช้ในการทำ IPSec VPN ได้อย่างปกติ
  2. ตรวจสอบว่าไม่มีการใช้งาน access-list ที่ขัดขวางต่อการทำงานของ IPSec VPN โดยควรตรวจสอบให้แน่ใจว่าไม่ได้ block ทราฟิกต่อไปนี้
    • IP Protocol 50(ESP) และ 51(AH)
    • UDP Port 500
  3. ตั้งค่า ISAKMP Policy Set เพื่อใช้ในการสร้าง ISAKMP SA โดยจะต้องทำการกำหนดค่าให้ตรงกันระหว่างอุปกรณ์ที่ใช้ในการทำ IPSec VPN ซึ่งจะมีค่าที่ต้องทำการกำหนด ดังต่อไปนี้
    • Authentication กำหนดวิธีการที่จะใช้ในการพิสูจน์ตัวตน ซึ่งเราจะใช้ Pre-shared Key
    • Encryption เลือก algorithm ที่จะใช้ในการเข้ารหัสข้อมูล โดยตัวเลือกที่เรียงตามระดับการรักษาความปลอดภัย มีดังนี้ DES, 3DES, AES
    • Hash เลือก algorithm ที่จะใช้ในการตรวจสอบความถูกต้องของข้อมูล โดยจะมีตัวเลือกเรียงตามระดับความปลอดภัย ดังนี้ MD5, SHA
    • DH Group เลือกขนาดของจำนวนเฉพาะที่จะนำมาใช้ในการแลกเปลี่ยน Key ระหว่างอุปกรณ์ โดยจะมีตัวเลือก เรียงตามระดับการรักษาความปลอดภัย ดังนี้ group 1(768 bit), group 2 (1024 bit), group 5 (1536 bit) และ group 7 (Eliptical Curve field size:163 bit)
    • Life Time ทำการกำหนดช่างเวลาที่จะใช้ ISAKMP SA นี้ โดยเมือหมดช่วงเวลานี้ลงไป จะต้องทำการสร้าง ISAKMP SA ใหม่ขึ้นมาทดแทน
      • หมายเหตุ ในการเลือกใช้งาน algorithm ในรูปแบบต่าง ๆ ถ้าเลือกที่จะใช้งานระดับการรักษาความปลอดภัยที่สูงจนเกินไป ก็อาจจะส่งผลให้ทำงานได้ช้าลง จึงควรที่จะเลือกระดับการรักษาความปลอดภัยที่เหมาะสมกับการใช้งานของแต่ละองค์กรเอง ว่าต้องการระดับความปลอดภัยที่สูง หรือต้องการใช้งานได้รวดเร็ว
  4. ทำการกำหนด Pre-Shared Key ที่ใช้ในการพิสูจน์ตัวตนของอุปกรณ์ที่ใช้ในการทำ IPSec VPN
  5. ตั้งค่า IPSec transform Set เพื่อนำมาสร้าง IPSec SA โดยจะต้องทำการกำหนดค่าให้ตรงกันระหว่างอุปกรณ์ที่ใช้ในการทำ IPSec VPN ซึ่งจะมีค่าที่ต้องทำการกำหนด ดังต่อไปนี้
    • Encryption ทำการเลือก algorithm ที่จะนำมาใช้ในการเข้ารหัสข้อมูลที่จะส่งไปใน IPSec Tunnel โดยทั่วไปจะมีตัวเลือกเรียงตามระดับการรักษาความปลอดภัย ดังนี้ esp-des, esp-3des, esp-aes เป็นต้น
    • Authentication ทำการเลือก algorithm ที่จะนำมาใช้ในการตรวจสอบความถูกต้องของข้อมูลว่าไม่มีการเปลี่ยนแปลง โดยทั่วไปจะมีตัวเลือกเรียงตามระดับการรักษาความปลอดภัย ดังนี้ esp-md5-hmac, esp-sha-hmac
    • Mode(ทางเลือก) โดย defautl บนอุปกรณ์ Cisco IOS จะใช้งาน Tunnel mode แต่สามารถที่จะเปลี่ยนไปใช้ Transport Mode ได้
  6. ทำการสร้าง ACLเพื่อกำหนดถึงทราฟิกที่อนุญาตให้ใช้งาน IPSec VPN
  7. ทำการตั้งค่า NAT  โดยเพื่อการใช้งานที่สะดวกจึงควรที่จะทำการยกเว้นไม่ให้ทำการ NAT ทราฟิกที่จะใช้งานบน IPSec VPN Tunnel แต่สำหรับทราฟิกอื่น ๆ ที่ไม่ได้ใช้งาน IPSec VPN เช่นการใช้งาน web server ของผู้ให้บริการต่าง ๆ ก็อาจจะให้ทำการ NAT เป็นปกติ
  8. ทำการสร้าง Crypto Map ซึ่งโดยทั่วไปจะทำการกำหนดรายละเอียดต่าง ๆ ดังนี้
    • ระบุหมายเลข ip address ของ peer หรืออุปกรณ์ที่ใช้ในการทำ IPSec VPN ฝั่งตรงข้าม
    • ระบุ IPSec Transform Set ที่จะนำมาใช้งาน
    • ระบุหมายเลข ACL ที่ได้สร้างขึ้นมาเพื่อคัดเลือกทราฟิกที่อนุญาตให้ใช้งาน IPSec VPN
  9. นำ Crypto Map ที่สร้างขึ้นมา ไปใช้งานบนอินเทอร์เฟส
  10. ตรวจสอบการทำงาน

          เอาล่ะครับ เรามาดูตัวอย่างการตั้งค่ากันเลยดีกว่านะครับ จากรูปด้านล่างนี้ มีระบบเครือข่ายของสำนักงานใหญ่(Headquarter) และสำนักงานสาขา(Branch) โดยในแต่ละสำนักงานนั้นมีการเชื่อมต่อไปยังเครือข่ายอินเทอร์เน็ตโดยตรง และมีความต้องการที่จะใช้งาน IPSec VPN เพื่อให้สามารถทำการติดต่อสื่อสารระหว่างเครือข่ายภายในของแต่ละสำนักงานได้ พร้อมทั้งยังสามารถใช้งานแบบปกติทั่วไปที่ไม่ผ่าน IPSec VPN ได้ด้วย (เช่น การเปิดหน้าเวปเพจต่าง ๆ ทั่วไป)

topology           ในขั้นตอนแรกนั้นเราก็ต้องทดสอบการเชื่อมต่อระหว่าง เราเตอร์ที่จะนำมาทำการตั้งค่า IPSec VPN กันก่อนนะครับว่าสามารถติดต่อสื่อสารกันได้หรือไม่ การทดสอบก็สามารถทำได้ด้วยการใช้ ping และ traceroute ทั่วไปนี่แหละครับ

ตัวอย่าง

Headquarter

Headquarter#ping 5.5.5.5

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 62/62/63 ms

Branch

Branch#ping 1.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 47/59/63 ms

          ถ้า ping ไม่เจอ ก็ลองตรวจสอบเรื่อง routing ดูนะครับ ว่าได้ทำไว้อย่างถูกต้องหรือไม่ ถ้าตามโทโปโลยีด้านบนนี้ ก็สามารถใช้ default route บนเราเตอร์ทั้งสองฝั่งได้เลยนะครับ เนื่องจากเป็นเครือข่ายในลักษณะที่เรียกว่า stub area ครับผม

          เมื่อตรวจสอบการเชื่อมต่อของระบบเครือข่ายเรียบร้อยแล้ว จากนั้นเราก็จะมาเริ่มทำการตั้งค่า IPSec VPN กันเลยนะครับ โดยในขั้นตอนแรกนี้จะเป็นการตั้งค่า ISAKMP Policy Set ซึ่งจะต้องทำการตั้งค่าบนเราเตอร์ทั้งสองฝั่งให้มีค่าตรงกัน เพื่อที่จะสามารถสร้าง ISAKMP SA ได้นะครับ

ตัวอย่าง
Headquarter
Headquarter(config)#crypto isakmp enable
Headquarter(config)#crypto isakmp policy 10
Headquarter(config-isakmp)#authentication pre-share
Headquarter(config-isakmp)#encryption 3des
Headquarter(config-isakmp)#hash sha
Headquarter(config-isakmp)#group 2
Headquarter(config-isakmp)#lifetime 86400

Branch
Branch(config)#crypto isakmp enable
Branch(config)#crypto isakmp policy 20
Branch(config-isakmp)#authentication pre-share
Branch(config-isakmp)#encryption 3des
Branch(config-isakmp)#hash sha
Branch(config-isakmp)#group 2
Branch(config-isakmp)#lifetime 86400

          จากตัวอย่างด้านบน เป็นการตั้งค่า ISAKMP โดยเป็นการเปิดใช้งาน ISAKMP ใน global mode และทำการสร้าง ISAKMP Policy Set โดยใช้คำสั่ง “crypto isakmp policy <priority>” โดยมีการกำหนดรายละเอียดดังนี้

  • authentication ใช้แบบ pre-share key
  • encryption ใช้ 3des
  • hash ใช้ sha
  • diffie hellman group ใช้ group 2 (1024 bit)
  • lifetime กำหนดไว้ 1 วัน คือจะทำการสร้าง ISAKMP SA ใหม่ ทุก ๆ 1 วัน

          ซึ่งการตั้งค่า ISAKMP Policy Set นี้จะต้องทำการตั้งค่าบนเราเตอร์ทั้งสองฝั่งให้มีค่าที่ตรงกัน(ยกเว้นค่า lifetime ที่ไม่ต้องตรงกันก็ได้) เพื่อที่จะสามารถทำการสร้าง ISAKMP SA ได้นั่นเอง และเมื่อทำการตั้งค่าตามตัวอย่างนี้เรียบร้อยแล้ว ขั้นตอนต่อมาก็จะเป็นการกำหนด pre-shared key ที่จะใช้ในการพิสูจน์ตัวตนของอุปกรณ์ที่ใช้ในการทำ IPSec VPN กันนะครับ

ตัวอย่าง
Headquarter
Headquarter(config)#crypto isakmp key cisco123 address 5.5.5.5

Branch
Branch(config)#crypto isakmp key cisco123 address 1.1.1.1

          จากตัวอย่างด้านบน เป็นการกำหนดค่า pre-shared key หรือ password ที่จะใช้ในการพิสูจน์ตัวตนของอุปกรณ์เป็น “cisco123” จากนั้นก็ทำการระบุหมายเลข ip address ของอุปกรณ์ฝั่งตรงข้าม ซึ่งในส่วนนี้จริง ๆ แล้วสามารถที่จะระบุเป็น subnet ได้ แต่เพื่อความปลอดภัยสูงสุดก็ควรที่จะระบุเป็น ip address ของเราเตอร์ฝั่งตรงข้ามไปเลยจะดีที่สุด

          จากนั้นจะเป็นการตั้งค่า IPSec Transform Set ที่จะนำมาใช้ในการสร้าง IPSec SA เพื่อใช้ในการรักษาความปลอดภัยของข้อมูลที่เครื่องผู้ใช้ทำการส่งออกไป ซึ่งจะต้องทำการตั้งค่าบนเราเตอร์ทั้งสองฝั่งให้มีค่าที่ตรงกัน

ตัวอย่าง
Headquarter
Headquarter(config)#crypto ipsec transform-set SET1 esp-aes esp-md5-hmac

Branch
Branch(config)#crypto ipsec transform-set SET1 esp-aes esp-md5-hmac

          จากตัวอย่างด้านบน เป็นการสร้าง IPSec Transform Set โดยตั้งชื่อว่า “SET1” ใช้การเข้ารหัสแบบ AES และใช้การพิสูจน์ตัวตนแบบ MD5

          เมื่อทำขั้นตอนด้านบนเรียบร้อยแล้ว ในขั้นตอนต่อมาจะเป็นการสร้าง extend access-list (acl number 100-199) เพื่อระบุถึงทราฟิกที่อนุญาตให้ใช้งาน IPSec VPN Tunnel ในเราเตอร์แต่ละฝั่ง ซึ่งในตัวอย่างนี้จะทำการอนุญาตให้เครือข่ายภายในทั้ง subnet ของแต่ละสำนักงานสามารถติดต่อสื่อสารกันได้ ซึ่งมีข้อสังเกตุว่า access-list ที่สร้างบนเราเตอร์ทั้งสองตัวนี้ จะสลับต้นทางและปลายทางกันนะครับ

ตัวอย่าง
Headquarter
Headquarter(config)#access-list 100 permit ip 10.0.0.0 0.0.0.255 10.0.10.0 0.0.0.255

Branch
Branch(config)#access-list 198 permit ip 10.0.10.0 0.0.0.255 10.0.0.0 0.0.0.255

          จากนั้นจะเป็นการตั้งค่าการ NAT เนื่องจาก ทราฟิกที่ถูกส่งไปใช้งาน IPSec VPN Tunnel นี้ ไม่ควรที่จะทำการ NAT เพื่อความสะดวกในการใช้งาน แต่ในการใช้งานจริงโดยส่วนมากนั้น ก็จะมีการใช้งานอย่างอื่นร่วมด้วยบนเราเตอร์ตัวเดียวกันนี้ เช่น การติดต่อสื่อสารระหว่างเครื่องของผู้ใช้ไปยัง web server ต่าง ๆ หรือไปยังองค์กรอื่น ๆ ที่ไม่ต้องการใช้งาน IPSec VPN Tunnel ก็ยังมีความจำเป็นที่จะต้องแปลงค่าที่อยู่ IP Address ให้เป็น public ip address ก่อน จึงจะสามารถใช้งานได้ (บทความ : การตั้งค่า NAT บนอุปกรณ์ Cisco IOS)

ตัวอย่าง
Headquarter
Headquarter(config)#access-list 101 deny ip 10.0.0.0 0.0.0.255 10.0.10.0 0.0.0.255
Headquarter(config)#access-list 101 permit ip 10.0.0.0 0.0.0.255 any
Headquarter(config)#ip nat inside source list 101 interface serial 0/0/0 overload
Headquarter(config)#interface FastEthernet 0/0
Headquarter(config-if)#ip nat inside
Headquarter(config-if)#exit
Headquarter(config)#interface Serial 0/0/0
Headquarter(config-if)#ip nat outside
Headquarter(config-if)#exit

Branch
Branch(config)#access-list 199 deny ip 10.0.10.0 0.0.0.255 10.0.0.0 0.0.0.255
Branch(config)#access-list 199 permit ip 10.0.10.0 0.0.0.255 any
Branch(config)#ip nat inside source list 199 interface serial 0/0/0 overload
Branch(config)#interface FastEthernet 0/0
Branch(config-if)#ip nat inside
Branch(config-if)#exit
Branch(config)#interface Serial 0/0/0
Branch(config-if)#ip nat outside
Branch(config-if)#exit

          จากตัวอย่างด้านบนนี้ เป็นการตั้งค่า NAT แบบ Port Address Translation (PAT) ซึ่งจะใช้หมายเลข IP Address ของอินเทอร์เฟส Serial 0/0/0 เพียง IP Address เดียว ในการเป็นตัวแทนของเครื่องโฮสต์ในเครือข่ายที่ต้องการติดต่อสื่อสารกับเครือข่ายภายนอก โดยใช้ extend access-list ในการระบุถึงทราฟิกที่ต้องการทำ NAT และทราฟิกที่ไม่ต้องการทำ NAT และโปรดสังเกตุว่า ทราฟิกที่ต้องการใช้งาน IPSec VPN Tunnel นั้นจะไม่อนุญาตให้ทำการ NAT (deny) ออกไป

          จากนั้นก็จะเป็นการสร้าง crypto map เพื่อทำการรวบรวมการกำหนดค่าต่าง ๆ ที่จะใช้งานเข้าไว้ด้วยกัน ซึ่งค่าต่าง ๆ ที่ควรกำหนดนั้น ได้แก่ access-list ที่ระบุทราฟิกที่อนุญาตให้ใช้งาน IPSec VPN Tunnel, หมายเลข IP Address ของอุปกรณ์ที่ใช้ในการทำ IPSec VPN ฝั่งตรงข้าม และ IPSec Transform Set ที่จะใช้งาน

          ในการสร้าง crypto map นี้สามารถทำได้ด้วยการใช้คำสั่ง “crypto map <name> <sequence> ipsec-isakmp” และจากตัวอย่างด้านล่างนี้ เป็นการสร้าง crypto map โดยใช้ชื่อว่า “s2s-vpn”

ตัวอย่าง
Headquarter
Headquarter(config)#crypto map s2s-vpn 100 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
Headquarter(config-crypto-map)#match address 100
Headquarter(config-crypto-map)#set peer 5.5.5.5
Headquarter(config-crypto-map)#set transform-set SET1
Headquarter(config-crypto-map)#exit

Branch
Branch(config)#crypto map s2s-vpn 10 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
Branch(config-crypto-map)#match address 198
Branch(config-crypto-map)#set peer 1.1.1.1
Branch(config-crypto-map)#set transform-set SET1
Branch(config-crypto-map)#exit

          เมื่อทำการสร้าง crypto map เรียบร้อยแล้ว ขั้นตอนต่อมาก็จะเป็นการนำ crypto map ไปใช้งานบนอินเทอร์เฟสนะครับ ซึ่งอินเทอร์เฟสที่นำ crypto map ไปใช้งานนี้ ก็ควรจะเป็นอินเทอร์เฟสที่ใช้ในการเชื่อมต่อไปยังอุปกรณ์ที่ใช้ในการทำ IPSec VPN ฝั่งตรงข้ามนะครับ

ตัวอย่าง
Headquarter
Headquarter(config)#interface Serial 0/0/0
Headquarter(config-if)#crypto map s2s-vpn
*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

Branch
Branch(config)#interface Serial 0/0/0
Branch(config-if)#crypto map s2s-vpn
*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

          เพียงเท่านี้ก็เสร็จสิ้นการตั้งค่า Site to Site IPSec VPN แบบใช้ Pre-shared Key บน Cisco IOS Router แล้วครับ ต่อมาก็จะเป็นการแนะนำคำสั่งที่ใช้ในการตรวจสอบการทำงานกันนะครับ คำสั่งหลัก ๆ ที่ใช้ในการตรวจสอบการทำงานของ IPSec VPN ก็ได้แก่

  • show crypto map เป็นการตรวจสอบรายละเอียดการตั้งค่าที่ได้ทำการกำหนดไป
  • show crypto isakmp sa เป็นการตรวจสอบ isakmp sa ว่าอยู่ในสถานะใด
  • show crypto ipsec sa เป็นการตรวจสอบการทำงานของ ipsec sa รวมถึงสถิติการใช้งานต่าง ๆ

ตัวอย่าง
Headquarter#show crypto map
Crypto Map s2s-vpn 100 ipsec-isakmp
        Peer = 5.5.5.5
        Extended IP access list 100
            access-list 100 permit ip 10.0.0.0 0.0.0.255 10.0.10.0 0.0.0.255
        Current peer: 5.5.5.5
        Security association lifetime: 4608000 kilobytes/3600 seconds
        PFS (Y/N): N
        Transform sets={
                SET1,
        }
        Interfaces using crypto map s2s-vpn:
                Serial0/0/0

Headquarter#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id slot status
5.5.5.5         1.1.1.1         QM_IDLE           1005    0 ACTIVE

IPv6 Crypto ISAKMP SA

Headquarter#show crypto ipsec sa

interface: Serial0/0/0
    Crypto map tag: s2s-vpn, local addr 1.1.1.1

   protected vrf: (none)
   local  ident (addr/mask/prot/port): (10.0.0.0/255.255.255.0/0/0)
   remote  ident (addr/mask/prot/port): (10.0.10.0/255.255.255.0/0/0)
   current_peer 5.5.5.5 port 500
    PERMIT, flags={origin_is_acl,}
   #pkts encaps: 7, #pkts encrypt: 7, #pkts digest: 0
   #pkts decaps: 6, #pkts decrypt: 6, #pkts verify: 0
   #pkts compressed: 0, #pkts decompressed: 0
   #pkts not compressed: 0, #pkts compr. failed: 0
   #pkts not decompressed: 0, #pkts decompress failed: 0
   #send errors 1, #recv errors 0

     local crypto endpt.: 1.1.1.1, remote crypto endpt.:5.5.5.5
     path mtu 1500, ip mtu 1500, ip mtu idb Serial0/0/0
     current outbound spi: 0x1B113B18(454114072)

     inbound esp sas:
      spi: 0x78CD237D(2026709885)
        transform: esp-aes esp-md5-hmac ,
        in use settings ={Tunnel, }
        conn id: 2002, flow_id: FPGA:1, crypto map: s2s-vpn
        sa timing: remaining key lifetime (k/sec): (4525504/3122)
        IV size: 16 bytes
        replay detection support: N
        Status: ACTIVE

     inbound ah sas:

     inbound pcp sas:

     outbound esp sas:
      spi: 0x1B113B18(454114072)
        transform: esp-aes esp-md5-hmac ,
        in use settings ={Tunnel, }
        conn id: 2003, flow_id: FPGA:1, crypto map: s2s-vpn
        sa timing: remaining key lifetime (k/sec): (4525504/3122)
        IV size: 16 bytes
        replay detection support: N
        Status: ACTIVE

     outbound ah sas:

     outbound pcp sas:

          และถ้าลองใช้คำสั่ง show ip nat translation ดูจะพบว่าทราฟิกทำการติดต่อสื่อสารกันระหว่างแต่ละสำนักงานนั้นจะไม่ถูกทำการ NAT ออกไป แตกต่างจากทราฟิกที่ใช้งานทั่วไป เช่นติดต่อไปยัง Web Server หรือปลายทางอื่น ๆ ที่ไม่ต้องการใช้งาน IPSec VPN จะถูกทำการ NAT ออกไป

ตัวอย่าง
Headquarter#show ip nat translations
Pro  Inside global     Inside local       Outside local      Outside global
icmp 1.1.1.1:19        10.0.0.10:19       20.20.20.20:19     20.20.20.20:19
icmp 1.1.1.1:20        10.0.0.10:20       20.20.20.20:20     20.20.20.20:20
tcp 1.1.1.1:1025       10.0.0.10:1025     20.20.20.20:80     20.20.20.20:80
tcp 1.1.1.1:1026       10.0.0.10:1026     20.20.20.20:80     20.20.20.20:80
tcp 1.1.1.1:1024       10.0.0.11:1025     20.20.20.20:80     20.20.20.20:80
tcp 1.1.1.1:1027       10.0.0.11:1026     20.20.20.20:80     20.20.20.20:80

          เอาล่ะครับ สำหรับตัวอย่างการตั้งค่า Site to Site IPSec VPN แบบใช้ Pre-shared Key ก็จบลงเพียงเท่านี้ สำหรับใครที่อยากจะทดสอบการตั้งค่าดู ก็สามารถดาวน์โหลด Lab Packet Tracer ไปลองทำกันได้นะครับ

Packet Tracer Lab : การตั้งค่า Site to Site IPSec VPN แบบ Pre-shared Key Authentication

10 comments :

  1. บทความดีี มีประโยชน์ ขอบคุณที่แบ่งปัน

    ReplyDelete
  2. ยินดีครับ แวะเ้ข้ามาเยี่ยมชมบ่อย ๆ นะครับ

    ขอบคุณครับ

    ReplyDelete
  3. sequence ของ cryto map มีประโยชย์ยังไงครับ หรือเป็นแค่ตัวเลขเหมือน policy ในกรณีที่มีหลายตัว แล้วจะสามารถเลือก seq ที่ต้องการ มาใส่ที่ interface ได้

    ReplyDelete
  4. sequence ของ crypto map เอาไว้ใช้ในกรณีที่มีหลาย ๆ peer ครับ เช่น อาจจะมี router ที่ทำหน้าที่เป็น vpn-hub หนึ่งตัว และมีการใช้งาน vpn หลาย ๆ สาขา โดยใช้ sequence ในการแยกการตั้งค่าแต่ละ peer ออกจากกัน จากนั้นก็ค่อยนำ crypto map ที่สร้างไว้นี้ไปประกาศใช้บนอินเทอร์เฟสครับ

    ReplyDelete
  5. บทความเขียนได้ระเอียดเป็นขั้นเป็นตอน อ่านแล้วเข้าใจ เห็นภาพและสามารถนำไปใชช้งานได้จริง..ผมพยามยามจะศึกษาด้วยตนเองจากการอ่านจากหนังสือหลายเล่มและอ่านตามบทความต่างๆตาม internet และจนได้มาพบจุดจบที่ running-config.blogspot สุดยอดครับ มีประโยชน์ ขอบคุณที่แบ่งปัน

    ReplyDelete
  6. ช่วย up link นี้ให้อีกครั้งได้มั้ย ครับ ขอบคุณครับ

    '' Packet Tracer Lab : การตั้งค่า Site to Site IPSec VPN แบบ Pre-shared Key Authentication ''

    ReplyDelete
  7. ขออัพ Lab ใหม่ได้มั้ยอ่ะครับ แล้วนำไปประยุกใช้กับ Firewall ได้มั้ยครับ

    ReplyDelete
  8. ขอถามนะครับ

    Headquarter ip 1.1.1.1
    Branch ip 5.5.5.5

    ทำการ Routing แบบไหนครับให้สามารถ ping หากันเจอ


    ReplyDelete
  9. ช่วยอัพ lab ให้ด้วยครับ ลิงก์ตายแล้ว

    ReplyDelete