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

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

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

Sunday, April 3, 2011

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

configuration site to site ipsec vpn pre-shared key authentication on cisco asa firewall

s2s vpn pre-shared-key asa firewall

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

          การใช้งาน IPSec VPN นั้น สามารถใช้งานได้ทั้งบน Cisco Router และ Cisco Firewall ไม่ว่าจะเป็น ASA หรือ PIX ก็ตาม โดยที่อุปกรณ์ของทั้งสองฝั่งไม่จำเป็นที่จะต้องเป็นอุปกรณ์ชนิดเดียวกัน เพียงแต่ต้องทำการตั้งค่าให้สอดคล้องกัน ก็จะสามารถใช้งาน IPSec VPN Tunnel ระหว่างอุปกรณ์ทั้งสองได้ ซึ่งบนอุปกรณ์ Cisco IOS Router นั้นผมได้เคยแนะนำการตั้งค่ากันไปบ้างแล้วในบทความ การตั้งค่า Site to Site IPSec VPN แบบ Pre-Shared Key Authentication บน Cisco IOS Router มาในวันนี้ผมจะขอแนะนำการตั้งค่า IPSec VPN แบบ Site to Site บน Cisco ASA Firewall กันบ้างนะครับ และสำหรับเพื่อน ๆ ที่ยังไม่เคยทำการตั้งค่า Cisco ASA Firewall ก็ขอให้ติดตามบทความนี้ดูก่อนนะครับ การตั้งค่า Cisco ASA Firewall ขั้นพื้นฐาน(Basic Configuration Cisco ASA Firewall)

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

ขั้นตอนในการตั้งค่า Site to Site IPSec VPN โดยใช้ Pre-shared Authentication บน Cisco ASA Firewall

  1. ตรวจสอบการเชื่อมต่อของระบบเครือข่าย ว่าสามารถทำการติดต่อสื่อสารระหว่างอุปกรณ์ที่จะใช้ในการทำ IPSec VPN ได้อย่างปกติ
  2. ทำการออกแบบรูปแบบและรายละเอียดที่จะใช้ในการการรักษาความปลอดภัยของข้อมูล เช่น โปรโตคอลที่จะใช้ในการเข้ารหัส, Hash Algorithm ที่จะใช้งาน เป็นต้น
  3. ทำการเปิดการทำงานของ ISAKMP บนอินเทอร์เฟสที่ใช้ติดต่อสื่อสารกับอุปกรณ์ IPSec VPN ฝั่งตรงข้าม
  4. ตั้งค่า 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 ในรูปแบบต่าง ๆ ถ้าเลือกที่จะใช้งานระดับการรักษาความปลอดภัยที่สูงจนเกินไป ก็อาจจะส่งผลให้ทำงานได้ช้าลง จึงควรที่จะเลือกระดับการรักษาความปลอดภัยที่เหมาะสมกับการใช้งานของแต่ละองค์กรเอง ว่าต้องการระดับความปลอดภัยที่สูง หรือต้องการใช้งานได้รวดเร็ว
  5. ทำการสร้าง Tunnel-group หรือรายการของแต่ละ Connection (หรือแต่ละ Peer) สำหรับกำหนดรูปแบบการใช้งาน IPSec VPN ของแต่ละ Connection
  6. ทำการกำหนด Pre-Shared Key ที่ใช้ในการพิสูจน์ตัวตนของอุปกรณ์ที่ใช้ในการทำ IPSec VPN
  7. ทำการสร้าง Access-list ที่จะใช้สำหรับคัดเลือกทราฟิกที่ต้องการให้ใช้งาน IPSec VPN และทำการสร้าง Access-list เพื่อใช้สำหรับการยกเว้นไม่ให้ทราฟิกที่จะใช้งาน IPSec VPN นั้นทำการ NAT
  8. ทำการตั้งค่า NAT เพื่อการใช้งานที่สะดวกในการใช้งาน จึงควรที่จะทำการยกเว้นไม่ให้ทำการ NAT ทราฟิกที่จะใช้งานบน IPSec VPN เพื่อที่เครื่องผู้ใช้ในแต่ละฝั่งจะได้สามารถติดต่อกันผ่าน IP Address ของอีกฝ่ายตรง ๆ ได้เลย แต่สำหรับทราฟิกอื่น ๆ ที่ไม่ได้ใช้งาน IPSec VPN เช่นการใช้งาน web server ของผู้ให้บริการต่าง ๆ ก็อาจจะให้ทำการ NAT เป็นปกติ
  9. ตั้งค่า 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 ASA Firewall จะใช้งาน Tunnel mode แต่สามารถที่จะเปลี่ยนไปใช้ Transport Mode ได้ ด้วยการใช้คำสั่ง "crypto ipsec transform-set <name> mode transport"
  10. ทำการสร้าง Crypto Map ซึ่งโดยทั่วไปจะทำการกำหนดรายละเอียดต่าง ๆ ดังนี้
    • ระบุหมายเลข IP Address ของ Peer หรืออุปกรณ์ที่ใช้ในการทำ IPSec VPN ฝั่งตรงข้าม
    • ระบุ IPSec Transform Set ที่จะนำมาใช้งาน
    • ระบุ Access-list ที่ได้สร้างขึ้นมาเพื่อคัดเลือกทราฟิกที่อนุญาตให้ใช้งาน IPSec VPN
  11. นำ Crypto Maps ที่สร้างขึ้นมาไปประกาศใช้งานบนอินเทอร์เฟสที่ใช้ติดต่อสื่อสารกับอุปกรณ์ IPSec VPN ฝั่งตรงข้าม
  12. ตรวจสอบการทำงาน

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

