메인 Raspberry Pi를 VPN으로 전환하여 어디서나 네트워크에 액세스

Raspberry Pi를 VPN으로 전환하여 어디서나 네트워크에 액세스



VPN을 사용하여 집에 액세스하는 이유

홈 네트워크에 원격으로 액세스하려는 이유는 여러 가지가 있으며 가장 좋은 방법은 VPN 서버를 사용하는 것입니다. 일부 라우터는 실제로 라우터 내에서 직접 VPN 서버를 설정할 수 있지만 대부분의 경우 직접 설정해야합니다.

Raspberry Pi는이를 수행하는 좋은 방법입니다. 실행하는 데 많은 에너지가 필요하지 않으며 VPN 서버를 실행하기에 충분한 전력이 있습니다. 라우터 옆에 하나를 설정하고 기본적으로 잊어 버릴 수 있습니다.

홈 네트워크에 원격으로 액세스 할 수 있으면 어디에서나 파일에 액세스 할 수 있습니다. 가정용 컴퓨터를 원격으로 실행할 수 있습니다. 이동 중에도 집의 VPN 연결을 사용할 수 있습니다. 이와 같은 설정을 통해 휴대 전화, 태블릿 또는 노트북이 어디서나 집에있는 것처럼 작동 할 수 있습니다.

파이 설정

VPN 설정을 시작하기 전에 Raspberry Pi를 설정해야합니다. 케이스와 적당한 크기의 메모리 카드로 Pi를 설정하는 것이 가장 좋습니다. 16GB면 충분합니다. 가능하면 이더넷 케이블을 사용하여 Pi를 라우터에 연결하십시오. 네트워크 지연을 최소화합니다.

Raspbian 설치

Pi에서 사용하기에 가장 좋은 운영 체제는 Raspbian입니다. Raspberry Pi 재단이 내놓은 기본 선택이며 가장 안전하고 안정적인 Linux 버전 중 하나 인 Debian을 기반으로합니다.

로 이동 Rasbian 다운로드 페이지 , 최신 버전을 가져옵니다. 실제로 그래픽 데스크톱이 필요하지 않기 때문에 여기에서 Lite 버전을 사용할 수 있습니다.

다운로드하는 동안 최신 버전을 다운로드하세요. 동판 화공 운영 체제. 다운로드가 완료되면 Raspbian 이미지를 추출합니다. 그런 다음 Etcher를 엽니 다. 추출한 Raspbian 이미지를 선택합니다. SD 카드를 선택하십시오 (먼저 삽입하십시오). 마지막으로 이미지를 카드에 씁니다.

Google 사진에 얼마나 많은 사진이

완료되면 SD 카드를 컴퓨터에 그대로 둡니다. 파일 관리자를 열고 카드를 찾습니다. 두 개의 다른 파티션이 표시되어야합니다. 부팅 파티션을 찾으십시오. kernel.img 파일이있는 파일입니다. 부팅 파티션에 빈 텍스트 파일을 만들고 파일 확장명없이 ssh라고합니다.

마침내 Pi를 연결할 수 있습니다. 마지막으로 연결했는지 확인하십시오. 화면, 키보드 또는 마우스가 필요하지 않습니다. 네트워크를 통해 Raspberry Pi에 원격으로 액세스 할 것입니다.

Pi가 자체적으로 설정되도록 몇 분 정도 기다리십시오. 그런 다음 웹 브라우저를 열고 라우터의 관리 화면으로 이동합니다. Raspberry Pi를 찾아 해당 IP 주소를 기록해 둡니다.

Windows, Linux 또는 Mac에 관계없이 OpenSSH를 엽니 다. SSH를 사용하여 Raspberry Pi에 연결합니다.

$ ssh [email protected] 

분명히 Pi의 실제 IP 주소를 사용하십시오. 사용자 이름은항상 파이, 암호는산딸기.

OpenVPN 설정

OpenVPN은 서버로 설정하기가 간단하지 않습니다. 좋은 소식은 한 번만하면된다는 것입니다. 따라서 조사하기 전에 Raspbian이 완전히 최신 상태인지 확인하십시오.

$ sudo apt update $ sudo apt upgrade

업데이트가 완료되면 OpenVPN과 필요한 인증서 유틸리티를 설치할 수 있습니다.

$ sudo apt install openvpn easy-rsa

인증 기관

