Computer >> Máy Tính >  >> Kết nối mạng >> VPN

Cách thiết lập máy chủ VPN tại nhà miễn phí

Trong bài viết này, tôi sẽ hướng dẫn bạn từng bước về quy trình thiết lập WireGuard VPN trên máy chủ Linux. Nó sẽ cho phép bạn truy cập tài nguyên internet an toàn từ những nơi không an toàn như quán cà phê.

Nhưng tại sao lại là VPN? Và tại sao lại sử dụng WireGuard?

Chẳng hạn, bất cứ khi nào bạn kết nối với trang web ngân hàng của bạn từ một vị trí từ xa, bạn có nguy cơ bị lộ mật khẩu và thông tin nhạy cảm khác cho bất kỳ ai nghe thấy trên mạng.

Tất nhiên, hy vọng rằng bản thân trang web của ngân hàng sẽ được mã hóa, có nghĩa là dữ liệu quan trọng giữa ngân hàng và PC hoặc điện thoại thông minh của bạn sẽ không thể đọc được đối với bất kỳ ai đang nghe trên đường đi.

Và nếu bạn đang kết nối từ nhà hoặc văn phòng của mình thì sao? Với VPN, bạn có thể chắc chắn một cách hợp lý rằng những phần tử dữ liệu không bị che khuất bởi mã hóa thông thường sẽ không bị người khác nhìn thấy.

Nhưng nếu bạn đang kết nối qua bộ định tuyến WiFi công cộng tại sân bay hoặc quán cà phê thì sao? Bạn có chắc chắn mạng không bị xâm phạm hoặc không có tin tặc đang theo dõi mà không bị chú ý?

Để chống lại mối đe dọa rất thực tế này, bạn có thể mở một kết nối trên máy tính xách tay hoặc điện thoại của mình với máy chủ VPN. Bằng cách này, tất cả các quá trình truyền dữ liệu của bạn diễn ra thông qua một đường hầm ảo. Mọi phần của các kết nối nhạy cảm của bạn sẽ ẩn với bất kỳ ai trên mạng cục bộ mà bạn đang kết nối.

WireGuard là công ty mới nhất trong số ba công ty lớn trong thế giới VPN mã nguồn mở, với hai công ty còn lại là IPsec và OpenVPN.

WireGuard được xây dựng để đơn giản hơn, nhanh hơn và linh hoạt hơn những cái khác. Nó là đứa trẻ mới trong khối, nhưng nó đã nhanh chóng chọn được một số người bạn quan trọng. Theo sự thúc giục của chính Linus Torvalds, người sáng tạo Linux, WireGuard gần đây đã được tích hợp vào nhân Linux.

Xây dựng máy chủ VPN của bạn ở đâu?

Chắc chắn, bạn luôn có thể đặt cùng một máy chủ VPN tại nhà và định cấu hình chuyển tiếp cổng thông qua bộ định tuyến của ISP. Nhưng thường sẽ có ý nghĩa thiết thực hơn nếu chạy nó trên đám mây.

Đừng lo. Tôi đảm bảo với bạn rằng cách này sẽ gần hơn rất nhiều với cấu hình "thiết lập và quên nó" nhanh chóng và dễ dàng. Và rất khó có khả năng bất cứ thứ gì bạn xây dựng tại nhà sẽ đáng tin cậy - hoặc an toàn - như cơ sở hạ tầng được cung cấp bởi các nhà cung cấp đám mây lớn như AWS.

Tuy nhiên, nếu bạn tình cờ có một máy chủ internet được bảo mật chuyên nghiệp nằm xung quanh nhà (hoặc bạn sẵn sàng chớp lấy cơ hội với một Raspberry Pi dự phòng mà bạn đã đặt xung quanh) thì nó sẽ hoạt động theo cùng một cách.

Nhờ WireGuard, cho dù trên đám mây hay trên máy chủ vật lý, việc tạo VPN tại nhà của riêng bạn chưa bao giờ dễ dàng hơn thế. Toàn bộ quá trình thiết lập có thể được thực hiện trong nửa giờ.

Chuẩn bị sẵn sàng

Thiết lập và chạy phiên bản đám mây của bạn, có lẽ bằng cách sử dụng một hướng dẫn từ đây.

Đảm bảo rằng cổng 51820 đang mở cho máy chủ của bạn. Điều này được thực hiện với Nhóm bảo mật trên AWS và tường lửa mạng VPC trên Google Cloud.

Với các bản phát hành Debian / Ubuntu hiện đại, Wireguard có sẵn để được cài đặt từ các trình quản lý gói như sau:

sudo apt install wireguard

Hoặc với yum, từ kho EPEL:

sudo yum install kmod-wireguard wireguard-tools

Bước một:tạo khóa mã hóa

