Mục lục:

Cổng VPN Raspberry Pi: 6 bước
Cổng VPN Raspberry Pi: 6 bước

Video: Cổng VPN Raspberry Pi: 6 bước

Video: Cổng VPN Raspberry Pi: 6 bước
Video: Cài đặt Dynamic DNS với No-IP và kết nối SSH tới Raspberry Pi từ Internet 2024, Tháng bảy
Anonim
Cổng VPN Raspberry Pi
Cổng VPN Raspberry Pi

Cập nhật 2018-01-07:

  • Cập nhật những thứ còn thiếu và những thay đổi cần thiết cho phiên bản hiện tại của Raspian.
  • Cũng đã tạo một hướng dẫn cụ thể cho NordVPN.

Có một số cách sử dụng khác nhau cho VPN. Hoặc bạn muốn bảo vệ quyền riêng tư và dữ liệu cá nhân của mình khỏi những con mắt tò mò hoặc bạn cần lấy nguồn từ quốc gia khác. Tìm nguồn cung ứng từ một quốc gia khác có thể rất hữu ích để tiếp cận với các dịch vụ không được cung cấp ở quốc gia của bạn. Ngày nay có một số dịch vụ VPN và hầu hết chúng đều cung cấp phần mềm dễ sử dụng cho máy tính và các ứng dụng cho máy tính bảng hoặc điện thoại của bạn. Nhưng nếu bạn có các thiết bị khác không được phần mềm hỗ trợ mà bạn muốn sử dụng VPN? Sau đó, xây dựng một cổng cung cấp cho bạn quyền truy cập Internet qua VPN.

Nếu bạn xem thiết lập mạng cơ bản của mình, bạn có một "cổng mặc định" được sử dụng cho bất kỳ địa chỉ ip nào không nằm trong mạng con hiện tại của bạn (rất đơn giản). Vì vậy, nếu bạn thiết lập một cổng có thể định tuyến lưu lượng truy cập internet qua kết nối VPN đã thiết lập thì bất kỳ thiết bị hỗ trợ mạng nào cũng có thể tận dụng đường hầm VPN.

Trường hợp sử dụng chính của tôi trong căn hộ ở San Francisco của tôi là một đường hầm VPN đến Thụy Điển quê hương của tôi để tôi có thể phát trực tuyến các kênh phát của Thụy Điển trên các trình phát đa phương tiện và TV thông minh của mình. Đây là một trường hợp sử dụng khá phổ biến đối với hầu hết mọi người cần một đường hầm VPN. Vì các trình phát đa phương tiện và TV thông minh của tôi không được hỗ trợ bởi phần mềm VPN, tôi đã tạo một phần mềm từ Raspberry Pi.

Bạn có thể chọn một chiếc với giá dưới 40 đô la trên Amazon. Tuy nhiên, tôi khuyên bạn nên mua một hộp đựng và bộ đổi nguồn phù hợp. Đối với hướng dẫn này, bạn cần:

  • Raspberry Pi 2 hoặc 3
  • Một trường hợp bạn thích
  • Một bộ đổi nguồn tốt
  • Cáp mạng

Bước 1: Chọn dịch vụ VPN của bạn

Chọn dịch vụ VPN của bạn
Chọn dịch vụ VPN của bạn

Điều quan trọng khi lựa chọn một dịch vụ VPN là nó đáp ứng các yêu cầu của bạn. Đối với trường hợp sử dụng này, tôi cần một dịch vụ VPN có điểm thoát Thụy Điển, đó là điều quan trọng nhất vì tôi cần các dịch vụ Thụy Điển để tin rằng tôi đang ở Thụy Điển. Trong nhiều năm, tôi đã sử dụng một số nguồn cung cấp khác nhau và dưới đây là những điều tôi cân nhắc khi chọn nhà cung cấp VPN cho trường hợp sử dụng cụ thể:

Kiểm tra miễn phí