서버에 연결을 시도 할 때 장치를 인증하려면 인증 기관을 설정하여 신호 키를 만들어야합니다. 이러한 키를 사용하면 장치 만 홈 네트워크에 연결할 수 있습니다.

먼저 인증서 용 디렉터리를 만듭니다. 해당 디렉토리로 이동하십시오.

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

OpenSSL 구성 파일을 찾아보십시오. 그런 다음 최신 버전을openssl.cnf.

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

동일한 certs 폴더에는 vars라는 파일이 있습니다. 텍스트 편집기로 해당 파일을 엽니 다. Nano가 기본값이지만 더 편하다면 Vim을 설치해도됩니다.

Vars 파일 편집

찾기KEY_SIZE변수 먼저. 설정되어 있습니다.2048기본적으로. 다음으로 변경4096.

export KEY_SIZE=4096

처리해야하는 기본 블록은 인증 기관에 대한 정보를 설정합니다. 이 정보가 정확하면 도움이되지만 기억할 수있는 것은 괜찮습니다.

export KEY_COUNTRY='US' export KEY_PROVINCE='CA' export KEY_CITY='SanFrancisco' export KEY_ORG='Fort-Funston' export KEY_EMAIL=' [email protected] ' export KEY_OU='MyOrganizationalUnit' export KEY_NAME='HomeVPN'

모든 것이 있으면 저장하고 종료하십시오.

이전에 설치 한 Easy-RSA 패키지에는 필요한 모든 것을 설정하는 데 도움이되는 많은 스크립트가 포함되어 있습니다. 실행하기 만하면됩니다. vars 파일을 소스로 추가하여 시작하십시오. 방금 설정 한 모든 변수가로드됩니다.

$ sudo source ./vars

다음으로 키를 정리합니다. 계정이 없으므로 키가 삭제된다는 메시지에 대해 걱정하지 마세요.

$ sudo ./clean-install

인증 기관 생성

마지막으로 인증 기관을 구축하십시오. 이미 기본값을 설정 했으므로 표시되는 기본값을 그대로 사용할 수 있습니다. 강력한 암호를 설정하고 암호 다음에 나오는 마지막 두 질문에 예라고 답하십시오.

$ sudo ./build-ca

키 만들기

서버 키 구축

키에 서명 할 수 있도록 인증 기관을 설정하는 데 모든 어려움을 겪었습니다. 이제 만들 시간입니다. 서버에 대한 키를 구축하여 시작하십시오.

$ sudo ./build-key-server server

Diffie-Hellman 빌드

다음으로 Diffie-Hellman PEM을 빌드합니다. OpenVPN이 서버에 대한 클라이언트 연결을 보호하기 위해 사용하는 것입니다.

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

지금부터 필요한 마지막 키를 HMAC 키라고합니다. OpenVPN은이 키를 사용하여 클라이언트와 서버간에 교환되는 각 개별 정보 패킷에 서명합니다. 연결에 대한 특정 유형의 공격을 방지하는 데 도움이됩니다.

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

서버 구성

당신은 열쇠를 가지고 있습니다. OpenVPN 설정의 다음 부분은 서버 구성 자체입니다. 고맙게도 여기서해야 할 일이 그다지 많지 않습니다. Debian은 시작하는 데 사용할 수있는 기본 구성을 제공합니다. 따라서 해당 구성 파일을 가져 오는 것으로 시작하십시오.

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

다시 텍스트 편집기로 사용하여/etc/openvpn/server.conf. 가장 먼저 찾아야 할 것은,인증서, 및파일. 생성 한 파일의 실제 위치와 일치하도록 설정해야합니다./ etc / openvpn / certs / keys.

OpenVPN 서버 구성 키

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # This file should be kept secret

찾기설정하고 Diffie-Hellman과 일치하도록 변경하십시오..pem당신이 만든.

dh dh4096.pem

HMAC 키의 경로도 설정하십시오.

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

찾기암호아래 예와 일치하는지 확인하세요.

cipher AES-256-CBC

다음 몇 가지 옵션이 있지만;. 활성화하려면 각 옵션 앞의 세미콜론을 제거하십시오.

push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'

찾아보십시오사용자그룹옵션. 주석 처리를 제거하고사용자openvpn에.

user openvpn group nogroup

마지막으로이 마지막 두 줄은 기본 구성이 아닙니다. 파일 끝에 추가해야합니다.

OpenVPN 서버 구성 인증