topology

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

ตัวอย่าง
Headquarter
Wan IP Address : 100.0.0.1
Local Subnet : 172.16.10.0/24

Branch
Wan IP Address : 11.0.0.1
Local Subnet : 172.16.20.0/24

ISAKMP SA
Encryption : AES
Hash : SHA
DH-Group : 5 (1536 bit)
lifetime : 24 Hours
Authentication : Pre-shared-key (cisco123)

IPSec SA
Encryption : 3DES
Hash : MD5

          จากนั้นก็ให้ทำการเปิดการทำงานของ ISAKMP บนอินเทอร์เฟสที่จะใช้ในการติดต่อสื่อสารไปยังอุปกรณ์ IPSec VPN ฝั่งตรงข้ามนะครับ ซึ่งตามตัวอย่างด้านล่างนี้จะใช้อินเทอร์เฟสที่มีชื่อว่า "outside" ครับ (ต้องไปทำการตั้งค่า nameif บน physical interface ก่อน) จากนั้นจึงทำการตั้งค่า ISAKMP Policy Set ตามที่ได้ออกแบบไว้ในขั้นตอนที่ผ่านมาบนอุปกรณ์ทั้งสองฝั่ง เพื่อที่จะนำมาใช้ในการสร้าง ISAKMP SA ระหว่างอุปกรณ์ครับ

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