Tôi muốn có một khoảng thời gian thử nghiệm miễn phí hoặc một lượng nhỏ dữ liệu thử nghiệm để cảm nhận về phần mềm hoặc ứng dụng. Ngoài ra, tôi muốn kiểm tra hiệu suất và trải nghiệm tổng thể trước khi trả tiền cho nó. Thật tuyệt khi kiểm tra xem ý tưởng của tôi có hoạt động không trước khi tôi bắt đầu trả tiền.

Sự riêng tư

Nếu việc triển khai là vì các mối quan tâm về quyền riêng tư thì điều quan trọng là chính sách quyền riêng tư nêu rõ. Điều quan trọng nữa là công ty hoạt động từ quốc gia nào và luật nào đang bảo vệ quyền riêng tư của bạn. Người dùng thực sự quan tâm đến quyền riêng tư nên xem xét một dịch vụ nói rằng không có nhật ký lưu lượng nào được lưu trữ và cho phép thanh toán ẩn danh qua Bitcoin chẳng hạn.

Lưu lượng cho phép

Có thể có những giới hạn về loại lưu lượng bạn sẽ được phép chạy. Các nhà cung cấp nghiêm trọng hơn thường chặn lưu lượng truy cập ngang hàng. Điều này không chỉ để tránh các vấn đề pháp lý mà còn có thể duy trì hiệu suất cho tất cả người dùng. Có bao giờ rất nhiều nhà cung cấp tốt ngoài kia cho phép hoạt động ngang hàng mà vẫn cung cấp dịch vụ chất lượng cao. Nhưng nếu đó không phải là sự phục hồi chính của bạn, tôi khuyên bạn nên chọn một dịch vụ không cho phép peer-to-peer.

Giới hạn dữ liệu

Không bao giờ sử dụng một dịch vụ giữ giới hạn dữ liệu đối với người dùng trả tiền của họ. Dữ liệu này sẽ chỉ hết vào thời điểm xấu nhất có thể, giống như dữ liệu trên điện thoại của bạn ngay trước phần hài hước trong video clip!

Thoát khỏi các quốc gia

Tùy thuộc vào từng trường hợp sử dụng mà điều này có tầm quan trọng khác nhau. Đối với một trường hợp sử dụng như của tôi, nơi tôi cần kết thúc ở một quốc gia cụ thể, tất nhiên điều đó cần phải có trong danh sách. Tôi cũng cần được phép chọn quốc gia tôi xuất cảnh. Có những dịch vụ mà bạn không thể chọn quốc gia xuất cảnh, hãy tránh xa những dịch vụ đó. Bạn có thể đến một quốc gia có hiệu suất kém hoặc luật riêng tư. Ngay cả khi bạn không cần một quốc gia cụ thể, bạn vẫn nên chọn một dịch vụ có một vài quốc gia khác nhau để hiển thị để có thể tìm được một dịch vụ có hiệu suất tốt.

Loại phần mềm và hỗ trợ

Đây là một trong những lý do chính tại sao tôi thích các dịch vụ có thử nghiệm miễn phí. Có rất nhiều nhà cung cấp có phần mềm xấu có lỗi, không an toàn hoặc không hoạt động. Để triển khai Raspberry Pi, tôi cần một nhà cung cấp hỗ trợ OpenVPN.

Lựa chọn của tôi

Đối với công trình này, tôi đã đi cùng với Tunnel Bear. Một thử nghiệm miễn phí lên đến 500GB được cung cấp để tôi có thể kiểm tra xem mình có thể phát trực tiếp hay không trước khi trả bất kỳ khoản nào. Họ có trụ sở tại Canada, bên cạnh Thụy Điển, có một số luật về quyền riêng tư mạnh nhất trên thế giới. Không có giới hạn dữ liệu đối với dịch vụ trả phí và tôi cũng được phép kết nối nhiều thiết bị cùng một lúc. Vì vậy, bảo vệ cho điện thoại, máy tính bảng và máy tính của tôi khi di chuyển trên mạng wifi không an toàn cũng được sắp xếp. Nút thoát ở Thụy Điển được hỗ trợ, nó thực sự được cung cấp thông qua Bahnhof được biết đến với quyền riêng tư mạnh mẽ ở Thụy Điển. Đối với các gói trả phí, họ cung cấp hỗ trợ OpenVPN. Họ không cho thử nghiệm miễn phí nhưng nó đủ để chạy nó từ máy tính xách tay của tôi để đảm bảo rằng các dịch vụ phát trực tuyến hoạt động.

