EdgeRouter: 사이트-투-사이트 (Site-to-Site) OpenVPN ================================== download at 2017-07-27T21:02:42Z `origin `_ Overview -------------- 이 문서는 2개의 Ubiquiti EdgeRouter과 OpenVPN을 사용하여 사이트-투-사이트 (Site-to-Site) VPN을 설정하는 방법에 대하여 설명합니다. **가정: **\ OpenVPN을 사용하는 2개의 EdgeRouter는 서로 연결 되어 있으며 다음의 설정을 사용합니다. | **Router 1**: | External IP/Name: system1.dyndns.com (외부 IP 주소 사용 가능) | Internal IP: 192.168.1.1 | **Router 2**: | External IP/Name: system2.dyndns.com (외부 IP 주소 사용 가능) | Internal IP: 192.168.2.1 라우터가 서로 다른 이름과 IP 대역을 사용하고 있다면, 다음 명령어를 통해서 설정을 변경합니다. Steps -------------- **Step 1:** 라우터 1에서 커맨드 라인에 접속하여 미리 공유된 키를 생성합니다. (설정 모드가 아닌 운운용모드에서 수행합니다). :: generate vpn openvpn-key /config/auth/secret **Step 2:** 미리 공유된 키를 다른 머신에 전송합니다 첫번째 방법: |    **방법 A.** 이 방법은 원격 시스템의 사용자 이름이 ubnt라고 가정합니다. 초기 사용자 이름을 바꾸었다면, 새로운 사용자를 생성하고 이름을 ubnt로 설정하세요. 이 방법은 ssh로의 연결이 가능하다고 가정합니다. 즉, 22번 포트 (SSH/SCP)에 인터넷으로부터 입력을 받을 수 있다는 것을 의미합니다. 외부 인터넷으로부터 입력을 받을 수 없다면, 방법 B를 시도하십시오: :: sudo scp /config/auth/secret ubnt@system2.dyndns.com:/config/auth/secret 또는: **   방법 B:** 라우터 1에서 미리 공유된 키를 확인하기: :: sudo cat /config/auth/secret 결과를 클립보드에 복사하여 라우터 2에 ssh를 사용하여 로그인 한 후, 다음의 파일을 생성합니다: :: cat > /config/auth/secret 클립보드의 내용을 붙여넣습니다. CTRL-D를 입력하여 파일을 저장합니다. 만든 파일의 권한을 변경합니다: :: chmod 600 /config/auth/secret **Step 3:** 라우터 1 설정  # 설정 모드로 진입합니다 :: configure # OpenVPN이 vtun0을 사용하도록 설정합니다 :: set interfaces openvpn vtun0 set interfaces openvpn vtun0 mode site-to-site # OpenVPN이 사용할 포트를 지정합니다 :: set interfaces openvpn vtun0 local-port 1194 set interfaces openvpn vtun0 remote-port 1194 # OpenVPN이 사용할 로컬 주소를 할당합니다 :: set interfaces openvpn vtun0 local-address 10.99.99.1 # OpenVPN이 사용할 리모트 주소를 할당합니다 :: set interfaces openvpn vtun0 remote-address 10.99.99.2 # OpenVPN의 리모트 시스템의 퍼블릭 주소를 지정합니다. :: set interfaces openvpn vtun0 remote-host system2.dyndns.com # OpenVPN에 secret file의 위치를 입력합니다 :: set interfaces openvpn vtun0 shared-secret-key-file /config/auth/secret # (선택사항: 양쪽에 모두 설정하거나 모두 설정하지 않아야 합니다.) 압축옵션을 설정합니다 :: set interfaces openvpn vtun0 openvpn-option "--comp-lzo" # 플로트 (Float), 핑 (Ping), 기타 보안 옵션을 활성화합니다 (자세한 내용은 OpenVPN의 매뉴얼을 참조하세요) :: set interfaces openvpn vtun0 openvpn-option "--float" set interfaces openvpn vtun0 openvpn-option "--ping 10" set interfaces openvpn vtun0 openvpn-option "--ping-restart 20" set interfaces openvpn vtun0 openvpn-option "--ping-timer-rem" set interfaces openvpn vtun0 openvpn-option "--persist-tun" set interfaces openvpn vtun0 openvpn-option "--persist-key" set interfaces openvpn vtun0 openvpn-option "--user nobody" set interfaces openvpn vtun0 openvpn-option "--group nogroup" # EdgeRouter에 리모트 서브넷을 설정합니다 :: set protocols static interface-route 192.168.2.0/24 next-hop-interface vtun0 # 커밋, 저장후 설정 모드를 종료합니다 :: commit save exit **Step 4:** 라우터2 설정하기  # 설정 모드로 진입합니다 :: configure # OpenVPN을 설정합니다 :: set interfaces openvpn vtun0 set interfaces openvpn vtun0 mode site-to-site # OpenVPN이 사용할 포트를 지정합니다 :: set interfaces openvpn vtun0 local-port 1194 set interfaces openvpn vtun0 remote-port 1194 # OpenVPN이 사용할 로컬 주소를 지정합니다 :: set interfaces openvpn vtun0 local-address 10.99.99.2 # OpenVPN이 사용할 원격 주소를 지정합니다 :: set interfaces openvpn vtun0 remote-address 10.99.99.1 # OpenVPN에 리모트 시스템의 퍼블릭 주소를 입력합니다 :: set interfaces openvpn vtun0 remote-host system1.dyndns.com # OpenVPN에 시크릿 파일(secret file)이 어느 위치에 저장되어 있는지 입려합니다 :: set interfaces openvpn vtun0 shared-secret-key-file /config/auth/secret # (선택사항: 양쪽에 모두 설정하거나 모두 설정하지 않아야 합니다.) 압축옵션을 설정합니다 :: set interfaces openvpn vtun0 openvpn-option "--comp-lzo" # 플로트 (Float), 핑 (Ping), 기타 보안 옵션을 활성화합니다 (자세한 내용은 OpenVPN의 매뉴얼을 참조하세요) :: set interfaces openvpn vtun0 openvpn-option "--float" set interfaces openvpn vtun0 openvpn-option "--ping 10" set interfaces openvpn vtun0 openvpn-option "--ping-restart 20" set interfaces openvpn vtun0 openvpn-option "--ping-timer-rem" set interfaces openvpn vtun0 openvpn-option "--persist-tun" set interfaces openvpn vtun0 openvpn-option "--persist-key" set interfaces openvpn vtun0 openvpn-option "--user nobody" set interfaces openvpn vtun0 openvpn-option "--group nogroup" # EdgeRouter에 리모트 서브넷을 설정합니다 :: set protocols static interface-route 192.168.1.0/24 next-hop-interface vtun0 # 커밋, 저장후 설정 모드를 종료합니다 :: commit save exit 이제 완벽하게 동작해야합니다! 추가 명령어 -------------- 터널링 작업이후 다음 추가 명령어를 사용할 수 있습니다. 터닐링의 상태를 확인합니다. :: show interfaces openvpn show interfaces openvpn detail show openvpn status site-to-site 터널링 인터페이스를 다시 시작합니다. :: reset openvpn interface vtun0 **Notes:  **\ 리모트 주소와 로컬 주소는 VPN 내부에서 유일해야합니다. 각 주소는 각 머신의 로컬 서브넷 주소가 되어서는 안됩니다. 또 다른 터널링 작업을 설정하려 한다면 (라우터 1에서 라우터 3으로) vtun0을 vtun1로 변경하세요. 로컬, 리모트 포트를 다른 포트로 변경하고 (예를 들면 1195), 로컬 주소와 리모트 주소를 다른 주소로 변경하세요 (예를 들면 10.99.99.3 과 10.99.99.4). 각 라우터에 커넥션이 생성되면 라우터 바깥에 있는 장비는 접근할 수 없습니다. NAT Hairpin이 각 LAN에 설정되어 있지는 않는지 확인해보시기 바랍니다. 관련문서 ---------------- .. raw:: html
-------------- .. raw:: html
- `SSH로 커넥션을 생성하는 방법 `__