Branch
Branch(config)# crypto isakmp enable outside
Branch(config)# crypto isakmp policy 100
Branch(config-isakmp-policy)# encryption aes
Branch(config-isakmp-policy)# hash sha
Branch(config-isakmp-policy)# authentication pre-share
Branch(config-isakmp-policy)# group 5
Branch(config-isakmp-policy)# lifetime 86400
Branch(config-isakmp-policy)# exit

          ซึ่งการตั้งค่า ISAKMP Policy Set นี้ จะต้องทำการตั้งค่าบนอุปกรณ์ทั้งสองฝั่งให้มีค่าที่ตรงกัน (ยกเว้นค่า lifetime ที่ไม่ต้องตรงกันก็ได้) เพื่อที่จะสามารถทำการสร้าง ISAKMP SA ได้นั่นเองครับ

          ในขั้นตอนต่อมาจะเป็นการกำหนดรูปแบบ IPSec VPN ที่จะใช้งาน ว่าจะใช้เป็น Site-to-Site, Client-to-Site หรือ Web VPN ซึ่งในตัวอย่างวันนี้นั้น จะทำการตั้งค่า Site-to-Site IPSec VPN นะครับ โดยจะต้องไปทำการสร้าง Tunnel-group เพื่อที่จะกำหนดรูปแบบการใช้งานของแต่ละ Connection ด้วยการใช้คำสั่ง "tunnel-group <name> type <ipsec-type>" ครับ

          และจากนั้นก็จะเป็นการกำหนด Pre-shared-key ที่จะใช้ในการพิสูจน์ตัวตนของอุปกรณ์ที่ใช้ในการทำ IPSec VPN ซึ่งจะมีการใช้คำสั่งที่แตกต่างกับบน Cisco IOS Router โดยจะต้องไปทำการกำหนดค่า pre-shared-key ใน ipsec-attributes ของแต่ละ Tunnel-group ครับ

ตัวอย่าง
Headquarter
Headquarter(config)# tunnel-group 11.0.0.1 type ipsec-l2l
Headquarter(config)# tunnel-group 11.0.0.1 ipsec-attributes
Headquarter(config-tunnel-ipsec)# pre-shared-key cisco123
Headquarter(config-tunnel-ipsec)# exit

Branch
Branch(config)# tunnel-group 100.0.0.1 type ipsec-l2l
Branch(config)# tunnel-group 100.0.0.1 ipsec-attributes
Branch(config-tunnel-ipsec)# pre-shared-key cisco123
Branch(config-tunnel-ipsec)# exit

          จากตัวอย่างด้านบน เป็นการสร้าง Tunnel-group โดยในฝั่ง Headquarter จะใช้ชื่อว่า “11.0.0.1” ส่วนในฝั่ง Branch จะใช้ชื่อว่า “100.0.0.1” นะครับ(ตั้งชื่อตาม IP Address ของอุปกรณ์ฝั่งตรงข้าม เพื่อสะดวกในการใช้งาน) โดยระบุชนิดของ Tunnel เป็น IPSec Site-to-Site (ipsec-l2l) และจากนั้นก็ทำการกำหนด pre-shared-key ที่จะใช้ในการพิสูจน์ตัวตนระหว่างอุปกรณ์เป็น "cisco123" ครับ

          เมื่อทำการกำหนด pre-shared-key เสร็จเรียบร้อยแล้ว ในขั้นตอนต่อมาจะเป็นการคัดเลือกทราฟิกที่อนุญาตที่ต้องการให้ใช้งาน IPSec VPN ครับ ซึ่งจะต้องนำ Access-list มาใช้ในการคัดเลือกทราฟิกที่ต้องการนะครับ โดยในตัวอย่างนี้นั้นจะอนุญาตให้สามารถทำการติดต่อสื่อสารระหว่างทุก ๆ เครื่องของเครือข่ายภายในทั้งสองฝั่งได้ครับ

ตัวอย่าง
Headquarter
Headquarter(config)# access-list hq-to-br permit ip 172.16.10.0 255.255.255.0 172.16.20.0.0 255.255.255.0

Branch
Branch(config)# access-list br-to-hq permit ip 172.16.20.0 255.255.255.0 172.16.10.0 255.255.255.0

          จากนั้นก็จะเป็นการตั้งค่าไม่ให้ทราฟิกที่ใช้งาน IPSec VPN นั้นถูกทำการ NAT ออกไปนะครับ เพื่อความสะดวกในการติดต่อสื่อสารระหว่างเครือข่ายภายในทั้งสองฝั่ง จะได้สามารถติดต่อสื่อสารผ่าน IP Address ของแต่ละเครื่องตรง ๆ ได้เลยครับ ซึ่งตัวอย่างการตั้งค่าในวันนี้นั้นจะมีทั้งการตั้งค่าใน ASA Version 8.2 ลงไป และ ASA Version 8.3 เป็นต้นมา โดยเพื่อน ๆ ใช้งาน ASA ใน Version ใด ก็เลือกดูตัวอย่างการตั้งค่าใน Version นั้น ๆ ได้เลยครับ