Bước 2: Cài đặt Raspberry Pi

Đối với các triển khai như thế này, tôi sử dụng hệ điều hành Raspbian Lite. Vì tôi không cần GUI gì cả. Bạn có thể nhận bản phát hành mới nhất tại đây.

Tôi sử dụng Win32DiskImager để tải tệp.img trên thẻ SD cho Raspberry Pi.

Khi Raspberry Pi đã khởi động, tôi tìm trong danh sách DHCP của bộ định tuyến để lấy địa chỉ IP và sau đó kết nối qua SSH với Putty. Tên người dùng và mật khẩu tiêu chuẩn là pi / raspberry

Sau khi kết nối, tôi chạy công cụ raspi-config để thay đổi các cài đặt cơ bản.

sudo raspi-config

Những điều quan trọng nhất cần quan tâm trong cấu hình này là:

  • Mở rộng hệ thống tệp
  • Đổi mật khẩu

Bạn cũng có thể thay đổi tên máy chủ của Raspberry Pi nếu muốn. DHCP của tôi có hợp đồng thuê rất dài và tôi cũng có thể đặt trước một địa chỉ cụ thể. Nếu bạn không có khả năng đó, bạn phải định cấu hình Raspberry Pi để sử dụng địa chỉ IP tĩnh. Vì các thiết bị khác sẽ sử dụng điều này khi có cổng mặc định, điều quan trọng là nó phải tiếp tục sử dụng cùng một địa chỉ IP. Đây là bài đăng tôi đã viết về cách đặt IP tĩnh trong Raspbian Jessie.

Sau đó, chúng tôi cần nâng cấp mọi thứ lên phiên bản mới nhất:

sudo apt-get updateudo apt-get nâng cấp sudo apt-get dist-upgrade

Bước 3: Cài đặt OpenVPN

Cài đặt OpenVPN
Cài đặt OpenVPN

Bây giờ chúng ta cần cài đặt OpenVPN trên Raspberry Pi.

sudo apt-get install openvpn

Sau đó, chúng tôi cần đảm bảo rằng dịch vụ bắt đầu đúng cách.

sudo systemctl cho phép openvpn

Khi quá trình cài đặt kết thúc, chúng ta cần sao chép các tệp và chứng chỉ cấu hình OpenVPN vào hộp. Điều này sẽ được cung cấp cho bạn bởi nhà cung cấp VPN của bạn. Trong trường hợp của tôi, bằng cách sử dụng TunnelBear, tôi thấy có bài đăng trên blog về Hỗ trợ Linux. Trên trang đó có một liên kết đến tệp zip chứa mọi thứ chúng ta cần.

Tệp này chứa các tệp chứng chỉ và tệp cấu hình.opvn cho mỗi quốc gia mà bạn có thể chuyển đến. Bạn cần tất cả các tệp chứng chỉ và tệp cấu hình.opvn cho quốc gia bạn chọn, trong trường hợp của tôi là Thụy Điển. Giải nén các tệp cần thiết và sử dụng wincp để tải tệp lên Raspberry Pi của bạn. Tên người dùng / mật khẩu giống như được sử dụng cho SSH sẽ đưa bạn đến / home / pi, chỉ cần thả tệp vào đó.

Sau đó, chúng tôi quay lại thiết bị đầu cuối SSH và chuyển các tệp sang thư mục OpenVPN. Lệnh đầu tiên chỉ là đảm bảo chúng ta đang ở trong thư mục / home / pi.

cd / home / pi

sudo mv * / etc / openvpn /

Bây giờ chúng ta cần thực hiện một số sửa đổi đối với các tệp. Đầu tiên chúng ta cần đổi tên tệp cấu hình từ.ovpn thành.conf. Bất kỳ tệp nào kết thúc bằng.conf trong thư mục / etc / openvpn sẽ tự động bắt đầu khi trình nền OpenVPN được khởi động. Đầu tiên chúng ta cần vào thư mục đó.

