วันนี้เราจะดูตัวเลือกการกำหนดค่า VPN ที่ NSX Edge เสนอให้เรา
โดยทั่วไป เราสามารถแบ่งเทคโนโลยี VPN ออกเป็นสองประเภทหลัก:
- VPN แบบไซต์ต่อไซต์ การใช้งานทั่วไปของ IPSec คือการสร้างช่องทางที่ปลอดภัย เช่น ระหว่างเครือข่ายสำนักงานใหญ่และเครือข่ายที่ไซต์ระยะไกลหรือในระบบคลาวด์
- VPN การเข้าถึงระยะไกล ใช้เพื่อเชื่อมต่อผู้ใช้แต่ละรายกับเครือข่ายส่วนตัวขององค์กรโดยใช้ซอฟต์แวร์ไคลเอ็นต์ VPN
NSX Edge ช่วยให้เราทำทั้งสองอย่างได้
เราจะดำเนินการตั้งค่าโดยใช้ม้านั่งทดสอบที่มี NSX Edges สองตัว ซึ่งเป็นเซิร์ฟเวอร์ Linux ที่ติดตั้ง daemon
IPsec
- ในอินเทอร์เฟซ vCloud Director ให้ไปที่ส่วนการดูแลระบบแล้วเลือก vDC บนแท็บ Edge Gateways เลือก Edge ที่เราต้องการ คลิกขวาและเลือก Edge Gateway Services
- ในอินเทอร์เฟซ NSX Edge ให้ไปที่แท็บ VPN-IPsec VPN จากนั้นไปที่ส่วน IPsec VPN Sites แล้วคลิก + เพื่อเพิ่มไซต์ใหม่
- กรอกข้อมูลในช่องที่ต้องกรอก:
- เปิดใช้งาน – เปิดใช้งานไซต์ระยะไกล
- PFS – ตรวจสอบให้แน่ใจว่าคีย์การเข้ารหัสใหม่แต่ละคีย์ไม่เชื่อมโยงกับคีย์ก่อนหน้าใดๆ
- ID ท้องถิ่นและปลายทางท้องถิ่นเสื้อ - ที่อยู่ภายนอก NSX Edge
- ซับเน็ตท้องถิ่นs – เครือข่ายท้องถิ่นที่จะใช้ IPsec VPN
- ID เพียร์และจุดสิ้นสุดเพียร์ – ที่อยู่ของไซต์ระยะไกล
- เพียร์ซับเน็ต – เครือข่ายที่จะใช้ IPsec VPN ในระยะไกล
- อัลกอริทึมการเข้ารหัส – อัลกอริธึมการเข้ารหัสช่องสัญญาณ
- การยืนยันตัวตน – เราจะตรวจสอบความถูกต้องของเพื่อนได้อย่างไร คุณสามารถใช้คีย์ที่แชร์ล่วงหน้าหรือใบรับรองได้
- คีย์ที่แบ่งปันล่วงหน้า – ระบุคีย์ที่จะใช้ในการรับรองความถูกต้องและต้องตรงกันทั้งสองด้าน
- ดิฟฟี-เฮลล์แมน กรุ๊ป – อัลกอริธึมการแลกเปลี่ยนคีย์
หลังจากกรอกข้อมูลในช่องที่ต้องกรอกแล้ว ให้คลิก Keep
- ทำ
- หลังจากเพิ่มไซต์แล้ว ให้ไปที่แท็บสถานะการเปิดใช้งานและเปิดใช้งานบริการ IPsec
- หลังจากใช้การตั้งค่าแล้ว ให้ไปที่แท็บสถิติ -> IPsec VPN และตรวจสอบสถานะช่องสัญญาณ เราเห็นว่าอุโมงค์ได้ยกขึ้นแล้ว
- มาตรวจสอบสถานะทันเนลจากคอนโซลเกตเวย์ Edge:
- แสดงบริการ ipsec – ตรวจสอบสถานะการบริการ
- แสดงไซต์บริการ ipsec – ข้อมูลเกี่ยวกับสถานะของไซต์และพารามิเตอร์ที่ตกลงกัน
- แสดงบริการ ipsec sa – ตรวจสอบสถานะ Security Association (SA)
- การตรวจสอบการเชื่อมต่อกับรีโมตไซต์:
root@racoon:~# ifconfig eth0:1 | grep inet inet 10.255.255.1 netmask 255.255.255.0 broadcast 0.0.0.0 root@racoon:~# ping -c1 -I 10.255.255.1 192.168.0.10 PING 192.168.0.10 (192.168.0.10) from 10.255.255.1 : 56(84) bytes of data. 64 bytes from 192.168.0.10: icmp_seq=1 ttl=63 time=59.9 ms --- 192.168.0.10 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 59.941/59.941/59.941/0.000 ms
ไฟล์การกำหนดค่าและคำสั่งเพิ่มเติมสำหรับการวินิจฉัยจากเซิร์ฟเวอร์ Linux ระยะไกล:
root@racoon:~# cat /etc/racoon/racoon.conf log debug; path pre_shared_key "/etc/racoon/psk.txt"; path certificate "/etc/racoon/certs"; listen { isakmp 80.211.43.73 [500]; strict_address; } remote 185.148.83.16 { exchange_mode main,aggressive; proposal { encryption_algorithm aes256; hash_algorithm sha1; authentication_method pre_shared_key; dh_group modp1536; } generate_policy on; } sainfo address 10.255.255.0/24 any address 192.168.0.0/24 any { encryption_algorithm aes256; authentication_algorithm hmac_sha1; compression_algorithm deflate; } === root@racoon:~# cat /etc/racoon/psk.txt 185.148.83.16 testkey === root@racoon:~# cat /etc/ipsec-tools.conf #!/usr/sbin/setkey -f flush; spdflush; spdadd 192.168.0.0/24 10.255.255.0/24 any -P in ipsec esp/tunnel/185.148.83.16-80.211.43.73/require; spdadd 10.255.255.0/24 192.168.0.0/24 any -P out ipsec esp/tunnel/80.211.43.73-185.148.83.16/require; === root@racoon:~# racoonctl show-sa isakmp Destination Cookies Created 185.148.83.16.500 2088977aceb1b512:a4c470cb8f9d57e9 2019-05-22 13:46:13 === root@racoon:~# racoonctl show-sa esp 80.211.43.73 185.148.83.16 esp mode=tunnel spi=1646662778(0x6226147a) reqid=0(0x00000000) E: aes-cbc 00064df4 454d14bc 9444b428 00e2296e c7bb1e03 06937597 1e522ce0 641e704d A: hmac-sha1 aa9e7cd7 51653621 67b3b2e9 64818de5 df848792 seq=0x00000000 replay=4 flags=0x00000000 state=mature created: May 22 13:46:13 2019 current: May 22 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) last: May 22 13:46:13 2019 hard: 0(s) soft: 0(s) current: 72240(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 860 hard: 0 soft: 0 sadb_seq=1 pid=7739 refcnt=0 185.148.83.16 80.211.43.73 esp mode=tunnel spi=88535449(0x0546f199) reqid=0(0x00000000) E: aes-cbc c812505a 9c30515e 9edc8c4a b3393125 ade4c320 9bde04f0 94e7ba9d 28e61044 A: hmac-sha1 cd9d6f6e 06dbcd6d da4d14f8 6d1a6239 38589878 seq=0x00000000 replay=4 flags=0x00000000 state=mature created: May 22 13:46:13 2019 current: May 22 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) last: May 22 13:46:13 2019 hard: 0(s) soft: 0(s) current: 72240(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 860 hard: 0 soft: 0 sadb_seq=0 pid=7739 refcnt=0
- ทุกอย่างพร้อมแล้ว IPsec VPN แบบไซต์ต่อไซต์ได้รับการกำหนดค่าและใช้งานได้แล้ว
ในตัวอย่างนี้ เราใช้ PSK ในการตรวจสอบสิทธิ์เพียร์ แต่การตรวจสอบสิทธิ์ใบรับรองก็เป็นทางเลือกหนึ่งเช่นกัน ในการดำเนินการนี้ ให้ไปที่แท็บการกำหนดค่าส่วนกลาง เปิดใช้งานการตรวจสอบสิทธิ์ใบรับรอง และเลือกใบรับรองเอง
นอกจากนี้ คุณจะต้องเปลี่ยนวิธีการตรวจสอบสิทธิ์ในการตั้งค่าไซต์
ฉันทราบว่าจำนวนอุโมงค์ IPsec ขึ้นอยู่กับขนาดของ Edge Gateway ที่ใช้งาน (อ่านเกี่ยวกับเรื่องนี้ในของเราบทความแรก ).
SSL VPN
SSL VPN-Plus เป็นหนึ่งในตัวเลือก VPN การเข้าถึงระยะไกล ช่วยให้ผู้ใช้ระยะไกลแต่ละรายสามารถเชื่อมต่อกับเครือข่ายส่วนตัวด้านหลังเกตเวย์ NSX Edge ได้อย่างปลอดภัย อุโมงค์ที่เข้ารหัสในกรณีของ SSL VPN-plus ถูกสร้างขึ้นระหว่างไคลเอนต์ (Windows, Linux, Mac) และ NSX Edge
- มาเริ่มตั้งค่ากันเลย ในแผงควบคุมบริการ Edge Gateway ให้ไปที่แท็บ SSL VPN-Plus จากนั้นไปที่การตั้งค่าเซิร์ฟเวอร์ เราเลือกที่อยู่และพอร์ตที่เซิร์ฟเวอร์จะรับฟังการเชื่อมต่อขาเข้า เปิดใช้งานการบันทึก และเลือกอัลกอริธึมการเข้ารหัสที่จำเป็น
ที่นี่คุณสามารถเปลี่ยนใบรับรองที่เซิร์ฟเวอร์จะใช้ได้ - หลังจากทุกอย่างพร้อมแล้ว ให้เปิดเซิร์ฟเวอร์และอย่าลืมบันทึกการตั้งค่า
- ต่อไปเราต้องกำหนดค่ากลุ่มที่อยู่ที่เราจะออกให้กับลูกค้าเมื่อเชื่อมต่อ เครือข่ายนี้แยกจากเครือข่ายย่อยที่มีอยู่ในสภาพแวดล้อม NSX ของคุณและไม่จำเป็นต้องกำหนดค่าบนอุปกรณ์อื่นบนเครือข่ายกายภาพอื่นนอกเหนือจากเส้นทางที่ชี้ไป
ไปที่แท็บ IP Pools แล้วคลิก +
- เลือกที่อยู่ ซับเน็ตมาสก์ และเกตเวย์ ที่นี่คุณยังสามารถเปลี่ยนการตั้งค่าสำหรับเซิร์ฟเวอร์ DNS และ WINS ได้
- ผลพูล.
- ตอนนี้เรามาเพิ่มเครือข่ายที่ผู้ใช้ที่เชื่อมต่อกับ VPN จะสามารถเข้าถึงได้ ไปที่แท็บเครือข่ายส่วนตัวแล้วคลิก +
- กรอก:
- เครือข่าย - เครือข่ายท้องถิ่นที่ผู้ใช้ระยะไกลสามารถเข้าถึงได้
- ส่งทราฟฟิก มีสองตัวเลือก:
— เหนืออุโมงค์—ส่งการรับส่งข้อมูลไปยังเครือข่ายผ่านอุโมงค์
— บายพาสทันเนล—ส่งการรับส่งข้อมูลไปยังเครือข่ายโดยตรงผ่านทันเนล - เปิดใช้งานการเพิ่มประสิทธิภาพ TCP - ทำเครื่องหมายในช่องนี้หากคุณได้เลือกตัวเลือกโอเวอร์ทันเนล เมื่อเปิดใช้งานการปรับให้เหมาะสม คุณสามารถระบุหมายเลขพอร์ตที่คุณต้องการปรับการรับส่งข้อมูลให้เหมาะสมได้ การรับส่งข้อมูลสำหรับพอร์ตที่เหลือบนเครือข่ายนั้นจะไม่ได้รับการปรับให้เหมาะสม หากไม่ได้ระบุหมายเลขพอร์ต การรับส่งข้อมูลสำหรับพอร์ตทั้งหมดจะถูกปรับให้เหมาะสม อ่านเพิ่มเติมเกี่ยวกับคุณสมบัตินี้
ที่นี่ .
- จากนั้นไปที่แท็บการรับรองความถูกต้องแล้วคลิก + สำหรับการรับรองความถูกต้อง เราจะใช้เซิร์ฟเวอร์ภายในเครื่องบน NSX Edge เอง
- ที่นี่เราสามารถเลือกนโยบายสำหรับการสร้างรหัสผ่านใหม่และกำหนดค่าตัวเลือกสำหรับการบล็อกบัญชีผู้ใช้ (เช่น จำนวนครั้งที่ลองใหม่หากป้อนรหัสผ่านไม่ถูกต้อง)
- เนื่องจากเราใช้การรับรองความถูกต้องในท้องถิ่น เราจำเป็นต้องสร้างผู้ใช้
- นอกเหนือจากสิ่งพื้นฐานเช่นชื่อและรหัสผ่านแล้ว คุณสามารถห้ามไม่ให้ผู้ใช้เปลี่ยนรหัสผ่านหรือในทางกลับกัน บังคับให้เขาเปลี่ยนรหัสผ่านในครั้งต่อไปที่เขาเข้าสู่ระบบ
- หลังจากเพิ่มผู้ใช้ที่จำเป็นทั้งหมดแล้ว ให้ไปที่แท็บแพ็คเกจการติดตั้ง คลิก + และสร้างตัวติดตั้งเอง ซึ่งพนักงานระยะไกลจะดาวน์โหลดเพื่อการติดตั้ง
- คลิก + เราเลือกที่อยู่และพอร์ตของเซิร์ฟเวอร์ที่ไคลเอนต์จะเชื่อมต่อ และแพลตฟอร์มที่เราต้องสร้างแพ็คเกจการติดตั้ง
ด้านล่างในหน้าต่างนี้ คุณสามารถระบุการตั้งค่าไคลเอ็นต์สำหรับ Windows ได้ เลือก:- เริ่มต้นไคลเอนต์เมื่อเข้าสู่ระบบ - ไคลเอนต์ VPN จะถูกเพิ่มในการเริ่มต้นบนเครื่องระยะไกล
- สร้างไอคอนเดสก์ท็อป - จะสร้างไอคอนไคลเอนต์ VPN บนเดสก์ท็อป
- การตรวจสอบใบรับรองความปลอดภัยของเซิร์ฟเวอร์ - จะตรวจสอบใบรับรองเซิร์ฟเวอร์เมื่อเชื่อมต่อ
การตั้งค่าเซิร์ฟเวอร์เสร็จสมบูรณ์
- ตอนนี้มาดาวน์โหลดแพ็คเกจการติดตั้งที่เราสร้างในขั้นตอนสุดท้ายไปยังพีซีระยะไกล เมื่อตั้งค่าเซิร์ฟเวอร์ เราได้ระบุที่อยู่ภายนอก (185.148.83.16) และพอร์ต (445) ไปยังที่อยู่นี้ที่เราต้องไปในเว็บเบราว์เซอร์ ในกรณีของฉันมันคือ
185.148.83.16 : 445ในหน้าต่างการอนุญาต คุณต้องป้อนข้อมูลประจำตัวของผู้ใช้ที่เราสร้างไว้ก่อนหน้านี้
- หลังจากการอนุญาต เราจะเห็นรายการแพ็คเกจการติดตั้งที่สร้างขึ้นพร้อมให้ดาวน์โหลด เราได้สร้างเพียงอันเดียว - เราจะดาวน์โหลดมัน
- คลิกที่ลิงค์และการดาวน์โหลดไคลเอนต์จะเริ่มต้นขึ้น
- แตกไฟล์เก็บถาวรที่ดาวน์โหลดมาและเรียกใช้โปรแกรมติดตั้ง
- หลังการติดตั้ง ให้เปิดไคลเอนต์แล้วคลิกเข้าสู่ระบบในหน้าต่างการอนุญาต
- ในหน้าต่างการตรวจสอบใบรับรอง ให้เลือกใช่
- เราป้อนข้อมูลรับรองสำหรับผู้ใช้ที่สร้างไว้ก่อนหน้านี้และเห็นว่าการเชื่อมต่อเสร็จสมบูรณ์
- ตรวจสอบสถิติไคลเอนต์ VPN บนเครื่องคอมพิวเตอร์
- ในบรรทัดคำสั่งของ Windows (ipconfig /all) เราจะเห็นว่ามีอะแดปเตอร์เสมือนเพิ่มเติมปรากฏขึ้นและมีการเชื่อมต่อกับเครือข่ายระยะไกลทุกอย่างใช้งานได้:
- และสุดท้าย ให้ตรวจสอบจากคอนโซล Edge Gateway
L2 VPN
L2VPN จะจำเป็นเมื่อคุณต้องการรวมหลาย ๆ ทางภูมิศาสตร์เข้าด้วยกัน
เครือข่ายแบบกระจายเป็นโดเมนการออกอากาศเดียว
สิ่งนี้มีประโยชน์ เช่น เมื่อย้ายเครื่องเสมือน เมื่อ VM ย้ายไปยังตำแหน่งทางภูมิศาสตร์อื่น เครื่องจะคงการตั้งค่าที่อยู่ IP ไว้ และจะไม่สูญเสียการเชื่อมต่อกับเครื่องอื่นที่อยู่ในโดเมน L2 เดียวกันกับเครื่องนั้น
เราจะเชื่อมต่อสองไซต์เข้าด้วยกัน เรียกว่า A และ B ตามลำดับ เรามี NSX สองเครือข่ายและเครือข่ายที่กำหนดเส้นทางได้สองเครือข่ายที่สร้างขึ้นเหมือนกันซึ่งเชื่อมโยงกับ Edges ที่แตกต่างกัน เครื่อง A มีที่อยู่ 10.10.10.250/24 เครื่อง B มีที่อยู่ 10.10.10.2/24
- ใน vCloud Director ให้ไปที่แท็บการดูแลระบบ ไปที่ VDC ที่เราต้องการ ไปที่แท็บเครือข่าย Org VDC และเพิ่มเครือข่ายใหม่สองเครือข่าย
- เราเลือกประเภทเครือข่ายที่กำหนดเส้นทางและผูกเครือข่ายนี้กับ NSX ของเรา เลือกช่องทำเครื่องหมายสร้างเป็นอินเทอร์เฟซย่อย
- เป็นผลให้เราควรมีสองเครือข่าย ในตัวอย่างของเรา เรียกว่า network-a และ network-b โดยมีการตั้งค่าเกตเวย์เดียวกันและมาสก์เดียวกัน
- ตอนนี้เรามาดูการตั้งค่าของ NSX แรกกันดีกว่า นี่จะเป็น NSX ที่เชื่อมต่อกับเครือข่าย A โดยจะทำหน้าที่เป็นเซิร์ฟเวอร์
กลับไปที่อินเทอร์เฟซ NSx Edge/ ไปที่แท็บ VPN -> L2VPN เราเปิดใช้งาน L2VPN เลือกโหมดการทำงานของเซิร์ฟเวอร์ และในการตั้งค่าเซิร์ฟเวอร์ทั่วโลก ระบุที่อยู่ IP ภายนอกของ NSX ที่พอร์ตสำหรับทันเนลจะรับฟัง ตามค่าเริ่มต้น ซ็อกเก็ตจะเปิดบนพอร์ต 443 แต่สามารถเปลี่ยนแปลงได้ อย่าลืมเลือกการตั้งค่าการเข้ารหัสสำหรับช่องทางในอนาคต
- ไปที่แท็บไซต์เซิร์ฟเวอร์และเพิ่มเพียร์
- เราเปิดเพียร์ ตั้งชื่อ คำอธิบาย หากจำเป็น ตั้งชื่อผู้ใช้และรหัสผ่าน เราจะต้องใช้ข้อมูลนี้ในภายหลังเมื่อตั้งค่าไซต์ไคลเอ็นต์
ในที่อยู่เกตเวย์การเพิ่มประสิทธิภาพ Egress เราตั้งค่าที่อยู่เกตเวย์ นี่เป็นสิ่งจำเป็นเพื่อหลีกเลี่ยงความขัดแย้งของที่อยู่ IP เนื่องจากเกตเวย์บนเครือข่ายของเรามีที่อยู่เดียวกัน จากนั้นกดปุ่ม SELECT SUB-INTERFACES
- ที่นี่เราเลือกอินเทอร์เฟซย่อยที่ต้องการ บันทึกการตั้งค่า
- เราเห็นว่าไซต์ไคลเอนต์ที่สร้างขึ้นใหม่ปรากฏในการตั้งค่า
- ตอนนี้เรามาดูการกำหนดค่า NSX จากฝั่งไคลเอ็นต์กันดีกว่า
เราไปที่ NSX ฝั่ง B ไปที่ VPN -> L2VPN เปิดใช้งาน L2VPN ตั้งค่าโหมด L2VPN เป็นโหมดการทำงานของไคลเอนต์ บนแท็บ Client Global ให้ตั้งค่าที่อยู่และพอร์ตของ NSX A ซึ่งก่อนหน้านี้เราระบุเป็น Listening IP และ Port บนฝั่งเซิร์ฟเวอร์ นอกจากนี้ยังจำเป็นต้องตั้งค่าการเข้ารหัสเดียวกันเพื่อให้สอดคล้องกันเมื่อช่องสัญญาณถูกยกขึ้น
เลื่อนลงและเลือกอินเทอร์เฟซย่อยที่จะสร้างอุโมงค์สำหรับ L2VPN
ในที่อยู่เกตเวย์การเพิ่มประสิทธิภาพ Egress เราตั้งค่าที่อยู่เกตเวย์ ตั้งค่ารหัสผู้ใช้และรหัสผ่าน เลือกอินเทอร์เฟซย่อยและอย่าลืมบันทึกการตั้งค่า - จริงๆแล้วนั่นคือทั้งหมดที่ การตั้งค่าฝั่งไคลเอ็นต์และเซิร์ฟเวอร์เกือบจะเหมือนกัน ยกเว้นความแตกต่างเล็กน้อย
- ตอนนี้เราเห็นแล้วว่าอุโมงค์ของเราใช้งานได้โดยไปที่สถิติ -> L2VPN บน NSX ใดก็ได้
- หากเราไปที่คอนโซลของ Edge Gateway ใดๆ เราจะเห็นที่อยู่ของ VM ทั้งสองในตาราง arp สำหรับแต่ละอัน
นั่นคือทั้งหมดสำหรับฉันเกี่ยวกับ VPN บน NSX Edge ถามว่ามีอะไรยังไม่ชัดเจนหรือไม่ นี่เป็นส่วนสุดท้ายของชุดบทความเกี่ยวกับการทำงานกับ NSX Edge เราหวังว่ามันจะมีประโยชน์ :)
ที่มา: will.com