Anonim

Tại sao nên sử dụng VPN để truy cập vào nhà của bạn

đường dẫn nhanh

  • Tại sao nên sử dụng VPN để truy cập vào nhà của bạn
  • Thiết lập Pi
    • Cài đặt Raspbian
  • Thiết lập OpenVPN
    • Cơ quan cấp chứng chỉ
    • Làm một số chìa khóa
    • Cấu hình máy chủ
    • Khởi động máy chủ
  • Cài đặt máy khách
    • Cấu hình máy khách
  • Cổng chuyển tiếp
  • Kết nối với khách hàng
  • Bớt tư tưởng

Có rất nhiều lý do mà bạn muốn truy cập mạng gia đình từ xa và cách tốt nhất để làm điều đó là với máy chủ VPN. Một số bộ định tuyến thực sự cho phép bạn thiết lập máy chủ VPN trực tiếp trong bộ định tuyến, nhưng trong nhiều trường hợp, bạn sẽ cần phải tự thiết lập một máy chủ.

Một Raspberry Pi là một cách tuyệt vời để thực hiện điều này. Chúng không đòi hỏi nhiều năng lượng để chạy và chúng có đủ năng lượng để chạy máy chủ VPN. Bạn có thể thiết lập một cái bên cạnh bộ định tuyến của bạn và về cơ bản quên nó đi.

Khi bạn có quyền truy cập vào mạng gia đình từ xa, bạn có thể truy cập các tệp của mình từ bất cứ đâu. Bạn có thể chạy máy tính ở nhà của bạn từ xa. Bạn thậm chí có thể sử dụng kết nối VPN của nhà bạn từ đường. Một thiết lập như thế này cho phép điện thoại, máy tính bảng hoặc máy tính xách tay của bạn hoạt động giống như ở nhà từ bất cứ đâu.

Thiết lập Pi

Trước khi bạn có thể bắt đầu thiết lập VPN, bạn sẽ cần thiết lập Raspberry Pi. Tốt nhất là thiết lập Pi với hộp đựng và thẻ nhớ kích thước khá, 16GB là quá đủ. Nếu có thể, hãy kết nối Pi của bạn với bộ định tuyến bằng cáp Ethernet. Nó sẽ giảm thiểu bất kỳ sự chậm trễ mạng.

Cài đặt Raspbian

Hệ điều hành tốt nhất để sử dụng trên Pi của bạn là Raspbian. Đây là lựa chọn mặc định được đưa ra bởi nền tảng Raspberry Pi và nó dựa trên Debian, một trong những phiên bản Linux an toàn và ổn định nhất hiện có.

Chuyển đến trang tải xuống Rasbian và lấy phiên bản mới nhất. Bạn có thể sử dụng phiên bản Lite Lite tại đây, vì bạn không thực sự cần một máy tính để bàn đồ họa.

Trong khi tải xuống, hãy tải phiên bản Etcher mới nhất cho hệ điều hành của bạn. Sau khi tải xuống hoàn tất, trích xuất hình ảnh Raspbian. Sau đó, mở Etcher. Chọn hình ảnh Raspbian từ nơi bạn trích xuất nó. Chọn thẻ SD của bạn (Chèn nó trước). Cuối cùng, viết hình ảnh vào thẻ.

Để lại thẻ SD trong máy tính của bạn khi hoàn tất. Mở một trình quản lý tập tin và duyệt đến thẻ. Bạn sẽ thấy một vài phân vùng khác nhau. Hãy tìm phân vùng khởi động trên mạng. Đây là tệp có tệp kernel kernel.img 'trong đó. Tạo một tệp văn bản trống trên phân vùng khởi động và khởi động và gọi nó là không có phần mở rộng tệp.

Cuối cùng bạn có thể kết nối Pi của bạn. Hãy chắc chắn rằng bạn cắm nó cuối cùng. Bạn sẽ không cần màn hình, bàn phím hoặc chuột. Bạn sẽ truy cập từ xa Raspberry Pi qua mạng của bạn.

Cho Pi vài phút để tự thiết lập. Sau đó, mở trình duyệt web và điều hướng đến màn hình quản lý bộ định tuyến của bạn. Tìm Raspberry Pi và lưu ý địa chỉ IP của nó.

Cho dù bạn đang dùng Windows, Linux hay Mac, hãy mở OpenSSH. Kết nối với Raspberry Pi bằng SSH.

$ ssh

Rõ ràng, sử dụng địa chỉ IP thực tế của Pi. Tên người dùng luôn là pi và mật khẩu là mâm xôi.

Thiết lập OpenVPN