cd / etc / openvpn

Sau đó, chúng tôi thay đổi tên của tệp cấu hình. Bạn có thể đặt tên cho nó bất cứ thứ gì bạn muốn miễn là nó kết thúc bằng.conf. Tôi thích sử dụng tên tệp không có khoảng trống, trong trường hợp này, tôi sẽ sử dụng swe.conf.

sudo mv *.ovpn swe.conf

Sau đó, chúng tôi cần một tệp xác thực chứa tên người dùng và mật khẩu được sử dụng cho đường hầm VPN. Mở trình soạn thảo văn bản và viết tên người dùng và mật khẩu trên các dòng riêng biệt. Chúng tôi sẽ gọi tệp này là auth.txt.

sudo nano auth.txt

Nội dung sẽ giống như ví dụ sau:

tên tài khoản

mật khẩu mở khóa

Sau đó, sử dụng CTRL + O để ghi vào tệp và CTRL + X để thoát khỏi trình soạn thảo văn bản nano. Chúng tôi cũng cần bảo vệ tệp auth.txt chứa thông tin đăng nhập của chúng tôi.

sudo chmod 600 /etc/openvpn/auth.txt

Sau đó, chúng ta cần chỉnh sửa tệp cấu hình để đảm bảo tất cả các đường dẫn đều chính xác và thêm tham chiếu đến tệp auth.txt mới được tạo.

sudo nano swe.conf

Các dòng cần thay đổi là những dòng tham chiếu đến các tệp khác, chúng cần phải là những đường dẫn tuyệt đối. Trong ví dụ này, đây là những gì chúng tôi đang tìm kiếm:

ca CACertificate.crt

cert UserCertificate.crt key PrivateKey.key

Chúng tôi thay đổi chúng thành những con đường tuyệt đối như thế này:

ca /etc/openvpn/CACertificate.crt

cert /etc/openvpn/UserCertificate.crt key /etc/openvpn/PrivateKey.key

Sau đó, ở cuối tệp, chúng tôi thêm một tham chiếu đến tệp auth.txt, như sau:

auth-user-pass /etc/openvpn/auth.txt

Một lần nữa chúng tôi sử dụng CTRL + O để lưu tệp và sau đó CTRL + X để thoát nano. Bây giờ chúng ta có thể khởi động lại daemon OpenVPN và thấy rằng đường hầm đang hoạt động.

khởi động lại dịch vụ sudo openvpn

Nếu bạn chạy lệnh ifconfig, bạn sẽ thấy một bộ điều hợp tun0 ngoài bộ điều hợp eth0 và lo của bạn nếu đường hầm được lên. Bạn cũng có thể chạy lệnh lệnh này để kiểm tra IP công cộng của bạn:

wget https://ipinfo.io/ip -qO -

Nếu bạn đang gặp sự cố khi khởi động đường hầm, trước tiên hãy thử khởi động lại Raspberry Pi của bạn và sau đó kiểm tra lại cấu hình để tìm lỗi.

Bước 4: Thiết lập định tuyến

Bây giờ chúng ta cần kích hoạt chuyển tiếp IP. Nó cho phép lưu lượng mạng đi vào từ một trong các giao diện mạng và ra các giao diện khác. Thực chất là tạo một bộ định tuyến.

sudo / bin / su -c "echo -e '\ n # Bật Định tuyến IP / nnet.ipv4.ip_osystem = 1'> /etc/sysctl.conf"

Nếu bạn chạy sudo sysctl -p, bạn sẽ thấy thông báo này được in trên màn hình:

net.ipv4.ip_osystem = 1

Giờ đây, định tuyến đã được kích hoạt và lưu lượng truy cập có thể đi qua Raspberry Pi, qua đường hầm và ra trên internet.

Bước 5: Thiết lập Tường lửa và NAT