사용자 인증을 위해 더 강력한 암호화를 지정하려면 인증 다이제스트를 설정하십시오.

# Authentication Digest auth SHA512

그런 다음 OpenVPN이 사용할 수있는 cipers를 더 강력한 것으로 제한하십시오. 이는 취약한 암호에 대한 가능한 공격을 제한하는 데 도움이됩니다.

# Limit Ciphers tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

구성은 여기까지입니다. 파일을 저장하고 종료하십시오.

서버 시작

서버를 시작하기 전에openvpn지정한 사용자.

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

OpenVPN을 실행하기위한 특별한 사용자이며 다른 작업은 수행하지 않습니다.

이제 서버를 시작하십시오.

$ sudo systemctl start openvpn $ sudo systemctl start [email protected] 

둘 다 실행 중인지 확인

$ sudo systemctl status openvpn*.service

모든 것이 좋아 보이면 시작할 때 활성화하십시오.

$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected] 

클라이언트 설정

이제 서버가 설정되어 실행 중입니다. 다음으로 클라이언트 구성을 설정해야합니다. 이것은 장치를 서버에 연결하는 데 사용할 구성입니다. 돌아 가기어떤폴더를 열고 클라이언트 키 빌드를 준비합니다. 각 클라이언트에 대해 별도의 키를 만들거나 모든 클라이언트에 대해 하나의 키를 만들도록 선택할 수 있습니다. 가정에서 사용하려면 하나의 키가 좋습니다.

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

프로세스는 서버 1과 거의 동일하므로 동일한 절차를 따르십시오.

클라이언트 구성

클라이언트 구성은 서버 구성과 매우 유사합니다. 다시 말하지만, 구성을 기반으로하는 미리 만들어진 템플릿이 있습니다. 서버와 일치하도록 수정하기 만하면됩니다.

로 변경고객예배 규칙서. 그런 다음 샘플 구성의 포장을 풉니 다.

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

열기client.ovpn텍스트 편집기로 파일. 그런 다음선택권. 아직 VPN을 사용하지 않는다고 가정하면 Google에서 내 IP가 무엇인지 검색합니다. 표시되는 주소를 가져 와서그것에 대한 IP 주소. 포트 번호는 그대로 둡니다.

remote 107.150.28.83 1194 #That IP ironically is a VPN

OpenVPN 클라이언트 구성 키

서버에서했던 것처럼 생성 한 인증서를 반영하도록 인증서를 변경합니다.

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

사용자 옵션을 찾아 주석을 제거하십시오. 클라이언트를 다음과 같이 실행하는 것이 좋습니다.아무도.

user nobody group nogroup

주석 해제tls-authHMAC 옵션.

tls-auth ta.key 1

OpenVPN 클라이언트 암호

다음으로암호옵션을 선택하고 서버와 일치하는지 확인하십시오.

cipher AES-256-CBC

그런 다음 파일 하단에 인증 다이제스트 및 암호 제한을 추가하기 만하면됩니다.

# Authentication Digest auth SHA512 # Cipher Restrictions tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

모든 것이 올바르게 보이면 파일을 저장하고 종료하십시오. 사용하다타르구성 및 인증서를 압축하여 클라이언트로 보낼 수 있습니다.

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

원하는대로 패키지를 클라이언트로 전송합니다. SFTP, FTP 및 USB 드라이브는 모두 훌륭한 옵션입니다.

포트 포워딩

포트 포워딩

이 중 하나가 작동하려면 들어오는 VPN 트래픽을 Pi로 전달하도록 라우터를 구성해야합니다. 이미 VPN을 사용중인 경우 동일한 포트에서 연결하고 있지 않은지 확인해야합니다. 그렇다면 클라이언트 및 서버 구성에서 포트를 변경하십시오.

브라우저에 IP 주소를 입력하여 라우터의 웹 인터페이스에 연결합니다.

라우터마다 다릅니다. 그럼에도 불구하고 그들은 모두이 기능의 어떤 형태를 가지고 있어야합니다. 라우터에서 찾으십시오.

설정은 기본적으로 모든 라우터에서 동일합니다. 시작 및 끝 포트를 입력하십시오. 이들은 서로 동일해야하며 구성에서 설정 한 것과 동일해야합니다. 그런 다음 IP 주소를 Raspberry Pi의 IP로 설정합니다. 변경 사항을 저장하십시오.

클라이언트에 연결

