Với sự kiểm duyệt Internet ngày càng tăng của các chế độ độc tài, ngày càng có nhiều tài nguyên và trang web hữu ích trên Internet bị chặn. Bao gồm thông tin kỹ thuật.
Do đó, không thể sử dụng đầy đủ Internet và vi phạm quyền cơ bản về tự do ngôn luận, được quy định trong Tuyên ngôn thế giới về quyền lợi của con người.
Điều 19
Mọi người đều có quyền tự do quan điểm và biểu đạt; quyền này bao gồm tự do giữ quan điểm mà không bị can thiệp và tìm kiếm, tiếp nhận và phổ biến thông tin và ý tưởng thông qua bất kỳ phương tiện truyền thông nào và không phân biệt biên giới
Trong hướng dẫn này, chúng tôi sẽ triển khai phần mềm miễn phí* của riêng mình theo 6 bước. dịch vụ VPN dựa trên công nghệ Dây bảo vệ, trong cơ sở hạ tầng đám mây Amazon Web Services (AWS), sử dụng tài khoản miễn phí (trong 12 tháng), trên một phiên bản (máy ảo) được quản lý bởi Máy chủ Ubuntu 18.04 LTS.
Tôi đã cố gắng làm cho hướng dẫn này thân thiện nhất có thể với những người không chuyên về CNTT. Điều duy nhất được yêu cầu là sự kiên trì trong việc lặp lại các bước được mô tả dưới đây.
Ghi
AWS cung cấp bậc sử dụng miễn phí trong khoảng thời gian 12 tháng, với giới hạn 15 gigabyte lưu lượng mỗi tháng.
Đăng ký tài khoản AWS miễn phí yêu cầu số điện thoại thực và thẻ tín dụng Visa hoặc Mastercard hợp lệ. Tôi khuyên bạn nên sử dụng thẻ ảo được cung cấp miễn phí Yandex hoặc ví qiwi. Để kiểm tra tính hợp lệ của thẻ, 1 đô la được khấu trừ trong quá trình đăng ký, số tiền này sẽ được trả lại sau đó.
Ở giai đoạn này, số điện thoại được xác nhận và 1 đô la được ghi nợ trực tiếp từ thẻ thanh toán. Một mã gồm 4 chữ số được hiển thị trên màn hình máy tính và điện thoại được chỉ định sẽ nhận được cuộc gọi từ Amazon. Trong khi gọi, bạn phải quay mã hiển thị trên màn hình.
1.6. Lựa chọn gói cước.
Chọn - Gói cơ bản (miễn phí)
1.7. Đăng nhập vào bảng điều khiển quản lý
1.8. Lựa chọn vị trí đặt trung tâm dữ liệu
1.8.1. kiểm tra tốc độ
Trước khi chọn trung tâm dữ liệu, nên thử nghiệm qua https://speedtest.net tốc độ truy cập vào các trung tâm dữ liệu gần nhất, ở vị trí của tôi, các kết quả sau:
Singapore
Paris
Frankfurt
Stockholm
London
Trung tâm dữ liệu ở London cho thấy kết quả tốt nhất về tốc độ. Vì vậy, tôi đã chọn nó để tùy chỉnh thêm.
2. Tạo một phiên bản AWS
2.1 Tạo máy ảo
2.1.1. Chọn một loại phiên bản
Theo mặc định, phiên bản t2.micro được chọn, đây là thứ chúng tôi cần, chỉ cần nhấn nút Tiếp theo: Định cấu hình chi tiết phiên bản
2.1.2. Đặt tùy chọn phiên bản
Trong tương lai, chúng tôi sẽ kết nối một IP công cộng vĩnh viễn với phiên bản của chúng tôi, vì vậy ở giai đoạn này, chúng tôi tắt tự động gán IP công cộng và nhấn nút Tiếp theo: Thêm dung lượng lưu trữ
2.1.3. kết nối lưu trữ
Chỉ định kích thước của "đĩa cứng". Đối với mục đích của chúng tôi, 16 gigabyte là đủ và chúng tôi nhấn nút Tiếp theo: Thêm thẻ
2.1.4. Thiết lập thẻ
Nếu chúng tôi đã tạo một số phiên bản, thì chúng có thể được nhóm theo thẻ để tạo điều kiện quản lý. Trong trường hợp này, chức năng này là không cần thiết, hãy nhấn ngay vào nút Tiếp theo: Cấu hình nhóm bảo mật
2.1.5. mở cổng
Trong bước này, chúng tôi định cấu hình tường lửa bằng cách mở các cổng cần thiết. Tập hợp các cổng mở được gọi là Nhóm bảo mật. Chúng ta phải tạo một nhóm bảo mật mới, đặt tên, mô tả, thêm cổng UDP (Quy tắc UDP tùy chỉnh), trong trường Rort Range, bạn phải chỉ định số cổng từ phạm vi cổng động 49152-65535. Trong trường hợp này, tôi đã chọn số cổng 54321.
Sau khi điền các dữ liệu cần thiết, nhấp vào nút Đánh giá và ra mắt
2.1.6. Tổng quan về tất cả các cài đặt
Trên trang này có tổng quan về tất cả các cài đặt của phiên bản của chúng tôi, chúng tôi kiểm tra xem tất cả các cài đặt có theo thứ tự hay không và nhấn nút Khởi động
2.1.7. Tạo khóa truy cập
Tiếp theo là một hộp thoại cung cấp để tạo hoặc thêm khóa SSH hiện có mà sau này chúng tôi sẽ kết nối từ xa với phiên bản của chúng tôi. Chúng tôi chọn tùy chọn "Tạo cặp khóa mới" để tạo khóa mới. Đặt tên cho nó và nhấp vào nút Tải xuống cặp khóađể tải xuống các khóa đã tạo. Lưu chúng vào một nơi an toàn trên máy tính cục bộ của bạn. Sau khi tải xuống, nhấp vào nút. Ra mắt
2.1.7.1. Lưu khóa truy cập
Dưới đây là bước lưu các khóa đã tạo từ bước trước. Sau khi chúng tôi nhấn nút Tải xuống cặp khóa, khóa được lưu dưới dạng tệp chứng chỉ có phần mở rộng *.pem. Trong trường hợp này, tôi đã đặt cho nó một cái tên wireguard-awskey.pem
2.1.8. Tổng quan về kết quả tạo phiên bản
Tiếp theo, chúng tôi thấy một thông báo về việc khởi chạy thành công phiên bản mà chúng tôi vừa tạo. Chúng tôi có thể đi đến danh sách các trường hợp của chúng tôi bằng cách nhấp vào nút xem các trường hợp
2.2. Tạo một địa chỉ IP bên ngoài
2.2.1. Bắt đầu tạo IP bên ngoài
Tiếp theo, chúng tôi cần tạo một địa chỉ IP bên ngoài cố định thông qua đó chúng tôi sẽ kết nối với máy chủ VPN của mình. Để thực hiện việc này, trong bảng điều hướng ở bên trái màn hình, hãy chọn mục IP đàn hồi từ danh mục MẠNG LƯỚI & NGÀNH và nhấn nút Phân bổ địa chỉ mới
2.2.2. Cấu hình tạo IP ngoài
Trong bước tiếp theo, chúng ta cần kích hoạt tùy chọn hồ bơi amazon (được bật theo mặc định) và nhấp vào nút Chỉ định
2.2.3. Tổng quan về kết quả tạo địa chỉ IP bên ngoài
Màn hình tiếp theo sẽ hiển thị địa chỉ IP bên ngoài mà chúng tôi nhận được. Bạn nên ghi nhớ nó, và thậm chí tốt hơn là viết nó ra. nó sẽ hữu ích hơn một lần trong quá trình thiết lập và sử dụng thêm máy chủ VPN. Trong hướng dẫn này, tôi sử dụng địa chỉ IP làm ví dụ. 4.3.2.1. Khi bạn đã nhập địa chỉ, hãy nhấn nút Đóng
2.2.4. Danh sách địa chỉ IP bên ngoài
Tiếp theo, chúng tôi được cung cấp một danh sách các địa chỉ IP công cộng vĩnh viễn của chúng tôi (IP đàn hồi).
2.2.5. Chỉ định IP bên ngoài cho một phiên bản
Trong danh sách này, chúng tôi chọn địa chỉ IP mà chúng tôi đã nhận được và nhấn nút chuột phải để hiển thị menu thả xuống. Trong đó, chọn mục địa chỉ liên kếtđể gán nó cho thể hiện mà chúng ta đã tạo trước đó.
2.2.6. Cài đặt gán IP bên ngoài
Trong bước tiếp theo, hãy chọn phiên bản của chúng tôi từ danh sách thả xuống và nhấn nút Liên kết
2.2.7. Tổng quan về kết quả chỉ định IP bên ngoài
Sau đó, chúng ta có thể thấy rằng phiên bản của chúng ta và địa chỉ IP riêng của nó được liên kết với địa chỉ IP công cộng vĩnh viễn của chúng ta.
Giờ đây, chúng tôi có thể kết nối với phiên bản mới tạo của mình từ bên ngoài, từ máy tính của chúng tôi thông qua SSH.
3. Kết nối với phiên bản AWS
SSH là một giao thức an toàn để điều khiển từ xa các thiết bị máy tính.
3.1. Kết nối qua SSH từ máy tính Windows
Để kết nối với máy tính Windows, trước hết bạn cần tải và cài đặt chương trình Putty.
3.1.1. Nhập khóa riêng cho PuTTY
3.1.1.1. Sau khi cài đặt Putty, bạn cần chạy tiện ích PuTTYgen đi kèm để nhập khóa chứng chỉ ở định dạng PEM, ở định dạng phù hợp để sử dụng trong Putty. Để làm điều này, chọn mục trong menu trên cùng Chuyển đổi-> Nhập khóa
3.1.1.2. Chọn khóa AWS ở định dạng PEM
Tiếp theo, chọn khóa mà chúng tôi đã lưu trước đó ở bước 2.1.7.1, trong trường hợp của chúng tôi là tên của nó wireguard-awskey.pem
3.1.1.3. Đặt tùy chọn nhập khóa
Ở bước này, chúng ta cần chỉ định chú thích cho khóa này (mô tả) và đặt mật khẩu và xác nhận để bảo mật. Nó sẽ được yêu cầu mỗi khi bạn kết nối. Do đó, chúng tôi bảo vệ khóa bằng mật khẩu khỏi việc sử dụng không phù hợp. Bạn không cần phải đặt mật khẩu, nhưng sẽ kém an toàn hơn nếu chìa khóa rơi vào tay kẻ xấu. Sau khi chúng tôi nhấn nút Lưu khóa riêng
3.1.1.4. Lưu khóa đã nhập
Hộp thoại lưu tệp mở ra và chúng tôi lưu khóa riêng của mình dưới dạng tệp có phần mở rộng .ppkphù hợp để sử dụng trong chương trình Putty.
Chỉ định tên của khóa (trong trường hợp của chúng tôi wireguard-awskey.ppk) và nhấn nút Tiết kiệm.
3.1.2. Tạo và cấu hình kết nối trong PuTTY
3.1.2.1. Tạo kết nối
Mở chương trình Putty, chọn danh mục Phiên (nó được mở theo mặc định) và trong trường host Name nhập địa chỉ IP công cộng của máy chủ mà chúng tôi đã nhận được ở bước 2.2.3. trong lĩnh vực phiên đã lưu nhập một tên tùy ý cho kết nối của chúng tôi (trong trường hợp của tôi wireguard-aws-london), rồi nhấn nút Lưu để lưu các thay đổi chúng tôi đã thực hiện.
3.1.2.2. Thiết lập tự động đăng nhập người dùng
Thêm trong danh mục Kết nối, chọn một danh mục con Ngày và trong lĩnh vực này Tự động đăng nhập tên người dùng điền tên đăng nhập ubuntu là người dùng tiêu chuẩn của phiên bản trên AWS với Ubuntu.
3.1.2.3. Chọn khóa riêng để kết nối qua SSH
Sau đó đi đến tiểu thể loại Kết nối/SSH/Xác thực và bên cạnh cánh đồng Tệp khóa riêng để xác thực Nhấn nút Duyệt qua ... để chọn một tệp có chứng chỉ khóa.
3.1.2.4. Mở khóa đã nhập
Chỉ định khóa mà chúng tôi đã nhập trước đó ở bước 3.1.1.4, trong trường hợp của chúng tôi, đó là một tệp wireguard-awskey.ppk, và nhấn nút mở.
3.1.2.5. Lưu cài đặt và bắt đầu kết nối
Quay lại trang danh mục Phiên nhấn nút một lần nữa Lưu, để lưu các thay đổi chúng tôi đã thực hiện trước đó trong các bước trước đó (3.1.2.2 - 3.1.2.4). Và sau đó chúng tôi nhấn nút Mở để mở kết nối SSH từ xa mà chúng tôi đã tạo và định cấu hình.
3.1.2.7. Thiết lập niềm tin giữa các máy chủ
Ở bước tiếp theo, lần đầu tiên chúng tôi cố gắng kết nối, chúng tôi nhận được một cảnh báo, chúng tôi không có cấu hình tin cậy giữa hai máy tính và hỏi có nên tin tưởng máy tính từ xa hay không. Chúng tôi sẽ nhấn nút vâng, do đó thêm nó vào danh sách các máy chủ đáng tin cậy.
3.1.2.8. Nhập mật khẩu để truy cập khóa
Sau đó, một cửa sổ đầu cuối sẽ mở ra, nơi bạn được yêu cầu nhập mật khẩu cho khóa, nếu bạn đã đặt mật khẩu trước đó ở bước 3.1.1.3. Khi nhập mật khẩu, không có hành động nào trên màn hình xảy ra. Nếu bạn mắc lỗi, bạn có thể sử dụng phím Backspace.
3.1.2.9. Thông báo chào mừng khi kết nối thành công
Sau khi nhập thành công mật khẩu, chúng tôi sẽ thấy một văn bản chào mừng trong thiết bị đầu cuối, văn bản này cho chúng tôi biết rằng hệ thống từ xa đã sẵn sàng thực hiện các lệnh của chúng tôi.
4. Định cấu hình Máy chủ Wireguard
Bạn có thể tìm thấy các hướng dẫn cập nhật nhất để cài đặt và sử dụng Wireguard bằng các tập lệnh được mô tả bên dưới trong kho lưu trữ: https://github.com/isystem-io/wireguard-aws
4.1. Cài đặt WireGuard
Trong thiết bị đầu cuối, nhập các lệnh sau (bạn có thể sao chép vào khay nhớ tạm và dán vào thiết bị đầu cuối bằng cách nhấn nút chuột phải):
4.1.1. Nhân bản một kho lưu trữ
Sao chép kho lưu trữ bằng tập lệnh cài đặt Wireguard
Chạy với tư cách quản trị viên (người dùng root) tập lệnh cài đặt Wireguard
sudo ./initial.sh
Quá trình cài đặt sẽ yêu cầu một số dữ liệu cần thiết để định cấu hình Wireguard
4.1.3.1. Đầu vào điểm kết nối
Nhập địa chỉ IP bên ngoài và cổng mở của máy chủ Wireguard. Chúng tôi đã nhận được địa chỉ IP bên ngoài của máy chủ ở bước 2.2.3 và đã mở cổng ở bước 2.1.5. Chúng tôi chỉ ra chúng cùng nhau, ví dụ ngăn cách chúng bằng dấu hai chấm 4.3.2.1:54321rồi nhấn phím đăng ký hạng mục thi Đầu ra mẫu:
Enter the endpoint (external ip and port) in format [ipv4:port] (e.g. 4.3.2.1:54321): 4.3.2.1:54321
4.1.3.2. Nhập địa chỉ IP nội bộ
Nhập địa chỉ IP của máy chủ Wireguard trên mạng con VPN an toàn, nếu bạn không biết nó là gì, chỉ cần nhấn phím Enter để đặt giá trị mặc định (10.50.0.1) Đầu ra mẫu:
Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):
4.1.3.3. Chỉ định Máy chủ DNS
Nhập địa chỉ IP của máy chủ DNS hoặc chỉ cần nhấn phím Enter để đặt giá trị mặc định 1.1.1.1 (DNS công cộng của Cloudflare) Đầu ra mẫu:
Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):
4.1.3.4. Chỉ định giao diện WAN
Tiếp theo, bạn cần nhập tên của giao diện mạng bên ngoài sẽ nghe trên giao diện mạng nội bộ VPN. Chỉ cần nhấn Enter để đặt giá trị mặc định cho AWS (eth0) Đầu ra mẫu:
Enter the name of the WAN network interface ([ENTER] set to default: eth0):
4.1.3.5. Chỉ định tên của khách hàng
Nhập tên của người dùng VPN. Thực tế là máy chủ Wireguard VPN sẽ không thể khởi động cho đến khi ít nhất một máy khách được thêm vào. Trong trường hợp này, tôi đã nhập tên Alex@mobile Đầu ra mẫu:
Enter VPN user name: Alex@mobile
Sau đó, một mã QR có cấu hình của ứng dụng khách mới được thêm sẽ được hiển thị trên màn hình, mã này phải được đọc bằng ứng dụng khách di động Wireguard trên Android hoặc iOS để định cấu hình. Và cũng bên dưới mã QR, văn bản của tệp cấu hình sẽ được hiển thị trong trường hợp cấu hình thủ công của khách hàng. Làm thế nào để làm điều này sẽ được thảo luận dưới đây.
4.2. Thêm người dùng VPN mới
Để thêm người dùng mới, bạn cần thực thi tập lệnh trong thiết bị đầu cuối add-client.sh
sudo ./add-client.sh
Kịch bản yêu cầu tên người dùng: Đầu ra mẫu:
Enter VPN user name:
Ngoài ra, tên của người dùng có thể được chuyển dưới dạng tham số tập lệnh (trong trường hợp này Alex@mobile):
sudo ./add-client.sh Alex@mobile
Do thực thi tập lệnh, trong thư mục có tên của khách hàng dọc theo đường dẫn /etc/wireguard/clients/{ИмяКлиента} tệp cấu hình máy khách sẽ được tạo /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, và màn hình thiết bị đầu cuối sẽ hiển thị mã QR để thiết lập ứng dụng khách di động và nội dung của tệp cấu hình.
4.2.1. Tập tin cấu hình người dùng
Bạn có thể hiển thị nội dung của tệp .conf trên màn hình, để cấu hình thủ công máy khách, sử dụng lệnh cat
[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом
[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все - 0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения
4.2.2. Mã QR cho cấu hình máy khách
Bạn có thể hiển thị mã QR cấu hình cho ứng dụng khách đã tạo trước đó trên màn hình thiết bị đầu cuối bằng lệnh qrencode -t ansiutf8 (trong ví dụ này, ứng dụng khách có tên Alex@mobile được sử dụng):
Sau đó, bạn cần nhập cấu hình bằng cách đọc mã QR có cấu hình máy khách (xem đoạn 4.2.2) và đặt tên cho nó:
Sau khi nhập cấu hình thành công, bạn có thể kích hoạt đường hầm VPN. Một kết nối thành công sẽ được biểu thị bằng một ngăn chứa khóa trong khay hệ thống Android
5.2. Thiết lập máy khách Windows
Trước tiên, bạn cần tải xuống và cài đặt chương trình TunSafe cho Windows là ứng dụng khách Wireguard cho Windows.
5.2.1. Tạo tệp cấu hình nhập
Nhấp chuột phải để tạo một tệp văn bản trên màn hình nền.
5.2.2. Sao chép nội dung của tệp cấu hình từ máy chủ
Sau đó, chúng tôi quay lại thiết bị đầu cuối Putty và hiển thị nội dung của tệp cấu hình của người dùng mong muốn, như được mô tả trong bước 4.2.1.
Tiếp theo, nhấp chuột phải vào văn bản cấu hình trong thiết bị đầu cuối PuTTY, sau khi chọn xong, nó sẽ tự động được sao chép vào khay nhớ tạm.
5.2.3. Sao chép cấu hình vào tệp cấu hình cục bộ
Trong trường này, chúng tôi quay lại tệp văn bản mà chúng tôi đã tạo trước đó trên màn hình nền và dán văn bản cấu hình vào đó từ khay nhớ tạm.
5.2.4. Lưu tệp cấu hình cục bộ
Lưu tệp với phần mở rộng .conf (trong trường hợp này có tên london.conf)
5.2.5. Nhập tệp cấu hình cục bộ
Tiếp theo, bạn cần nhập tệp cấu hình vào chương trình TunSafe.
5.2.6. Thiết lập kết nối VPN
Chọn tệp cấu hình này và kết nối bằng cách nhấp vào nút Kết nối.
6. Kiểm tra kết nối có thành công không
Để kiểm tra sự thành công của kết nối qua đường hầm VPN, bạn cần mở trình duyệt và truy cập trang web https://2ip.ua/ru/
Địa chỉ IP được hiển thị phải khớp với địa chỉ chúng tôi nhận được ở bước 2.2.3.
Nếu vậy, thì đường hầm VPN đang hoạt động thành công.
Từ thiết bị đầu cuối Linux, bạn có thể kiểm tra địa chỉ IP của mình bằng cách nhập:
curl http://zx2c4.com/ip
Hoặc bạn có thể truy cập vào pornhub nếu bạn ở Kazakhstan.