Vì chúng tôi sẽ có một số khách hàng bên trong truy cập internet qua một địa chỉ IP công cộng, nên chúng tôi cần sử dụng NAT. Nó là viết tắt của dịch địa chỉ mạng và sẽ theo dõi khách hàng đã yêu cầu lưu lượng nào khi thông tin trả về qua đường hầm. Chúng tôi cũng cần thiết lập một số bảo mật xung quanh bản thân Raspberry Pi và đường hầm.

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Đang bật NAT.

sudo iptables -A FORWARD -i eth0 -o tun0 -j CHẤP NHẬN

Cho phép bất kỳ lưu lượng nào từ eth0 (nội bộ) đi qua tun0 (đường hầm).

sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state LIÊN QUAN, THÀNH LẬP -j CHẤP NHẬN

Cho phép lưu lượng truy cập từ tun0 (đường hầm) quay trở lại trên eth0 (nội bộ). Vì chúng tôi chỉ định trạng thái LIÊN QUAN, LẬP TỨC nên nó sẽ bị giới hạn đối với kết nối được khởi tạo từ mạng nội bộ. Chặn lưu lượng truy cập bên ngoài đang cố gắng bắt đầu một kết nối mới.

sudo iptables -A INPUT -i lo -j CHẤP NHẬN

Cho phép lưu lượng truy cập vòng lặp của Raspberry Pi.

sudo iptables -A INPUT -i eth0 -p icmp -j CHẤP NHẬN

Cho phép các máy tính trong mạng nội bộ ping Raspberry Pi.

sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j CHẤP NHẬN

Cho phép SSH từ mạng nội bộ.

sudo iptables -Một trạng thái INPUT -m - trạng thái ĐÃ ĐƯỢC THIẾT LẬP, CÓ LIÊN QUAN -j CHẤP NHẬN

Cho phép tất cả lưu lượng truy cập do Raspberry Pi khởi tạo quay trở lại. Đây là hiệu trưởng tiểu bang giống như trước đó.

sudo iptables -P FORWARD DROP

sudo iptables -P INPUT DROP sudo iptables -L

Nếu lưu lượng truy cập không phù hợp với bất kỳ quy tắc nào được chỉ định, nó sẽ bị loại bỏ.

sudo apt-get install iptables-dai dẳng

sudo systemctl cho phép netfilter-dai dẳng

Dòng đầu tiên cài đặt một mã hòa bình làm cho các quy tắc iptable mà chúng tôi vừa tạo ra vẫn tồn tại giữa các lần khởi động lại. Cái thứ hai lưu các quy tắc sau khi bạn thay đổi chúng. Lần này là đủ để chạy cái đầu tiên. Nếu bạn thay đổi các quy tắc, hãy chạy quy tắc thứ hai để lưu. Các quy tắc hữu ích có hiệu lực ngay sau khi bạn thêm chúng nếu bạn gây rối và mất quyền truy cập, chỉ cần khởi động lại và những quy tắc chưa được lưu sẽ hoàn nguyên.

Bước 6: Kết luận

Bây giờ bạn có thể sử dụng đường hầm này từ bất kỳ thiết bị hoặc máy tính nào trên cùng một mạng. Chỉ cần thay đổi cổng mặc định thành bất kỳ địa chỉ IP nào mà Raspberry Pi của bạn có. Trong trường hợp của tôi, cả trung tâm truyền thông Kodi của tôi (một phòng ngủ và một phòng khách) đều sử dụng kết nối này để tôi có thể phát trực tuyến các kênh chơi tiếng Thụy Điển của mình. Tất nhiên, có những thứ khác mà bạn có thể sử dụng nó.

Chỉ cần lưu ý rằng tùy thuộc vào nhà cung cấp VPN mà bạn đã chọn và tốc độ kết nối internet của bạn có thể có hiệu suất chậm.

Nếu bạn có bất kỳ câu hỏi nào hoặc muốn tôi làm rõ bất cứ điều gì, hãy cho tôi biết trong phần bình luận! Để biết thêm bài viết về công nghệ, vui lòng truy cập blog của tôi Hackviking!

Đề xuất: