PFsense - AWS Cloud

AWS

  1. Đăng nhập vào tài khoản AWS của bạn và truy cập vào VPC trong Console

  2. Trong thanh bên, dưới phần Kết nối VPN, vào mục Customer Gateways

    1. Nhấn nút Create Customer Gateway

      • Nhập tên cho Gateway (e.g., Seattle Office)

      • Đổi Routing thành Dynamic

      • Nhập số BGP ASN của bạn (Nếu bạn không có số công cộng, hãy chọn bất kỳ số nào từ 64512-65534. Đây là các số ASN riêng tư). Ghi nhớ số này để sử dụng sau.

      • Nhập Public IP của pfSense box của bạn

      • Nhấn chọn Yes, Create

  3. Bên dưới VPN Connections, chọn đến Virtual Private Gateways

    1. Nhấn chọn nút Create Virtual Private Gateway

      • Điền tên Virtual Private Gateway (ví dụ Office VPN)

      • Nhấn Yes, Create

    2. Chọn vào VPG vừa tạo và nhấn chọn Attach to VPC

      • Chọn VPC và nhấn Yes, Attach

  4. Bên dưới Virtual Private Cloud, chọn tới Route Tables

    1. Tại mỗi Route Table trong VPC:

      • Chọn Route Table

      • Chọn Tab Route Propagation ở bảng bên dưới

      • Bạn thấy danh sách Virtual Private Gateway

      • Chọn nút Edit và chọn vào ô Propagate Checkbox và sau đó chọn Save

  5. Bên dưới VPN Connections, chọn tới VPN Connections

    1. Nhấn chọn nút Create VPN Connection

      • Điền tên kết nối VPN (ví dụ Seattle Office VPN)

      • Chọn Virtual Private Gateway đã tạo.

      • Chọn Existing Customer Gateway và chọn CGW đã tạo trước .

      • Chọn Dynamic (requires BGP)

      • Chọn Yes, Create

    2. Chọn VPN vừa tạo VPN sau đó nhấn chọn nút Download Configuration.

      • Trường Vendor chọn Generic

      • Nhấn chọn Download

      • Chọn Cancel để đóng

  6. Mở tệp tin cấu hình đã tải về. Ta sẽ dùng những thông tin chứa trong tệp tin để cấu hình pfSense. Điều này sẽ có 2 kết nối VPN. Bất cứ kết nố nào bạn chọn, đảm bảo thực hiện nhất quán để chắc nhắn rằng bạn đang nhập đúng trong pfSense.

