Connect site to site VPN

Connect site to site VPN

Site to site VPN là gì

  • Site to site vpn s? thi?t l?p ???ng h?m b?o m?t (secure tunnel) gi?a 2 hay nhi?u network khác nhau.
  • Dùng trong m? hình hybrid ?? thi?t l?p k?t n?i liên t?c gi?a m?i tr??ng trung tam tam d? li?u truy?n th?ng (On-prem) t?i m?i tr??ng VPC c?a aws.
  • Khi thi?t l?p site to site vpn thì có 2 thành ph?n chính:
  • Giao th?c VPN hay s? d?ng là IPSec (mình s? nói ? bài sau). K?t n?i VPN lu?n ??m b?o có 2 tunnel ?? ??m b?o tính s?n sàng cao.


Step by step thi?t l?p site to site vpn trên AWS

  • Trong bài này, mình gi? l?p m?i tr??ng On-prem b?ng m?t VPC khác trên AWS.
  • Mình ch? li?t kê các step trong quá trình làm, c? th? thao tác v?i giao di?n nh? th? nào thì các b?n

C?u hình m?ng


M? hình s? ?? thi?t l?p VPC

  • T?o VPC 1
  • T?o subnet:
  • T?o Internet gateway (IGW) và attach vào VPC
  • T?o NAT gateway và attach vào public subnet 2
  • T?o route table:
  • T?o security group (SG)
  • T?o EC2:

C?u hình site to site


Thi?t l?p Site to site

  • T?o VPC 2 , gi? l?p m?i tr??ng On-Prem
  • T?o public subnet và 1 ec2 trong public subnet ?ó và ?? tên là CGW instance
  • T?o Virtual private gateway (VGW) và g?n v?i My VPC
  • T?o Customer Gateway, gán IP cho Custom? Gateway là IP public c?a CGW instance
  • Vào Site-to-Site vpn, t?o VPN connection và g?n VGW và CGW vào.

Bug g?p trong quá trình làm

Trong quá trình mình làm thì g?p t??ng ??i nhi?u bug, có nh?ng cái bug mình m?t vài gi? m?i x? lí ???c. T?ng th? thì mình m?t kho?ng g?n 2 ngày ?? làm xong bài lab này, nh?ng h?c ???c r?t nhi?u ki?n th?c, ??c bi?t là v? network. Bài lab t?n c?a mình m?t 5$ do mình quên t?t d?ch v?, ?úng bài h?c ai c?ng ph?i tr?i :D.

D??i ?ay là nh?ng bug mình g?p ph?i và cách mình ?? x? lí.

Connection trong VPC kh?ng th?ng

  • Kh? n?ng cao là do c?u hình ???ng m?ng trong VPC nên kh?ng th? ping ???c.
  • C?n ki?m tra h?t các rule inbound, outbound trong security group, NACL. Check route trong route table. Ví d? ?? có th? ping IP c?a ec2 ta b?t bu?c ph?i ?? inbound rule là allow ICMP from IPv4.
  • N?u v?n kh?ng th? phát hi?n ra l?i, có th? tham kh?o d?ch v? Reachability Analyzer c?a AWS. ?ay là d?ch v? m?t phí, b?n s? m?t kho?ng 0.05 ?? m?i l?n check.

Ko cài ???c Openswan hay Strongswan trong CGW instance

  • Openswan hay Strongswan ??u là các ph?n m?m cung c?p tri?n khai VPN v?i IPSec. Tuy nhiên trên con ec2 c?a mình kh?ng th? cài ???c 2 ph?n m?m này. EC2 mình s? d?ng là Amazon Linux 2023, kh? n?ng phiên b?n os này kh?ng h? tr? Openswan ho?c Strongswan.
  • Mình s? d?ng m?t ph?n m?m khác g?n t??ng t? ?ó là Libreswan, may m?n là nó ch?y. C?u hình c?a Libreswan g?n nh? y h?t Openswan nên mình có th? s? d?ng lu?n h??ng d?n c?a Openswan lúc download c?u hình trong khi làm lab.

Kh?ng c?u hình ???c network

  • Do mình dùng Amazon Linux 2023 nên m?t s? network service kh?ng t?n t?i. Ví d? network.service hay NetworkManager.service .
  • Mình dùng cau l?nh systemctl list-unit-files | grep -i network ?? network service ?ang s? d?ng thì bi?t ???c là phiên b?n AL2023 ?ang dùng systemd-networkd.

Libreswan kh?ng th? thi?t l?p k?t n?i do kh?ng h? tr? gi?i thu?t modp1024


Tunnel kh?ng th? k?t n?i do thu?t toán modp1024

  • Khi thi?t l?p tunnel trong VPN s? có b??c trao ??i khoá ?? thi?t l?p ???ng truy?n b?o m?t gi?a 2 network.
  • Thu?t toán h? tr? trao ??i khoá là Diffie-Hellman. Ban ??u mình s? d?ng gi?i thu?t modp1024 nh? c?a Openswan thì kh?ng h? tr?, sau ?ó mình tìm hi?u thì Libreswan kh?ng h? tr? modp1024 vì ch?a ?? m?nh, mình chuy?n sang ecp256 thì ch?y ???c.