OpenVPN không chính xác đơn giản để thiết lập như một máy chủ. Tin tốt là, bạn chỉ cần làm một lần. Vì vậy, trước khi bạn khai thác, hãy chắc chắn rằng Raspbian hoàn toàn cập nhật.

$ sudo apt cập nhật $ sudo apt nâng cấp

Sau khi cập nhật kết thúc, bạn có thể cài đặt OpenVPN và tiện ích chứng chỉ mà bạn cần.

$ sudo apt cài đặt openvpn easy-rsa

Cơ quan cấp chứng chỉ

Để xác thực thiết bị của bạn khi chúng cố gắng kết nối với máy chủ, bạn cần thiết lập cơ quan cấp chứng chỉ để tạo khóa sigining. Các phím này sẽ đảm bảo rằng chỉ các thiết bị của bạn mới có thể kết nối với mạng gia đình của bạn.

Đầu tiên, tạo một thư mục cho chứng chỉ của bạn. Di chuyển vào thư mục đó.

$ sudo make-cadir / etc / openvpn / certs $ cd / etc / openvpn / certs

Nhìn xung quanh để tìm tập tin cấu hình OpenSSL. Sau đó, liên kết cái mới nhất với openssl.cnf.

$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf

Trong đó, cùng một thư mục của cer certs là một tập tin có tên là vars. Nano là mặc định, nhưng hãy cài đặt Vim, nếu bạn cảm thấy thoải mái hơn với nó.

Trước tiên hãy tìm biến KEY_SIZE. Nó được đặt thành 2048 theo mặc định. Thay đổi nó thành 4096.

xuất KEY_SIZE = 4096

Khối chính mà bạn cần xử lý để thiết lập thông tin về cơ quan cấp chứng chỉ của bạn. Nó giúp nếu thông tin này là chính xác, nhưng bất cứ điều gì bạn có thể nhớ là tốt.

export KEY_COUNTRY = "US" export KEY_PROVINCE = "CA" export KEY_CITY = "SanFrancisco" export KEY_ORG = "Fort-Funston" export KEY_EMAIL = "" export KEY_OU = "MyOrganemonyUnit" export KEY_NAME = "HomeVP"

Khi bạn có tất cả mọi thứ, lưu và thoát.

Gói Easy-RSA mà bạn đã cài đặt trước đó chứa rất nhiều tập lệnh giúp thiết lập mọi thứ bạn cần. Bạn chỉ cần chạy chúng. Bắt đầu bằng cách thêm tập tin varsvvvvvs làm nguồn. Điều đó sẽ tải tất cả các biến mà bạn vừa đặt.

$ sudo nguồn ./vars

Tiếp theo, làm sạch các phím. Bạn không có bất kỳ thông tin nào, vì vậy đừng lo lắng về thông báo cho bạn biết rằng khóa của bạn sẽ bị xóa.

$ sudo ./clean-install

Cuối cùng, xây dựng thẩm quyền chứng chỉ của bạn. Bạn đã đặt mặc định, vì vậy bạn chỉ có thể chấp nhận mặc định mà nó đưa ra. Hãy nhớ đặt mật khẩu mạnh và trả lời Có, có hai câu hỏi cuối cùng, theo mật khẩu.

$ sudo ./build-ca

Làm một số chìa khóa

Bạn đã trải qua tất cả những rắc rối đó để thiết lập một cơ quan cấp chứng chỉ để bạn có thể ký các khóa. Bây giờ, đã đến lúc để thực hiện một số. Bắt đầu bằng cách xây dựng khóa cho máy chủ của bạn.

$ sudo ./build-key-server server

Tiếp theo, xây dựng PEM Diffie-Hellman. Đó là những gì OpenVPN sử dụng để bảo mật các kết nối máy khách của bạn với máy chủ.

$ sudo openssl dhparam 4096> /etc/openvpn/dh4096.pem

Khóa cuối cùng mà bạn cần từ bây giờ được gọi là khóa HMAC. OpenVPN sử dụng khóa này để ký từng gói thông tin riêng được trao đổi giữa máy khách và máy chủ. Nó giúp ngăn chặn một số loại tấn công vào kết nối.

$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key

Cấu hình máy chủ

Bạn có chìa khóa. Phần tiếp theo trong việc thiết lập OpenVPN là cấu hình máy chủ. Rất may, không có nhiều thứ bạn cần làm ở đây. Debian cung cấp một cấu hình cơ bản mà bạn có thể sử dụng để bắt đầu. Vì vậy, bắt đầu bằng cách lấy tập tin cấu hình đó.

$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf

Sử dụng trình soạn thảo văn bản của bạn một lần nữa để mở /etc/openvpn/server.conf. Điều đầu tiên bạn cần tìm là các tập tin ca, cert và key. Bạn cần đặt chúng khớp với vị trí thực tế của các tệp mà bạn đã tạo, tất cả đều nằm trong / etc / openvpn / certs / key.

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # Tập tin này cần được giữ bí mật

Tìm cài đặt dh và thay đổi nó để phù hợp với Diffie-Hellman .pem mà bạn đã tạo.

dh dh4096.pem

Đặt đường dẫn cho khóa HMAC của bạn.

tls-auth /etc/openvpn/certs/keys/ta.key 0

Tìm mật mã và đảm bảo nó phù hợp với ví dụ dưới đây.

mật mã AES-256-CBC

Một vài lựa chọn tiếp theo là ở đó, nhưng họ đã nhận xét bằng một; Xóa dấu chấm phẩy trước mỗi tùy chọn để bật chúng.

đẩy "redirect-gateway def1 bypass-dhcp" đẩy "tùy chọn dhcp DNS 208.67.222.222" đẩy "tùy chọn dhcp DNS 208.67.220.220"

Tìm kiếm các tùy chọn người dùng và nhóm. Bỏ ghi chú chúng và thay đổi người dùng thành openvpn.

người dùng nhóm openvpn nogroup

Cuối cùng, hai dòng cuối cùng này không có trong cấu hình mặc định. Bạn sẽ cần thêm chúng vào cuối tập tin.

Đặt thông báo xác thực để chỉ định mã hóa mạnh hơn cho xác thực người dùng.

# Xác thực Digest auth SHA512

Sau đó, giới hạn các bộ đệm mà OpenVPN có thể sử dụng để chỉ những bộ mạnh hơn. Điều này giúp hạn chế các cuộc tấn công có thể vào mật mã yếu.

# Giới hạn mật mã tls-mật mã TLS-DHE-RSA-VỚI-AES-256-GCM-SHA384: TLS-DHE-RSA-VỚI-AES-128-GCM-SHA256: TLS-DHE-RSA-VỚI-AES-256 CBC-SHA: TLS-DHE-RSA-VỚI-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-VỚI-AES-128-CBC-SHA: TLS-DHE-RSA-VỚI-CAMELLIA-128-CBC- SHA

Đó là tất cả cho cấu hình. Lưu file và thoát.

Khởi động máy chủ

Trước khi bạn có thể khởi động máy chủ, bạn cần phải tạo người dùng openvpn mà bạn đã chỉ định.

$ sudo adduser --system --shell / usr / sbin / nologin --no-create-home openvpn

Đó là một người dùng đặc biệt chỉ để chạy OpenVPN và nó sẽ không làm gì khác.

Bây giờ, khởi động máy chủ.

$ sudo systemctl bắt đầu openvpn $ sudo systemctl bắt đầu

Kiểm tra xem cả hai đang chạy

$ sudo trạng thái systemctl openvpn * .service

Nếu mọi thứ có vẻ tốt, kích hoạt chúng khi khởi động.

$ sudo systemctl kích hoạt openvpn $ sudo systemctl kích hoạt

Cài đặt máy khách

Máy chủ của bạn hiện đã được thiết lập và chạy. Tiếp theo, bạn cần thiết lập cấu hình máy khách của bạn. Đây là cấu hình bạn sẽ sử dụng để kết nối thiết bị của mình với máy chủ. Quay trở lại thư mục certs và chuẩn bị xây dựng (các) khóa máy khách. Bạn có thể chọn xây dựng các khóa riêng cho từng khách hàng hoặc một khóa cho tất cả các khách hàng. Đối với sử dụng nhà, một chìa khóa nên được tốt.

$ cd / etc / openvpn / certs $ sudo source ./vars $ sudo ./build-key client

Quá trình này gần giống với máy chủ, vì vậy hãy làm theo quy trình tương tự.

Cấu hình máy khách

Cấu hình cho máy khách rất giống với cấu hình cho máy chủ. Một lần nữa, bạn có một mẫu được tạo sẵn để dựa trên cấu hình của bạn. Bạn chỉ cần sửa đổi nó để phù hợp với máy chủ.

Thay đổi vào thư mục khách hàng. Sau đó, giải nén cấu hình mẫu.

$ cd / etc / openvpn / client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn

Mở tệp client.ovpn bằng trình soạn thảo văn bản của bạn. Sau đó, tìm tùy chọn từ xa. Giả sử bạn chưa sử dụng VPN, Google tìm kiếm IP của tôi là gì. Hãy lấy địa chỉ mà nó hiển thị và đặt địa chỉ IP từ xa thành địa chỉ đó. Để lại số cổng.

