우리는 이미 다루었습니다 Tomato 설치 라우터에서 홈 네트워크에 연결하는 방법 OpenVPN 및 Tomato . 이제 전 세계 어디서나 홈 네트워크에 쉽게 액세스 할 수 있도록 DD-WRT 지원 라우터에 OpenVPN을 설치하는 방법을 다룰 것입니다!
OpenVPN이란 무엇입니까?
VPN (가상 사설망)은 LAN (Local Area Network)과 다른 LAN 간의 신뢰할 수있는 보안 연결입니다. 라우터를 연결하려는 네트워크 사이의 중간 역할을한다고 생각하십시오. 귀하의 컴퓨터와 OpenVPN 서버 (이 경우 귀하의 라우터)는 서로를 확인하는 인증서를 사용하여 "손을 흔 듭니다". 유효성 검사시 클라이언트와 서버는 서로 신뢰하는 데 동의하고 클라이언트는 서버 네트워크에서 액세스 할 수 있습니다.
일반적으로 VPN 소프트웨어 및 하드웨어는 구현하는 데 많은 비용이 듭니다. 아직 추측하지 못했다면 OpenVPN은 (드럼 롤) 무료 인 오픈 소스 VPN 솔루션입니다. OpenVPN과 함께 DD-WRT는 지갑을 열지 않고도 두 네트워크 간의 보안 연결을 원하는 사람들에게 완벽한 솔루션입니다. 물론 OpenVPN은 즉시 작동하지 않습니다. 제대로 작동하려면 약간의 조정과 구성이 필요합니다. 하지만 걱정하지 마세요. 이 과정을 더 쉽게 만들기 위해 여기에 있습니다. 따뜻한 커피 한 잔을 마시고 시작합시다.
OpenVPN에 대한 자세한 정보는 공식 OpenVPN이란 무엇입니까? 페이지.
전제 조건
이 가이드에서는 현재 PC에서 Windows 7을 실행 중이고 관리 계정을 사용하고 있다고 가정합니다. Mac 또는 Linux 사용자 인 경우이 가이드에서 작동 방식에 대한 아이디어를 얻을 수 있지만 완벽하게 작동하려면 조금 더 조사해야 할 수도 있습니다.
이 가이드는 또한 귀하가 Linksys WRT54GL을 소유하고 있으며 VPN 기술에 대한 일반적인 이해가 있다고 가정합니다. DD-WRT 설치의 기초가되어야하지만 공식 DD-WRT를 확인하십시오. 설치 설명서 추가 보충을 위해.
DD-WRT 설치
DD-WRT를 담당하는 팀은 최종 사용자가 라우터 데이터베이스와의 라우터 호환성을 쉽게 찾을 수 있도록 훌륭한 작업을 수행했습니다. 페이지 . 라우터 모델 (이 경우 WRT54GL )를 입력하면 검색 결과가 즉시 표시됩니다. 라우터를 찾으면 클릭하세요.
하드웨어 사양 및 다양한 DD-WRT 빌드를 포함하여 모델에 대한 정보가 나열된 새 페이지로 이동합니다. Mini-Generic 빌드와 DD-WRT의 VPN Generic 빌드를 모두 다운로드하십시오 ( dd-wrt.v24_mini_generic.bin 과 dd-wrt.v24_vpn_generic.bin ). 이 파일을 컴퓨터에 저장하십시오.
DD-WRT를 방문하는 것이 좋습니다. 하드웨어 별 라우터 및 DD-WRT에 대한 자세한 정보를 조회하려면 정보 페이지를 참조하십시오. 이 페이지에서는 DD-WRT를 설치하기 전후에 수행해야하는 작업을 정확하게 설명합니다. 예를 들어, WRT54GL의 재고 Linksys 펌웨어에서 업그레이드 할 때 DD-WRT VPN을 설치하기 전에 DD-WRT의 미니 버전을 설치해야합니다.
또한 DD-WRT를 설치하기 전에 하드 리셋 (일명 30/30/30)을 수행해야합니다. 라우터 뒷면의 재설정 버튼을 30 초 동안 누릅니다. 그런 다음 재설정 버튼을 누른 상태에서 전원 케이블을 뽑고 30 초 동안 뽑아 둡니다. 마지막으로 재설정 버튼을 30 초 더 누른 상태에서 전원 케이블을 다시 연결합니다. 전원 버튼을 90 초 동안 똑바로 누르고 있어야합니다.
이제 브라우저를 열고 라우터의 IP 주소 (기본값은 192.168.1.1)를 입력합니다. 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. Linksys WRT54GL의 기본값은 "admin"및 "admin"입니다.
상단의 관리 탭을 클릭합니다. 다음으로 아래와 같이 펌웨어 업그레이드를 클릭합니다.
Browse 버튼을 클릭하고 앞서 다운로드 한 DD-WRT Mini Generic .bin 파일로 이동합니다. 하다 아니 DD-WRT VPN .bin 파일을 아직 업로드하십시오. 웹 인터페이스에서 업그레이드 버튼을 클릭합니다. 라우터가 DD-WRT Mini Generic 설치를 시작하고 완료하는 데 1 분도 걸리지 않습니다.
아아! DD-WRT의 첫 목격. 다시 한 번 위에서 한 것처럼 30/30/30 재설정을 다시 수행하십시오. 그런 다음 상단의 관리 탭을 클릭합니다. 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. 기본 사용자 이름과 암호는 각각 "root"와 "admin"입니다. 로그인 한 후 펌웨어 업그레이드 하위 탭을 클릭하고 파일 선택을 클릭합니다. 앞서 다운로드 한 DD-WRT VPN 파일을 찾아 열기를 클릭합니다. 이제 DD-WRT의 VPN 버전이 업로드되기 시작합니다. 2-3 분 정도 걸릴 수 있으므로 인내심을 가지십시오.
OpenVPN 설치
이제 OpenVPN으로 이동하겠습니다. 다운로드 페이지를 열고 OpenVPN Windows Installer를 다운로드하십시오. 이 가이드에서는 2.1.4라는 두 번째 최신 OpenVPN 버전을 사용합니다. 최신 버전 (2.2.0)에는 곤충 이 과정이 훨씬 더 복잡해집니다. 다운로드하는 파일은 VPN 네트워크에 연결할 수있는 OpenVPN 프로그램을 설치하므로 클라이언트 역할을하려는 다른 컴퓨터에이 프로그램을 설치해야합니다. 나중). openvpn-2.1.4-install .exe 파일을 컴퓨터에 저장합니다.
방금 다운로드 한 OpenVPN 파일로 이동하여 두 번 클릭합니다. 컴퓨터에 OpenVPN 설치가 시작됩니다. 모든 기본값을 선택한 상태로 설치 프로그램을 실행합니다. 설치하는 동안 TAP-Win32라는 새 가상 네트워크 어댑터를 설치하라는 대화 상자가 나타납니다. 설치 버튼을 클릭합니다.
인증서 및 키 만들기
이제 컴퓨터에 OpenVPN이 설치되었으므로 장치 인증을위한 인증서와 키 생성을 시작해야합니다. Windows 시작 버튼을 클릭하고 보조 프로그램 아래로 이동합니다. 명령 프롬프트 프로그램이 표시됩니다. 그것을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 클릭하십시오.
명령 프롬프트에서 다음을 입력합니다.
cd c : \ Program Files (x86) \ OpenVPN \ easy-rsa
아래와 같이 64 비트 Windows 7을 실행중인 경우. 유형
cd c : \ Program Files \ OpenVPN \ easy-rsa
32 비트 Windows 7을 실행중인 경우 Enter 키를 누릅니다.
이제 입력 init-config Enter 키를 눌러 vars.bat 및 openssl.cnf라는 두 파일을 easy-rsa 폴더에 복사합니다. 곧 다시 설명하겠습니다. 명령 프롬프트를 계속 유지하십시오.
로 이동 C : \ Program Files (x86) \ OpenVPN \ easy-rsa (또는 C : \ Program Files \ OpenVPN \ easy-rsa 32 비트 Windows 7))라는 파일을 마우스 오른쪽 버튼으로 클릭합니다. 년 . 편집을 클릭하여 메모장에서 엽니 다. 또는 파일의 텍스트 형식이 훨씬 더 좋으므로 메모장 ++로이 파일을 여는 것이 좋습니다. Notepad ++는 홈페이지 .
파일의 맨 아래 부분이 우리가 염려하는 부분입니다. 31 행에서 시작하여 KEY_COUNTRY 값, KEY_PROVINCE 예를 들어, 우리는 우리의 지방을“IL”로, 도시를“Chicago”로, 조직을“HowToGeek”로, 이메일을 우리 자신의 이메일 주소로 변경했습니다. 또한 Windows 7 64 비트를 실행중인 경우 집 6 행의 값을 % ProgramFiles (x86) % \ OpenVPN \ easy-rsa . 32 비트 Windows 7을 실행중인 경우이 값을 변경하지 마십시오. 파일은 아래의 파일과 비슷해야합니다 (물론 각 값 포함). 편집이 끝나면 파일을 덮어 써서 저장합니다.
명령 프롬프트로 돌아가서 다음을 입력하십시오. 누구의 Enter를 누르십시오. 그런 다음 입력 깨끗하게 Enter를 누르십시오. 마지막으로 build-ca Enter를 누르십시오.
실행 후 build-ca 명령을 실행하면 국가 이름, 주, 지역 등을 입력하라는 메시지가 표시됩니다. 이미 이러한 매개 변수를 년 파일에서 Enter 키를 눌러 이러한 옵션을 건너 뛸 수 있습니다. 그러나! Enter 키를 누르기 전에 Common Name 매개 변수를주의하십시오. 이 매개 변수에는 무엇이든 입력 할 수 있습니다 (예 : 이름). 입력하십시오 어떤 것 . 이 명령은 easy-rsa / keys 폴더에 두 개의 파일 (루트 CA 인증서 및 루트 CA 키)을 출력합니다.
이제 클라이언트를위한 키를 만들 것입니다. 동일한 명령 프롬프트 유형에서 빌드 키 client1 . "client1"을 원하는대로 변경할 수 있습니다 (예 : Acer-Laptop). 메시지가 표시되면 일반 이름과 동일한 이름을 입력해야합니다. 마지막 단계와 같이 모든 기본값을 실행합니다 (물론 일반 이름 제외). 그러나 마지막에 인증서에 서명하고 커밋하라는 메시지가 표시됩니다. 둘 다 "y"를 입력하고 Enter를 클릭합니다.
또한 " '무작위 상태'를 쓸 수 없음"오류가 표시 되더라도 걱정하지 마십시오. 귀하의 인증서는 여전히 문제없이 만들어지는 것으로 확인되었습니다. 이 명령은 easy-rsa / keys 폴더에 두 개의 파일 (Client1 키 및 Client1 인증서)을 출력합니다. 다른 클라이언트에 대해 다른 키를 만들려면 이전 단계를 반복하되 일반 이름을 변경해야합니다.
마지막으로 생성 할 인증서는 서버 키입니다. 동일한 명령 프롬프트에서 다음을 입력합니다. 빌드 키 서버 섬기는 사람 . 명령 끝에있는 "서버"를 원하는대로 바꿀 수 있습니다 (예 : HowToGeek-Server). 항상 그렇듯이 메시지가 표시되면 일반 이름과 동일한 이름을 입력해야합니다. Enter 키를 누르고 Common Name을 제외한 모든 기본값을 실행합니다. 마지막에 "y"를 입력하여 인증서에 서명하고 커밋합니다. 이 명령은 easy-rsa / keys 폴더에 두 파일 (서버 키 및 서버 인증서)을 출력합니다.
이제 Diffie Hellman 매개 변수를 생성해야합니다. Diffie Hellman 프로토콜은 "두 명의 사용자가 이전의 비밀없이 안전하지 않은 매체를 통해 비밀 키를 교환 할 수 있도록합니다". RSA의 Diffie Hellman에 대한 자세한 내용은 웹 사이트 .
동일한 명령 프롬프트 유형에서 빌드 -dh . 이 명령은 easy-rsa / keys 폴더에 하나의 파일 (dh1024.pem)을 출력합니다.
클라이언트에 대한 구성 파일 만들기
구성 파일을 편집하기 전에 동적 DNS 서비스를 설정해야합니다. ISP가 자주 동적 외부 IP 주소를 발급하는 경우이 서비스를 사용하십시오. 고정 외부 IP 주소가있는 경우 다음 단계로 건너 뜁니다.
우리는 DynDNS.com , 호스트 이름 (예 : howtogeek.dyndns.org)을 동적 IP 주소로 지정할 수있는 서비스입니다. OpenVPN이 항상 네트워크의 공용 IP 주소를 아는 것이 중요하며, DynDNS를 사용함으로써 OpenVPN은 공용 IP 주소가 무엇이든 관계없이 네트워크를 찾는 방법을 항상 알고 있습니다. 무료 등록 호스트 이름 대중에게 알려줘 IP 주소 .
이제 OpenVPN 구성으로 돌아갑니다. Windows 탐색기에서 다음으로 이동합니다. C : \ Program Files (x86) \ OpenVPN \ sample-config 64 비트 Windows 7 또는 C : \ Program Files \ OpenVPN \ sample-config 32 비트 Windows 7을 실행중인 경우이 폴더에는 세 개의 샘플 구성 파일이 있습니다. 우리는 client.ovpn 파일.
오른쪽 클릭 client.ovpn 메모장 또는 메모장 ++로 엽니 다. 파일이 아래 그림과 같이 보일 것입니다.
그러나 우리는 client.ovpn 유사하게 보이는 파일 이 아래 그림. 4 행에서 DynDNS 호스트 이름을 호스트 이름으로 변경하십시오 (또는 고정 IP 주소가있는 경우 공용 IP 주소로 변경하십시오). 표준 OpenVPN 포트이므로 포트 번호를 1194로 그대로 둡니다. 또한 클라이언트의 인증서 파일과 키 파일의 이름을 반영하도록 11과 12 행을 변경해야합니다. OpenVPN / config 폴더에 새 파일 .ovpn 파일로 저장합니다.
DD-WRT의 OpenVPN 데몬 구성
이제 기본 아이디어는 이전에 만든 서버 인증서와 키를 복사하여 DD-WRT OpenVPN 데몬 메뉴에 붙여 넣는 것입니다. 브라우저를 다시 열고 라우터로 이동하십시오. 이제 라우터에 DD-WRT VPN 에디션이 설치되어 있어야합니다. 서비스 탭 아래에 VPN이라는 새로운 하위 탭이 있습니다. OpenVPN 데몬에서 활성화 라디오 버튼을 클릭합니다.
먼저 시작 유형을 기본 "시스템"대신 "Wan Up"으로 변경해야합니다. 이제 이전에 만든 서버 키와 인증서가 필요합니다. Windows 탐색기에서 다음으로 이동합니다. C : \ Program Files (x86) \ OpenVPN \ easy-rsa \ keys 64 비트 Windows 7 (또는 C : \ Program Files \ OpenVPN \ easy-rsa \ keys 32 비트 Windows 7). 아래에서 각 해당 파일을 엽니 다 ( ca.crt , server.crt , server.key , 및 dh1024.pem ) 메모장 또는 메모장 ++로 내용을 복사합니다. 아래와 같이 해당 상자에 내용을 붙여 넣습니다.
OpenVPN 구성 필드의 경우 사용자 지정 파일을 생성해야합니다. 이 설정은 LAN 설정 방법에 따라 다릅니다. 별도의 브라우저 창을 열고 라우터의 IP 주소를 입력합니다. 설정 탭을 클릭하고 라우터 IP> 로컬 IP 주소에서 구성한 IP 주소를 기록해 둡니다. 이 예제에서 사용하는 기본값은 192.168.1.1입니다. LAN 설정을 반영하기 위해 첫 번째 줄의 "route"바로 뒤에이 서브넷을 붙여 넣습니다. 이것을 OpenVPN 구성 상자에 복사하고 저장을 클릭합니다.
"route 192.168.1.0 255.255.255.0"을 누릅니다.
서버 10.8.0.0 255.255.255.0dev tun0
프로토 tcp
Keepalive 10120
즉 /tmp/openvpn/dh.pem
ca /tmp/openvpn/ca.crt
인증서 /tmp/openvpn/cert.pem
키 /tmp/openvpn/key.pem# 취소 목록을 사용하는 경우에만 crl-verify를 사용하십시오. 그렇지 않으면 주석 처리 된 상태로 두십시오.
# crl-verify /tmp/openvpn/ca.crl# 관리 매개 변수를 사용하면 DD-WRT의 OpenVPN 상태 웹 페이지에서 서버의 관리 포트에 액세스 할 수 있습니다.
# 펌웨어에 포함 된 스크립트가 작동하려면 포트가 5001이어야합니다.
관리 localhost 5001
이제 클라이언트가 1194 포트를 통해 OpenVPN 서버에 연결할 수 있도록 방화벽을 구성해야합니다. 관리 탭으로 이동하여 명령 하위 탭을 클릭합니다. 명령 텍스트 상자에 다음을 붙여 넣습니다.
iptables -I INPUT 1 -p udp –dport 1194 -j ACCEPT
iptables -I FORWARD 1 –source 192.168.1.0/24 -j ACCEPT
iptables -I 앞으로 -i br0 -o tun0 -j 수락
iptables -I 앞으로 -i tun0 -o br0 -j 수락
기본값과 다른 경우 두 번째 줄에서 LAN IP를 변경해야합니다. 그런 다음 아래의 방화벽 저장 버튼을 클릭하십시오.
마지막으로 설정 탭에서 시간 설정을 확인하십시오. 그렇지 않으면 OpenVPN 데몬이 모든 클라이언트를 거부합니다. 우리는 TimeAndDate.com 현재 시간에서 도시를 검색합니다. 이 웹 사이트는 아래에서했던 것처럼 시간 설정에서 입력하는 데 필요한 모든 정보를 제공합니다. 또한 NTP 풀 프로젝트의 웹 사이트 공용 NTP 서버가 사용할 수 있습니다.
OpenVPN 클라이언트 설정
이 예에서는 별도의 네트워크에서 Windows 7 랩톱을 클라이언트로 사용합니다. 가장 먼저 할 일은 OpenVPN 구성의 첫 번째 단계에서했던 것처럼 클라이언트에 OpenVPN을 설치하는 것입니다. 그런 다음 C : \ Program Files \ OpenVPN \ config 여기에 파일을 붙여 넣을 것입니다.
이제 원래 컴퓨터로 돌아가서 총 4 개의 파일을 수집하여 클라이언트 랩톱에 복사해야합니다. 로 이동 C : \ Program Files (x86) \ OpenVPN \ easy-rsa \ keys 다시 복사 ca.crt , client1.crt , 및 client1.key . 이 파일을 클라이언트의 구성 폴더.
마지막으로 파일을 하나 더 복사해야합니다. 로 이동 C : \ Program Files (x86) \ OpenVPN \ config 이전에 만든 새 client.ovpn 파일을 복사합니다. 이 파일을 클라이언트의 구성 폴더도.
OpenVPN 클라이언트 테스트
클라이언트 노트북에서 Windows 시작 버튼을 클릭하고 모든 프로그램> OpenVPN으로 이동합니다. OpenVPN GUI 파일을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 클릭합니다. OpenVPN이 제대로 작동하려면 항상 관리자 권한으로 실행해야합니다. 항상 관리자 권한으로 실행되도록 파일을 영구적으로 설정하려면 파일을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. 호환성 탭에서 관리자 권한으로이 프로그램 실행을 선택합니다.
OpenVPN GUI 아이콘이 작업 표시 줄의 시계 옆에 나타납니다. 아이콘을 마우스 오른쪽 버튼으로 클릭하고 연결을 클릭합니다. .ovpn 파일이 하나만 있으므로 구성 폴더에서 OpenVPN은 기본적으로 해당 네트워크에 연결됩니다.
연결 로그를 표시하는 대화 상자가 나타납니다.
VPN에 연결되면 작업 표시 줄의 OpenVPN 아이콘이 녹색으로 바뀌고 가상 IP 주소가 표시됩니다.
그리고 그게 다야! 이제 OpenVPN 및 DD-WRT를 사용하여 서버와 클라이언트의 네트워크간에 보안 연결이 설정되었습니다. 연결을 추가로 테스트하려면 클라이언트 랩톱에서 브라우저를 열고 서버 네트워크에서 DD-WRT 라우터로 이동하십시오.