pfSense

  1. Đăng nhập pfSense và điều hướng đến màn hình System -> Package Manager

    • Chọn Available Packages

    • Tìm kiếm từ khóa “bgp”

    • Tìm gói OpenBGPD và chọn Install, sau đó chọn Confirm

    • Đợi đến khi cài đặt xong.

  2. Đến màn hình Firewall -> Virtual IPs

    1. Chọn Add

    2. Chọn Type: IP Alias

    3. Chọn Interface: Localhost

    4. Chọn Address: (your inside IP address)/30

      • Trong tệp tin cấu hình bạn tải từ AWS, cuộn tìm đến Inside IP Addresses và tìm IP Customer Gateway. Đây là Virtual IP ta đặt vào pfSense. đừng quên điền /30!

    5. Thêm mô tả nếu bạn muốn ( ví dụ AWS VPN Inside Address);

    6. Có thể để mọi thông tin ở dạng mặc định;

    7. Chọn Save sau đó chọn Apply Changes

  3. Đến màn hình VPN -> IPSec

    1. chọn Add P1 (Add Phase 1) ( Lưu ý: Những thông tin tiếp theo sẽ được tìm thấy trong tệp cấu hình mà bạn đã tải về từ AWS)

      1. Trọng pfSense, thiết lập Remote Gateway với IP tìm thấy trong tệp tin cấu hình:

        • Trọng tệp tin cấu hình mà bạn đã tải xuống từ AWS, cuộn xuống tới khi tìm thấy Outside IP Addresses và tìm IP Virtual Private Gateway . Đậy là IP Public ta muốn đưa vào pfSense cho Remote Gateway.

      2. Trọng tệp tin cấu hình, tìm đến đoạn nói về #1: Internet Key Exchange Configuration. Bạn cần kiểm tra lại các thuật toán vì chúng có thể thay đổi, nhưng phần còn lại nên giống nhau.

        • Trong pfSense, thiết lập Pre-Shared Key với key được tìm thấy trong tệp tin cấu hình.

        • Với thuật toán Encryption Algorithm chọn AES128 bits

        • Đảm bảo thuật toán Hash Algorithm được thiết lập là SHA1, DH Group được thiết lập là 2 (1024 bit)Lifetime (Seconds)được thiết lập là 28800

        • Thêm mô tả nếu bạn muốn (ví dụ, AWS VPN Tunnel #1)

        • Có thể để mọi thông tin ở dạng mặc định và chọn Save

    2. Trong pfSense, bên dưới chỗ VPN vừa tạo, chọn Show Phase 2 Entries sau đó chọn Add P2

      1. Đối với Local Network, chọn Network và điền Inside IP Address vào phần Customer Gateway mà được tìm thấy ở đoạn #3: Tunnel Interface Configuration của tệp tin đã tải về, đừng quên điền /30.

      2. Đối với Remote Network, chọn Network và điền Inside IP Address vào phần Virtual Private Gateway mà được tìm thấy ở đoạn #3: Tunnel Interface Configuration của tệp tin đã tải về, đừng quên điền /30.

      3. Thêm mô tả nếu bạn muốn (ví dụ AWS VPN Tunnel #1 Phase 2)

      4. Kiểm tra lại nhưng cài đặt có giống với đoạn #2: IPSec Configuration trong tệp tin đã tải hay không:

        • Đảm bảo Protocol được thiết lập là ESP

        • Với thuật toán Encryption Algorithms,đảm bảo chỉ AES được chọn và thiết lập 128 bits

        • Với thuật toán Hash Algorithms, đảm bảo SHA1 được chọn

        • Với PFS key group, thiết lập 2 (1024 bit). Điều này tương ứng với phần Perfect Forward Secrecy của tập tin cấu hình.

        • Đảm bảo Lifetime thiết lập 3600 giây

      5. Chọn Save

    3. Trong pfSense, bên dưới chỗ kết nối VPN connection, chọn Show Phase 2 Entries và sua đó chọn lại Add P2

      1. Chọn Local Network là LAN subnet

      2. Đối với Remote Network điền VPC CIDR Block (ví dụ 172.31.0.0/16)

      3. Thêm mô tả nếu bạn muốn (ví dụAWS VPN Tunnel #1 VPC Subnet)

      4. Đảm bảo tất cả thiết lập Phase 2 Proposal giống với những các trong Phase 2 ta đã thêm.

        • Đảm bảo Protocol thiết lập ESP

        • Đối với thuật toán Encryption Algorithms, đảm bảo chỉ AES được chọn và thiết lập là 128 bits

        • Đối với thuật toán Hash Algorithms, đảm bảo chỉ SHA1 được chọn

        • Đối với PFS key group, thiết lập 2 (1024 bit). Điều này tương ứng với Perfect Forward Secrecy của tập tin cấu hình.

        • Đảm bảo Lifetime thiết lập 3600 giây

      5. chọn Save và sau đ1o chọn Apply Changes

  4. Đến màn hình Firewall -> Rules

    1. Chọn IPSec và chọn Add (không quan trọng nút nào)

      • Để như mặc định, ngoại trừ Protocol đổi thành Any

      • Chọn SaveApply Changes

  5. Đến màn hình Services -> OpenBGPD ( Tất cả thông tin sau có thể được tìm thấy ở đoạn #4 Border Gateway Protocol (BGP) Configuration section của tệp tin cấu hình đã tải).

    1. Dưới chỗ Settings thiết lập như sau:

      1. Số Autonomous System (AS): (Số mà bạn đã thiết lập Customer Gateway iở AWS)

      2. Thiết lập Holdtime: 30

      3. Điền IP: (địa chỉ IP trong Customer Gateway)

        • Ta không cần /30 ở đây

      4. Điền Networks: (Your local subnet, e.g., 192.168.1.0/24)

        • Nếu bạn muốn thêm nhiều mạng con cục bộ hơn để được phát tán đến AWS, hãy nhấp vào nút Add cho bao nhiêu mạng bạn có và nhập vào các mạng con (subnets) bổ sung của bạn.

      5. Chọn Save

    2. Chọn Groups

      1. Chọn Add

      2. Đặt tên ( ví dụ AWS_VPC)

      3. Điền số Remote AS trong tệp tin cấu hình ( ví dụ 7224)

      4. Điền mô tả nếu cần

      5. Chọn Save và sau đó chọn Save một lần nữa

    3. Chọn Neighbors

      1. Chọn Add

      2. Điền mô tả nếu cần ( ví dụ AWS VPC Neighbor)

      3. Đối với Neighbor, điền địa chỉ Neighbor IP Address trọng tệp tin cấu hình

      4. Đảm bảo Group đươc thiết lập theo tên nhóm của bước trước

      5. Để các cấu hình như mặc định và chọn Save

  6. Đến màn hình Status -> IPsec

    1. Nếu VPN chưa sẳn sàng kết nối, chọn Connect

    2. Sau vài giây, làm mới lại trang và đảm bảo trạng thái VPN là ESTABLISHED. Nếu là CONNECTING, hãy kiểm tra thiết lập lại một lần nữa.

  7. Đến màn hình Services -> OpenBGPD

    1. Chọn Status

    2. Nếu mọi thức hoạt động đúng, ta thấy được thời gian kết nối ở cột Up/Down của bảng OpenBGPD Summary và thông tin theo đó được thay đổi.

Kiểm tra sự kết nối

Trở lại AWS, chúng ta có thể kiểm tra các bảng định tuyến cho VPC của mình. Trong bảng điều khiển, kiểm tra một bảng định tuyến. Khi bạn nhấp vào tab Routes , bạn nên thấy các định tuyến từ pfSense được phát tán đến AWS.

Trên các máy ảo EC2 của bạn, nếu các nhóm bảo mật (Security Groups) của bạn được cấu hình để cho phép ICMP và/hoặc SSH từ mạng nội bộ của bạn, bạn sẽ có thể ping và/hoặc SSH giữa các thực thể trong mạng nội bộ của bạn và AWS VPC.

Trong ví dụ , ta có một máy ảo Ubuntu đang chạy trong mạng VNG Cloud của tôi và một máy ảo EC2 đang chạy trong VPC . Sau khi cấu hình các nhóm bảo mật, ta có thể ping thành công giữa hai máy này!

Last updated