Trong bất kỳ thư mục nào trên máy chủ mà bạn muốn tạo tệp chứa khóa công khai và khóa riêng tư, hãy sử dụng lệnh sau:

umask 077; wg genkey | tee privatekey | wg pubkey > publickey

Làm tương tự cho máy khách trong một thư mục khác hoặc trên máy cục bộ của bạn. Chỉ cần đảm bảo rằng bạn sẽ có thể phân biệt giữa các bộ khóa khác nhau sau này.

Để thiết lập nhanh, bạn có thể sử dụng trình tạo khóa trực tuyến. Tuy nhiên, tôi khuyên bạn nên làm thủ công lần đầu tiên. Đảm bảo rằng các tệp được tạo với các hàm băm chính trong đó vì bạn sẽ sử dụng chúng trong bước tiếp theo.

Bước hai:tạo cấu hình máy chủ

Bạn cần tạo một .conf trong thư mục / etc / wireguard. Bạn thậm chí có thể có nhiều VPN chạy cùng lúc bằng các cổng khác nhau.

Dán mã sau vào tệp mới:

sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
# use the server PrivateKey
PrivateKey = GPAtRSECRETLONGPRIVATEKEYB0J/GDbNQg6V0s=

# you can have as many peers as you wish
# remember to replace the values below with the PublicKey of the peer

[Peer]
PublicKey = NwsVexamples4sBURwFl6HVchellou6o63r2B0s=
AllowedIPs = 10.0.0.2/32

[Peer]
PublicKey = NwsexampleNbw+s4sBnotFl6HrealxExu6o63r2B0s=
AllowedIPs = 10.0.0.3/32

Khởi động VPN

sudo systemctl start wg-quick@wg0

Nếu bạn không có systemd (có thể đúng nếu phiên bản của bạn đang chạy Amazon Linux), bạn có thể sử dụng sudo wg-quick up wg0 .

Bước ba:tạo cấu hình máy khách

Trước tiên, hãy cài đặt Wireguard trên máy khách của bạn, theo cách tương tự trên Linux hoặc thông qua cửa hàng ứng dụng nếu bạn đang sử dụng Windows, macOS, Android hoặc iPhone.

Nếu bạn đã sử dụng trình tạo khóa trực tuyến hoặc tập lệnh QR ở Bước một, thì bạn có thể kết nối điện thoại của mình bằng cách chụp ảnh mã QR.

Sau khi WireGuard được cài đặt trên máy khách, hãy định cấu hình nó bằng các giá trị sau:

# Replace the PrivateKey value with the one from your client interface
[Interface]
Address = 10.0.0.2/24
ListenPort = 51820
PrivateKey = CNNjIexAmple4A6NMkrDt4iyKeYD1BxSstzer49b8EI=

#use the VPN server's PublicKey and the Endpoint IP of the cloud instance
[Peer]
PublicKey = WbdIAnOTher1208Uwu9P17ckEYxI1OFAPZ8Ftu9kRQw=
AllowedIPs = 0.0.0.0/0
Endpoint = 34.69.57.99:51820

Có nhiều tiện ích bổ sung tùy chọn mà bạn có thể muốn tùy thuộc vào trường hợp sử dụng của mình, chẳng hạn như chỉ định DNS hoặc khóa chia sẻ trước để có thêm lớp bảo mật.

Khởi động máy khách theo cách giống như máy chủ nếu bạn đang sử dụng Linux hoặc thông qua chính ứng dụng trên các hệ thống khác.

Kiểm tra VPN của bạn

Nhập "ip của tôi" vào trình duyệt của bạn để khám phá địa chỉ IP công cộng của bạn. Nếu IP bạn nhận được khác với địa chỉ máy tính của bạn có trước khi khởi động VPN, thì bạn đã thành công!

(Và nếu bạn quên nó là gì trước đây, hãy thử sudo systemctl stop wg-quick@wg0 , kiểm tra và bắt đầu lại.)

Hướng dẫn Khắc phục sự cố

Đảm bảo máy chủ của bạn được định cấu hình để chuyển tiếp IP. Kiểm tra tệp /etc/sysctl.conf hoặc chạy:

echo 1 > /proc/sys/net/ipv4/ip_forward

Kết nối của bạn chết thường xuyên? Thêm phần này vào phần ngang hàng của cấu hình máy khách:

PersistentKeepalive = 25

Không chắc tại sao nó không hoạt động? Hãy thử sudo tcpdump -i eth trên máy chủ trong khi cố gắng sử dụng máy khách.

Cảm ơn bạn đã đọc hướng dẫn này.

Nếu bạn muốn tìm hiểu sâu hơn, hãy cân nhắc tham gia khóa học Manning trả phí của tôi trên WireGuard VPN.