ตัวอย่าง
สำหรับ ASA Version 8.2 ลงไป
Headquarter
Headquarter(config)# access-list no-nat permit ip 172.16.10.0 255.255.255.0 172.16.20.0 255.255.255.0
Headquarter(config)# nat (inside) 0 access-list no-nat

Branch
Branch(config)# access-list no-nat permit ip 172.16.20.0 255.255.255.0 172.16.10.0 255.255.255.0
Branch(config)# nat (inside) 0 access-list no-nat

สำหรับ ASA Version 8.3 เป็นต้นมา
Headquarter
Headquarter(config)# object network hq-network
Headquarter(config-network-object)# subnet 172.16.10.0 255.255.255.0
Headquarter(config-network-object)# exit
Headquarter(config)# object network br-network
Headquarter(config-network-object)# subnet 172.16.20.0 255.255.255.0
Headquarter(config-network-object)# exit
Headquarter(config)# nat (inside,outside) 1 source static hq-network hq-network destination static br-network br-network

Branch
Branch(config)# object network hq-network
Branch(config-network-object)# subnet 172.16.10.0 255.255.255.0
Branch(config-network-object)# exit
Branch(config)# object network br-network
Branch(config-network-object)# subnet 172.16.20.0 255.255.255.0
Branch(config-network-object)# exit
Branch(config)# nat (inside,outside) 1 source static br-network br-network destination static hq-network hq-network

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

ตัวอย่าง
Headquarter
Headquarter(config)# crypto ipsec transform-set set-01 esp-3des esp-md5-hma

Branch
Branch(config)# crypto ipsec transform-set set-01 esp-3des esp-md5-hma

          จากตัวอย่างด้านบน เป็นการตั้งค่า IPSec Transform ที่มีชื่อว่า "set-01" โดยใช้การเข้ารหัสข้อมูลแบบ 3DES และใช้ Hash Algorithm แบบ MD5 ตามที่ได้ออกแบบเอาไว้นะครับ

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

ตัวอย่าง
Headquarter
Headquarter(config)# crypto map l2l-hq 200 match address hq-to-br
Headquarter(config)# crypto map l2l-hq 200 set peer 11.0.0.1
Headquarter(config)# crypto map l2l-hq 200 set transform-set set-01
Headquarter(config)# crypto map l2l-hq interface outside

Branch
Branch(config)# crypto map l2l-br 200 match address br-to-hq
Branch(config)# crypto map l2l-br 200 set peer 100.0.0.1
Branch(config)# crypto map l2l-br 200 set transform-set set-01
Branch(config)# crypto map l2l-br interface outside

          จากตัวอย่างด้านบน เป็นการตั้งค่า crypto map โดยในฝั่ง headquarter จะใช้ชื่อว่า l2l-hq และในฝั่ง Branch จะใช้ชื่อว่า l2l-br ครับ โดยกำหนดค่า priority เท่ากับ 200 และทำการกำหนดค่ารายละเอียดอื่น ๆ ตามรายละเอียดที่ได้สร้างขึ้นในขั้นตอนที่ผ่าน ๆ มาครับ และจากนั้นก็นำ crypto map ทั้งสองไปประกาศใช้งานในอินเทอร์เฟสที่ใช้เชื่อมต่อไปยังอุปกรณ์ฝั่งตรงข้าม ซึ่งจากตัวอย่างนี้ก็คืออินเทอร์เฟสที่มีชื่อว่า "outside" นั่นเองครับ

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

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

1 comment:

  1. ขอบคุณมากคับ แต่ยังไม่เคยคอนฟิก ASA จริงๆเลย ถ้ามีโอกาศทำจะมาแชร์ให้บ้างคับ

    ReplyDelete