Giới thiệu
Ở bài viết này, mình sẽ hướng dẫn cho các bạn mới tìm hiểu về VPN cách xây dựng một mô hình VPN server đơn giản có thể giúp ta tạo kết nối an toàn khi sử dụng Internet và truy cập vào các mạng nội bộ từ xa (như mạng nội bộ của công ty).
Cụ thể hơn ở mô hình này mình sử dụng OpenVPN Access Server được build và chạy trên Google Cloud cùng với công cụ quản lí danh tính tập trung (Centralized Identity Management) Okta để quản lý thông tin các user.
Cài đặt OpenVPN Access Server
Ở mô hình này, mình sẽ cài đặt và setup OpenVPN Access Server trên môi trường Google Cloud, các bạn cũng có thể lựa chọn các nền tảng đám mây khác như AWS, Microsoft Azure,.... Dưới đây là chi tiết các bước
- Đầu tiên, đảm bảo rằng bạn đã đăng ký tài khoản tại https://cloud.google.com. Đối với các tài khoản mới đăng ký, Google Cloud sẽ cung cấp $300 sử dụng miễn phí trong 90 ngày đầu, đủ để cho các bạn vọc vạch thoải mái. Chi tiết các tạo tài khoản thì các bạn tự tìm hiểu nhé, cái này khá đơn giản nên mình sẽ không nhắc lại.
- Sau khi đã có tài khoản, các bạn hãy truy cập vào trong dashboard https://console.cloud.google.com của Google Cloud và chọn vào mục Marketplace
Ở thanh tìm kiếm các bạn search cho mình OpenVPN Access Server, chọn vào kết quả đầu tiên hiện ra và nhấn Get Started. Sau khi đồng ý các điều khoản và cài đặt các thành phần cần thiết theo yêu cầu, Google Cloud sẽ chuyển bạn đến trang Deloy máy ảo OpenVPN server
- Sau đó ta sẽ chỉnh các thông số cho máy chủ này để tối ưu chi phí và hiệu suất nhất có thể
- Đầu tiên, mục cần lưu ý là Zone, đây là vị trí mà ta sẽ đặt máy chủ vì thế để có thể tránh việc delay và tối ưu hiệu suất thì mình nghĩ các bạn nên chọn máy chủ ở Đông Nam Á. Cụ thể ở đây mình chọn zone asia-southeast1-b đặt ở Singapore.
- Tiếp theo là Machine Type, đây là cấu hình tài nguyên cho máy chủ, ở mục này bạn chỉ cần chọn mức tài nguyên thấp nhất có thể là được, ở đây mình sử dụng e2-medium.
- Ở các mục khác, các bạn cứ để như mặc định là được chưa cần quan tâm đến. Sau đó các bạn nhấn Deploy để tiến hành tạo máy chủ VPN.
- Sau khi đã deploy xong, ở mục Solution Deployments, deployments VPN mà ta vừa tạo sẽ cung cấp thông tin tài khoản admin và đường link dẫn tới trang web dùng để cấu hình các thông tin cho máy chủ VPN. Tiếp theo đấy ta sẽ tiến hành việc cấu hình cụ thể cho OpenVPN Server này.
Cấu hình VPN Server
1. Active VPN Server
- Việc đầu tiên chúng ta phải làm nếu muốn server này hoạt động là add key để active server này lên. Việc này khá đơn giản, sau khi đăng nhập vào web, các bạn chọn vào mục Activation trong phần Configuration. Sau đó bấm Get Activation Key để chuyển hướng đến trang đăng nhập của openvpn.
- Sau khi đã tạo tài khoản và đăng nhập, hãy chọn vào mục Activation Keys, và chọn mục tạo key free, với key này VPN Server sẽ cho phép 2 kết nối được thực hiện cùng lúc.
- Sau khi có được key, các bạn chỉ cần cop và dán vào mục active để active server này.
2. Network Settings
Ở mục này các bạn chỉ cần quan tâm đến ba mục đầu là được. Phần Hostname hay IP Address, các bạn nên tự tạo 1 subdomain riêng và gán cert cho nó để khi người dùng truy cập vào website sẽ dễ dàng hơn. Việc tạo subdomain free và gán cert các bạn có thể tự tìm hiểu thêm mình sẽ không nói ở đây. Với 2 mục khác các bạn chọn Listen on all interfaces và Both protocol là được. Sau đó bấm Save Settings kéo lên chọn Update Running Server để khởi động lại.
3. VPN Settings
- Mục VPN IP Network là phần cấu hình địa chỉ IP mà ta sẽ gán cho client nếu như ta không có cài đặt cụ thể đối với từng user. Nếu các bạn không muốn dùng lớp mạng mặc định thì có thể thay đổi theo ý của mình, ở đây mình sẽ giữ nguyên như mặc đinh.
- Đến phần Routing và DNS Settings. Ở mục Routing các bọn hãy chọn không cho clients truy cập vào mạng nội bộ vì ta sẽ cấu hình cụ thể cho từng tài khoản user sau. Đối với phần Should client Internet traffic be routed through the VPN? các bạn chọn Yes cho mình, điều này sẽ giúp luồng Internet traffic của máy bạn đều sẽ đi qua VPN và ẩn đi địa chỉ IP thật của bạn. Ở mục DNS Settings, các bạn chọn cho mình Have clients use specific DNS servers và nhập 2 DNS của Google là 8.8.8.8 và 8.8.4.4, các bạn cũng có thể chọn các DNS của bên khác như Cloudfare, Quad9... Sau đó bấm Save và Update để Server khởi động lại với cấu hình mới
Như vậy trên cơ bản là ta đã cấu hình xong các thông số cơ bản cho một VPN Server. Về các cài đặt khác mình sẽ hướng dẫn chi tiết ở Phần 2.
Kiểm tra kết nối
Sau khi đã có cấu hình xong các thông số cơ bản, giờ mình sẽ tiến hành thử kết nối để kiểm tra xem server có hoạt động như ý hay không.
- Đầu tiên ta sẽ truy cập vào trang web của OpenVPN Server, vì chưa tạo tài khoản khác nên tạm thời ta sẽ đăng nhập vào tài khoản Admin.
- Sau khi đăng nhập xong ta tiến hành tải ứng dụng OpenVPN Client bằng cách nhấn vào biểu tượng tương ứng với hệ điều hành đang dùng. Sau đó ta sẽ tải Connection Profile dùng để kết nối.
- Sau khi cài đặt xong ứng dụng OpenVPN Client, ta tiến hành tải lên profile vừa tải lên và thực hiện kết nối.
4. Sau khi đã kết nối thành công ta tiến hành kiểm tra xem có phải VPN Server đã fake địa chỉ IP của máy và mã hóa các gói tin hay không.
Kết
Như vậy mình đã hướng dẫn các bạn cách cài đặt và các bước cơ bản để thiết lập một máy chủ VPN đơn giản cũng như kiểm tra khả năng hoạt động của nó. Vì bài viết đã khá dài nên các phần cài đặt khác mình sẽ tiếp tục ở phần 2. Cảm ơn mọi người đã đọc!