từ xa 107.150.28.83 1194 # IP đó trớ trêu thay là VPN

Thay đổi certs để phản ánh những cái bạn đã tạo, giống như bạn đã làm với máy chủ.

ca ca.crt cert client.crt key client.key

Tìm các tùy chọn người dùng và bỏ ghi chú chúng. Điều đó tốt để chạy các khách hàng như không có ai.

người dùng không có nhóm nào

Bỏ ghi chú tùy chọn tls-auth cho HMAC.

tls-auth ta.key 1

Tiếp theo, hãy tìm tùy chọn mật mã và đảm bảo rằng nó phù hợp với máy chủ.

mật mã AES-256-CBC

Sau đó, chỉ cần thêm thông báo xác thực và hạn chế mật mã ở dưới cùng của tệp.

# Xác thực Digest auth SHA512 # Giới hạn mật mã tls-mật mã TLS-DHE-RSA-VỚI-AES-256-GCM-SHA384: TLS-DHE-RSA-VỚI-AES-128-GCM-SHA256: TLS-DHA -AES-256-CBC-SHA: TLS-DHE-RSA-VỚI-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-VỚI-AES-128-CBC-SHA: TLS-DHE-RSA-VỚI-CAMELLIA -128-CBC-SHA

Khi mọi thứ có vẻ đúng, lưu tệp và thoát. Sử dụng tar để đóng gói cấu hình và certs, vì vậy bạn có thể gửi chúng cho khách hàng.

$ sudo tar cJf /etc/openvpn/clents/client.tar.xz -C / etc / openvpn / certs / key ca.crt client.crt client.key ta.key -C /etc/openvpn/clents/client.ovpn

Chuyển gói đó cho khách hàng theo cách bạn chọn. SFTP, FTP và ổ USB đều là những lựa chọn tuyệt vời.

Cổng chuyển tiếp

Để bất kỳ điều này hoạt động, bạn cần định cấu hình bộ định tuyến của mình để chuyển tiếp lưu lượng VPN đến Pi. Nếu bạn đang sử dụng VPN, bạn cần đảm bảo rằng bạn không kết nối trên cùng một cổng. Nếu là bạn, hãy thay đổi cổng trên cấu hình máy khách và máy chủ của bạn.

Kết nối với giao diện web của bộ định tuyến bằng cách nhập địa chỉ IP của nó trên trình duyệt của bạn.

Mỗi bộ định tuyến là khác nhau. Thậm chí, tất cả chúng nên có một số dạng của chức năng này. Tìm nó trên bộ định tuyến của bạn.

Thiết lập về cơ bản là giống nhau trên mọi bộ định tuyến. Nhập các cổng bắt đầu và kết thúc. Chúng phải giống nhau và là cái bạn đặt trong cấu hình của mình. Sau đó, đối với địa chỉ IP, hãy đặt địa chỉ đó thành IP của Raspberry Pi. Lưu các thay đổi của bạn.

Kết nối với khách hàng

Mỗi khách hàng là khác nhau, vì vậy không có một giải pháp phổ quát. Nếu bạn đang ở trên Windows, bạn sẽ cần ứng dụng khách Windows OpenVPN .

Trên Android, bạn có thể mở tarball và chuyển các phím vào điện thoại. Sau đó, cài đặt ứng dụng OpenVPN. Mở ứng dụng và cắm thông tin từ tệp cấu hình của bạn. Sau đó chọn chìa khóa của bạn.

Trên Linux, bạn cần cài đặt OpenVPN giống như bạn đã làm cho máy chủ.

$ sudo apt cài đặt openvpn

Sau đó, thay đổi thành / etc / openvpn và giải nén tarball mà bạn đã gửi.

$ cd / etc / openvpn $ sudo tar xJf /path/to/client.tar.xz

Đổi tên tệp khách hàng.

$ sudo mv client.ovpn client.conf

Đừng bắt đầu khách hàng. Nó sẽ thất bại. Bạn cần kích hoạt chuyển tiếp cổng trên bộ định tuyến của bạn trước.

Bớt tư tưởng

Bây giờ bạn sẽ có một thiết lập làm việc. Máy khách của bạn sẽ kết nối trực tiếp qua bộ định tuyến của bạn với Pi. Từ đó, bạn có thể chia sẻ và kết nối qua mạng ảo của mình, miễn là tất cả các thiết bị được kết nối với VPN. Không có giới hạn, vì vậy bạn luôn có thể kết nối tất cả các máy tính của mình với Pi VPN.

Biến một quả mâm xôi pi thành vpn để truy cập mạng của bạn từ bất cứ đâu