모든 클라이언트가 다르므로 범용 솔루션이 없습니다. Windows를 사용하는 경우 Windows OpenVPN 클라이언트 .

Android에서는 tarball을 열고 키를 휴대 전화로 전송할 수 있습니다. 그런 다음 OpenVPN 앱을 설치하십시오. 앱을 열고 구성 파일의 정보를 연결하십시오. 그런 다음 키를 선택하십시오.

Linux에서는 서버에서했던 것처럼 OpenVPN을 설치해야합니다.

$ sudo apt install openvpn

그런 다음/ etc / openvpn, 보낸 tarball의 압축을 풉니 다.

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

클라이언트 파일의 이름을 바꿉니다.

$ sudo mv client.ovpn client.conf

아직 클라이언트를 시작하지 마십시오. 실패합니다. 먼저 라우터에서 포트 전달을 활성화해야합니다.

마무리 생각

이제 작동하는 설정이 있어야합니다. 클라이언트는 라우터를 통해 Pi에 직접 연결됩니다. 여기에서 모든 장치가 VPN에 연결되어있는 한 가상 네트워크를 통해 공유하고 연결할 수 있습니다. 제한이 없으므로 언제든지 모든 컴퓨터를 Pi VPN에 연결할 수 있습니다.

재미있는 기사

에디터의 선택

라인 채팅 앱에서 무료 코인을 얻는 방법
라인 채팅 앱에서 무료 코인을 얻는 방법
Line은 오늘날 가장 인기있는 채팅 앱 중 하나입니다. 라인 포인트로 구매할 수있는 모든 종류의 스티커, 이모티콘, GIF 등 다양한 기능이 있습니다. 이전에 Line Coins로 알려졌지만 iTunes를 통해 구입할 수 있습니다.
Facebook Messenger에서 메시지를 삭제/보내기 취소하는 방법
Facebook Messenger에서 메시지를 삭제/보내기 취소하는 방법
Facebook/Meta Messenger는 무료로 전 세계 개인에게 메시지를 보낼 수 있는 훌륭한 방법을 제공합니다. 일반 우편이나 장거리 전화가 없습니다. 이 뛰어난 기능에도 불구하고 실수로 올바르지 않은 메시지를 보낼 수 있습니다.
태그 아카이브 : crx 파일 다운로드
태그 아카이브 : crx 파일 다운로드
계속 멈출 때 Peacock TV를 수정하는 방법
계속 멈출 때 Peacock TV를 수정하는 방법
Peacock TV 앱은 지금까지 제작된 최고의 TV 프로그램 중 일부에 대한 경로입니다. 'The Office', 'Downton Abbey', 'Brooklyn Nine-Nine', 심지어 이전 WWE 네트워크 전체가 모두 Peacock을 집으로 부릅니다. 위대한 시간
PricewaterhouseCoopers는 일자리의 1/3이 자동화로 인해 손실 될 수 있으며 여성이 먼저 타격을받을 것이라고 예측합니다.
PricewaterhouseCoopers는 일자리의 1/3이 자동화로 인해 손실 될 수 있으며 여성이 먼저 타격을받을 것이라고 예측합니다.
회계 회사 인 PricewaterhouseCoopers (PwC)의 보고서에 따르면 지금과 2030 년대 중반 사이에 각각 증가하는 일자리 손실 수준과 관련된 세 가지 자동화 물결이있을 것으로 예측했으며 지금은 첫 번째 단계에 있습니다. 에
Chrome 및 Edge에 Microsoft 편집기 확장 설치
Chrome 및 Edge에 Microsoft 편집기 확장 설치
Chrome 및 Edge에 Microsoft Editor 확장을 설치하는 방법 Microsoft는 Microsoft Editor라는 Google Chrome 및 Microsoft Edge 용 새 확장 프로그램을 출시했습니다. 이것은 Grammarly의 대안으로 간주 될 수있는 새로운 AI 기반 작문 도우미입니다. 새로운 Microsoft 편집기는 문서 (Word for
POF가 계정을 삭제했는지 확인하는 방법
POF가 계정을 삭제했는지 확인하는 방법
Plenty of Fish 계정이 많은 활동을하지 않을 수 있습니다. 결과적으로 이러한 갑작스러운 변화의 가능한 원인을 고려하기 시작합니다. 마음에 드는 것은 귀하의 계정이 삭제되었다는 것입니다. 하지만 어떻게