Restart th?n ch??ng

  • Kh?ng th? kh?ng k? ??n th??ng sách restart th?n ch??ng :D. Mình g?p tình hu?ng này khi thay Virtual Gateway b?ng Transit Gateway trong k?t n?i VPC site to site. Transit Gateway ?óng vai trò nh? là hub giúp k?t nhi?u VPC l?i v?i nhau nên hoàn toàn có th? thi?t l?p site to site VPN b?ng transit gateway.
  • Khi mình thay Virtual Private gateway b?ng Transit Gateway thì mình quên m?t kh?ng restart l?i IPsec. Nên m?c dù mình c?u hình r?t ??y ?? mà Tunnel v?n ch?a Active. Sau ?ó thì mình th? restart l?i ipsec b?ng cau l?nh sudo systemctl restart ipsec thì bùm, connect ?? th?ng.

Nh?ng th? h?c ???c sau khi làm bài lab

Bài lab này cho mình r?t nhi?u ki?n th?c, t? ly thuy?t cho ??n s?a l?i. D??i ?ay là m?t s? th? mình h?c ???c khi mình làm xong bài lab:

Fix bug, bi?t thêm m?t s? cau l?nh khi s? d?ng linux nh?:

  • cat /etc/os-release: ki?m tra phiên b?n os
  • systemctl list-unit-files | grep -i network: ki?m tra service network ?ang s? d?ng
  • sudo journalctl -b -u systemd-networkd: check log c?a service systemd-networkd
  • traceroute <ip>: check ???ng ?i c?a gói tin ICMP ?? bi?t gói tin ?ang b? t?c ? ?au

Ki?n th?c v? thi?t l?p VPC, network.

Ki?n th?c v? Tunnel, IPSec, VPN (mình s? nói ? bài k? ti?p)

C?u hình VPN site to site, transit gateway.

??c bi?t mình t?n 5$ do mình ?? d?ch v? qua ?êm vì ch?a làm xong, m?i ng??i làm c? g?ng làm trong 1 bu?i và xoá h?t d?ch v? sau khi làm xong nhé, ??ng nh? mình :D.

Huy Nguyen

.NET developer | Software engineer | Database | Algorithm

3 天前

bài vi?t c?a mình c?ng share t?i https://huycommit.hashnode.dev/connect-site-to-site-vpn

回复

要查看或添加评论,请登录

Huy Nguyen的更多文章

  • 0.01 và 0.25 ^ 4

    0.01 và 0.25 ^ 4

    Hello m?i ng??i. Cu?i tu?n th? 7 v?a r?i mình có m?t bu?i offline v?i c?ng ??ng wecommit.

    1 条评论
  • Domain-driven design - Tactical design

    Domain-driven design - Tactical design

    Tóm t?t DDD M?c tiêu c?a DDD là thi?t k? ph?n m?m ??t nghi?p v? vào trung tam, tách bi?t nghi?p v? v?i c?ng ngh?. DDD…

  • Gi?i thi?u AI và Machine learning

    Gi?i thi?u AI và Machine learning

    Hello ace, h?m T7 v?a r?i mình có offline nhóm wecommit, n?i dung v? Gi?i thi?u AI và Machine learning. Bu?i chia s?…

    2 条评论
  • MVCC trong postgresql

    MVCC trong postgresql

    MVCC trong postgresql là gì MVCC (Multi-Version Concurrency Control) là c? ch? ki?m soát concurrency ?? x? lí nhi?u…

  • Event storming cùng microservice và Domain driven design

    Event storming cùng microservice và Domain driven design

    Hello m?i ng??i, th? 7 v?a r?i mình có bu?i chia s? v?i anh em wecommit v?i ch? ?? "Event storming cùng microservice và…

    7 条评论
  • Free talk: L?p trình viên chuyên nghi?p

    Free talk: L?p trình viên chuyên nghi?p

    Hello anh em, ngày h?m qua mình l?i có bu?i off cùng anh em wecommit. Ch? ?? tu?n này là v? "L?p trình viên chuyên…

  • Làm sao ?? làm quen d? án m?i m?t cách nhanh nh?t

    Làm sao ?? làm quen d? án m?i m?t cách nhanh nh?t

    Hello anh em, tu?n v?a r?i mình v?a có 1 bu?i offline c?ng ??ng we commit. B?n cu?i tu?n OT nên nay mình m?i có th?i…

  • Loay hoay ch?n h??ng ?i, làm tech lead hay làm qu?n ly?

    Loay hoay ch?n h??ng ?i, làm tech lead hay làm qu?n ly?

    H?m nay mình l?i có d?p ng?i cùng anh em wecommit ?? bàn lu?n ch? ?? này. Mình hi?n ?ang là m?t middle dev, và c?ng…

    7 条评论
  • Phan m?nh index trong database

    Phan m?nh index trong database

    Khi update data trong b?ng th??ng xuyên có th? làm index b? phan m?nh, gay ra v?n ?? v? hi?u n?ng khi truy xu?t d?…

    1 条评论
  • B Tree và database index

    B Tree và database index

    Bài vi?t giúp b?n hi?u v? c?u trúc B Tree, B+Tree, cách index ho?t ??ng trong database, và t?i sao GUID dùng làm PK là…

    6 条评论