아직도 이 글을 보시는 분들이 계셔서 업뎃하자면 아래의 MT2500을 한국집에 설치해 놓고 왔습니다. 메인으로 쓰는건 아닌데 몇달 동안 동영상 스트리밍 등 아무 문제없이 잘 사용하고 있습니다. 설정도 아주 쉽고 성능도 문제없고 이정도면 추천드릴만 한 것 같습니다.
-------------------------------------------------------------------------------------------------------------
궁금해서 MT2500 기기를 직접 사봤습니다. 지금 설정을 보니까 제가 앞서 얘기했던 DDNS 등이 자체적으로 다 가능하고 configuration file 에서도 DDNS를 바로 선택할 수 있게 해 놨군요. 그럼 설정파일 손으로 수정할 필요도 없습니다. 아직 외부에서 접속해서 사용해 보지는 않았지만 일단 설정의 편이성은 정말 좋은 것 같네요. 

_____________________________________________________________________________________________
글을 다 쓰고 나서 찾아보니 아래 링크에 자세한 설명이 다 나와 있네요. 지우긴 아깝고 그냥 참고용으로 남겨두겠습니다.
https://docs.gl-inet.com/en/4/tutorials/wireguard_server/
______________________________________________________________________________________________
안녕하세요.
앞서 몇몇 분들이 제가 이전 글에서 언급했던 GL.iNet 기기의 VPN 설정법에 대해서 궁금해 하셔서 글을 써 봅니다. 사실 포트도 하나 열어야하고 제 첫번째 선택지는 아닌데 어쩌다 보니 제가 이 회사 기기를 여러차례 추천을 하게 되었는데요. 설정이 상당히 쉽고 또 일부 필요한 설정은 이미 잘 소개된 것이어서 누구나 따라 하시기에 쉬우리라 생각됩니다. 제가 이 사용기에서 설정한 기기는 여행용 라우터이긴 한데 모든 GL.iNet 기기들이 OpenWrt 기반에 자체적인 UI만 입힌 것이라 거의 동일하리라 봅니다.
https://www.gl-inet.com/products/gl-mt2500/
우선 크게 어떻게 구성이 되는지 설명드리고 몇가지 전제 조건부터 말씀 드리겠는데요. 설치하시는 집의 기존 네트웍 설정과 구조의 변경을 최소화하는 것을 목적으로 삼겠습니다. 그래서 기존의 라우터는 그냥 두고 그 뒷 단에 이 VPN gateway를 설치하겠습니다. 한국 집 인터넷의 IP가 고정이 아니시면 dynamic DNS 서비스 등을 이용해서 주소를 정해 놓으셔야 합니다. 대부분의 라우터에서 자체 기능으로 제공하니 큰 문제는 없으리라 생각하고요. 그 다음, 라우터의 LAN 포트와 이 VPN gateway의 WAN을 연결하신 후 내부 IP를 고정으로 하시고 그 IP로 포트 한개 (보통 51820)를 포워드하도록 하겠습니다. 이 부분은 라우터 제조사마다 설정이 다 다르기 때문에 직접 찾아 보세요.

그럼 이제 GL.iNet 기기 설정을 해 보겠습니다. 처음 시작하시면 기본적인 비밀번호 설정 등을 마치시겠고요. 바로 WireGuard 설정을 하도록 하겠습니다.
왼쪽 메뉴에서 VPN - WireGuard Server를 선택합니다.

Initialize WireGuard Sever를 누르시고요. 그럼 아래와 같은 화면이 나옵니다.

Management로 가세요.
Add a New User를 선택하시고 이곳에 접속할 클라이언트 기기 이름을 적습니다. 그럼 아래와 같이 설정이 끝났습니다.

이제 여기서 만들어진 Configuration 파일을 외부에서 접속할 client 기기에 넣도록 하겠습니다. 휴대폰처럼 카메라가 있는 기기이면 QR code를 사용한 방법이 가장 쉽습니다. 그게 아니면 Plain Text를 선택하신후 그 내용을 복사하셔서 텍스트에디터에 붙이신 후 파일이름.conf 형태로 저장하시면 되겠습니다.
https://www.wireguard.com/install/
그럼 휴대폰이나 컴퓨터에 가셔서 WireGuard 앱을 다운 받습니다. 여기서는 아이폰을 기준으로 설명드리겠습니다.
우선 Configurations 아래의 파일 모양을 클릭합니다. 그럼 아래와 같은 QR code가 화면에 보여 집니다.

이제 휴대폰에서 WireGuard 앱을 여신후 오른쪽 위 + 버튼을 누르시고 Create from QR code를 선택합니다.
여기서 카메라로 QR code를 스캔하시면 configuration 파일이 자동으로 만들어 집니다. configuration 파일을 저장하시기 전에 하나만 수정을 하겠습니다. PEER - Endpoint에 가셔서 숫자로 써진 IP 대신 앞서 설정한 집의 dynamic DNS 주소를 넣고 저장해 주세요. my.home-address.com:51820 같은 형태가 되겠죠.

이제 Status 탭으로 가셔서 Start를 누르면 끝입니다. 테스트를 위해서 휴대폰의 와이파이를 끊고 지금 설정한 Peer를 연결해 보세요. 인터넷이 잘 되는지도 테스트해 보시고요. Status 탭을 보시면 아래와 같이 현재 연결된 기기가 보이실 겁니다.

마지막으로 현재 내 IP address가 무엇으로 나오는지 한번 확인해 보세요.
이제 이 WireGuard의 연결을 끊고 와이파이를 연결하신후 다시 한번 IP address를 확인해 보세요. 두개가 똑같이 나온다면 잘 설정이 되었습니다.
이제부터 이 WireGuard peer를 연결하신 후에는 모든 트래픽이 여기를 통해서 오게 됩니다. 앞에 속도에 대해서 물어보신 분이 계셨는데 회선에 따라서 다르겠지만 Asus 라우터에 있는 OpenVPN 보다는 빠를 것이라 생각합니다. 사실 그 기능은 제 의견으론 사용하면 안 된다고 봅니다. latency는 매우 길어지지만 게임할 것도 아니고 동영상같은 것은 기본 버퍼링되니 불편함은 없으실 겁니다.
만약 설정하셔야 하는 다른 기기가 있다면 Management에 가셔서 New User를 계속 생성하시면 됩니다. 그리고 혹 그 기기를 잃어버리시거나 하시면 다시 이 설정화면에 오셔서 지우시면 되고요.
그럼 도움이 되셨길 바라겠습니다.
다만 몇몇 기기가 아니고 아주 많은 기기를 한국을 통해서 접속하시길 원하신다거나 아님 WireGuard Client 앱이 없는 기기인데 한국을 통해 접속을 하시고 싶으시다면 추가하실 수도 있겠습니다. 그럼 똑같은 기기를 호주에도 사서 놓으시고 WireGuard client로 설정해서 한국을 연결해 놓으시면 이 기기 아래로 붙는 기기들은 전부 한국을 통해서 오겠죠.
원격관리도 원하시면 Allow Access Local Network 라고 있는 것을 켜시면 됩니다. 그러면 그 아래 서브넷에 있는 모든 기기를 연결하실 수 있습니다.
집에 애플티비를 사용해서 애플티비로는 미국 꺼 보고
삼성티비에 있는 타이젠으로 티빙하고 여러가지 보고 있습니다.
애플티비는 기존 와이파이 삼성티비는 vpn 와이파이에 연결해두니 편하네요. 또 삼성티비에 공짜 케이블 나오는데 그거도 보고 있습니다.
ddns는 MT2500에만 설정하시면 될 것 같고 이 기기의 내부 IP는 고정으로 하셔야 합니다.
아무래도 네트워크를 열어주는거니 회사 신뢰도가 좀 궁금하네요.
지금 예전처럼 50불 이하대 가격에 openwrt되는건 Libre 정도? Orange Pi는 정식 지원은 안되는거 같고요.
보니까 저 회사 제품들이 openwrt 기반이기도 하면서 동시에 대부분 openwrt 순정(?)펌 설치가 가능한거 보면
사서 펌만 바꾸는게 싸게 먹힐거 같기도 합니다.
여기서 설명의 편의를 위하여 라우터의 공개 IP 는 123.456.78.9, 라우터에서 연결된 Opal 의 내부 IP 어드레스는 192.168.35.117 이라고 가정하겠습니다. WireGuard 서버가 start 하고(녹색으로 상태를 알려주더군요) 여러가지를 다 해봐도 WireGuard 서버측에서 status 상에서 client 가 나타나지를 않고 클라이언트쪽(제 경우 아이폰)에서도 ip 어드레스가 바뀌지를 않으니 VPN 이 작동을 안하다고 봐야겠죠.
클라이언트측의 WireGuard 엡 셋업은 간단했습니다. 서버쪽에서 보여준 QR 코드를 이용해서 아이폰에 집어넣어 잘 셋팅을 마쳤구요(이 부분에서는 실수가 없었을 것입니다. 워낙 간단해서요).
제가 의심이 가는 부분은 SK 사의 라우터의 포트 포워딩 부분입니다. 현재 설정은
외부 포트 범외 51820-51820
내부 IP 주소 192.168.35.117 (라우터에서 DHCP 로 할당된)
내부 포트 51820
프로토콜 UDP (처음에는 both 로 해서 UDP/TCP 둘다 되도록 했으나 검색해보니 51820 을 UDP 에 활당해줘야 하는 것 같아서 그리 했습니다. both 로 해도 안되더라구요. 혹시 몰라 51821 포트로 TCP 도 포트포워딩을 해놓았습니다)
이렇게 하고 아이폰에서 WireGuard 엡으로 접속을 해보면 접속이 된 듯 보이는 듯 하나 IP 어드레스로 확인을 해보면 접속이 안됩니다. 물론 Opal 쪽에 WireGuard 서버는 제대로 Started 되어 있는 상태입니다.
혹시 위의 포트 포워딩에서 잘못된 부분이 있는지요. 써주신 글을 여러번 정독하고 그대로 따라했는데 안되니 답답합니다. 혹시나 해서 http://123.456.78.9:51820 으로 접속시도를 해봐도 안되구요. SK 라우터 쪽 공개 IP 도 맞음을 확인햅습니다. 설명해주신 대로 모든 설정을 제대로 마친 것 같습니다만...
혼자 제법 오래 끙끙대다가 결국 SOS 를 청합니다. 뭔가 틀린 걸까요?
제가 가지고 있는 라우터 한번 꺼내서 살펴봤습니다. firmware update가 있다고 해서 최신 4.3.11로 올리고 쭉 봤는데 저도 딱히 문제될만한 것이 어떤건지 잘 모르겠네요.
몇가지 다시 확인하자면 WireGuard Server에서 Listen Port가 51820 (기본값)으로 설정되어 있는지 보시고요. 만약 다르다면 바꾸시거나 이 값에 맞춰서 포트포워딩 설정하시고요. UDP만 하시면 됩니다. 내부 DHCP가 바뀌는 경우는 거의 없지만 그래도 static dhcp로 설정하시고요.
그리고 Profile에서 DDNS 를 사용(권장)하신다면 Applications - Dynamic DNS에 가셔서 Enable DDNS가 체크되어 있는지 확인하세요. 이거 enable하시고 나서 실제 접속되는데까지는 약간 시간이 걸릴수도 있습니다.
생성된 client profile을 QR code가 아니라 text 형태로 한번 보시고 [Peer] 부분에 있는 Endpoint가 위에서 설정된 DDNS 주소와 Listen Port로 잘 설정되어 있는지 확인해 보세요. yzzy.glddns.com:51820 형태.
key값이 달라서 연결이 안 될 가능성은 0에 가깝기 때문에 위에 말씀드린 endpoint 주소와 port가 막혀있거나 포워딩이 잘 안 되서 생기는 문제일겁니다. 이부분을 집중적으로 다시 확인해보세요.
아이폰에서 와이파이 끄고 WireGuard 연결하신후 Settings - View log 에 가시면 로그를 볼 수가 있습니다. Handshake did not complete after xx seconds, retrying이라고 나오면 연결이 안 된 것이고 Received handshake response 나오고 Sending keep alive packet이라고 나오면 제대로 연결된 것입니다.
그리고 이 라우터 인터페이스는 말씀하신 것처럼 http://123.456.78.9:51820 이렇게는 연결안 되는게 정상입니다. 가장 좋은 방법은 지금 설정한 WireGuard가 연결이 된 후에 http://192.168.8.1 (Gl.inet 라우터들 기본값)으로 보시는 것입니다.
추가로는 Dynamic DNS 설정하는데 보니까 Enable HTTPS Remote Access를 할 수도 있던데 (이러면 https://yzzy.glddns.com 으로 접속가능) 이건 추천드리지 않습니다. Troubleshooting 하시는 동안 실제로 접속되는지 켜 놓으실 수는 있겠지만요. (다시 생각해보니 sk 공유기 뒤에 있으니 이 방법으로 접속이되려면 포트 443같은 걸 포워딩해야 접속이 될거 같네요. 역시 비추천)
1. 포트 포워딩 설정은 말씀하신 대로 잘 되었습니다. Public 쪽으로 노출된 IP address 로 51820 포트로 들어오는 트래픽을 SK 공유기로 하여금 내부 Static DHCP 로 설정된 Opal 의 51820 포트로 넘겨주도록 설정이 됨을 확인했습니다.
2. DDNS 는 사용하지 않으나 몇번의 확인을 거쳐 IP 주소가 맞는지 확인 하였습니다. Text 형태의 profile 로 볼 때도 123.456.78.9:51820 으로 IP 주소가 잘 설정이 잘 되어 있음을 확인했습니다.
접속 시도 후 클라이언트쪽의 log 를 살펴보면 Handshake did not complete after xx seconds, retrying 라고 나오는 걸로 봐서 연결이 아예 안되는 걸로 보입니다.
HHKB 님께서 써주신 본문을 여러차례 보면서 하나 하나 차근차근 점검을 해봐도 현재로서는 잘못된 부분이 보이지 않는데 WireGuard 연결이 안되고 있어서 참 낙심이 되네요. OpenVPN 으로 셋업을 하는게 낫지 않을까 생각중입니다 (현재 미국쪽의 다른 router 에 OpenVPN 셋업을 해놓고 한국에 있을 때 필요시 여기로 VPN 해서 미국 IP 를 획득하는데 현재 문제가 없습니다).
여러모로 세심하게 조언을 주셨는데 성공이 안되었으니 송구스럽네요. 어떻게든 성공을 하게 되면 정보 공유의 일환으로 이곳에 나누도록 하겠습니다.
WireGuard 나 OpenVPN 둘 다 안되는 것을 보면 포트 포워딩 문제이라고 추론할 수 밖에 없겠습니다. 이 SK 공유기는 Giga WAVE2 라는 공유기인데요 자체적으로 VPN 기능은 가지고 있지를 않네요.
제가 설치한 집도 sk 인터넷이긴해서 포트가 막혀있는 건 아닐거 같긴한데 어렵네요. 포트스캔이라도 한번 해보면 좋을 거 같긴하네요. 어떤 구조로 설치된 건지 아니면 혹 공유기 문제면 공유기 교체라든지 몇가지 시도해 보실 수 있긴 할텐데 제가 직접 본 게 아니라 한계가 있네요.
제가 포트 포워딩을 설정한 SK 사의 공유기 앞에 또 하나의 광랜 모뎀이 존재하는 것 같습니다. 공유기는 H734G 공유기이고 그 앞에 광랜모뎀(GNT-2400)이 하나 더 설치되어 있네요. H734G 의 WAN IP 가 192.168.75.x 로 설정되어 있는 것에서 충분히 눈치를 깔 수 있었어야 하는데 몰랐네요. GNT-2400 은 192.168.75.1 로 접근이 가능한데 접근 패스워드를 몰라 집안을 이잡듯이 보는데 이 광랜모뎀이 어디 있는지 보이지가 않네요. 광랜모뎀의 MAC Address 일부가 로그인 패스워드로 설정되는 방식임을 알기 때문에 거기에 붙어있는 스티커에 적혀있는 정보를 봐야할텐데 찾을 수가 없네요. 참 여기는 강남의 아파트 단지입니다.
이제 해결책은 광랜모뎀을 찾아서 운용방식을 NAT 가 아닌 브릿지로 바꾸거가 여기 자체에 또 한번의 포트 포워딩을 설정하는 것이 될텐데 제가 외국에 살면서 한국의 아파트를 경험해 보지 않아서 혹시라도 이 광랜은 여러세대들이 공유하는 것이라 제가 아예 접근을 못하지 않을까 하는 우려의 마음도 드네요.
그렇다면 다음 귀국시에는 중고 애플 TV 를 구입해서 Tailscale 을 HHKB 님이 이미 방법을 기술해주신 것처런 설치하는 방법이 있을텐데 애플 TV 가격이 또 만만치가 않네요. 아님 저렴한 안드로이드 TV 를 찾아보거나 Opal 에 Tailscale 을 까는 방법을 연구해보거나 해야겠네요.
계속해서 좋은 정보 주신 것 진심으로 감사드려요. 많이 배웠습니다.
Tailscale이 이런 부가적인 라우터 설정없이 바로 되서 참 편하긴 합니다. 그런데 opal에 tailscale 설치하시는 건 난이도가 있긴할거에요. 공식지원은 아니라서요.
결과는 대성공! OpenVPN 도 WireGuard 도 다 잘 됩니다. 다만 Opal router 에서 설정한 DDNS 주소로 가면 광랜의 셋업페이지가 나옵니다. 임의의 포트를 골라서(51825) 이를 두번의 포워딩을 통해서 Opal 의 80 로 전송해 보았는데 이건 아직 안되네요.
어쨌거나 성공했습니다. Opal 에서 VPN 서버, 클라이언트 다 잘됩니다. 다 HHKB 님 덕분입니다. 진심으로 감사드려요. 이번 기회에 많이 배웠습니다.
일반적으로 라우터들의 외부접속은 막혀 있는데 (보안 리스크) 바로 광랜모뎀이 접속이 된다니 신기하긴 하네요. 그리고 Opal 라우터의 접속은 앞서도 말씀드렸지만 WireGuard 접속한 후에 내부망 IP (안 바꾸셨다면 기본값이 아마 192.168.8.1 일거에요)로 접속해 보세요. 이것까지 되는 것을 확인하시고 미국으로 돌아가시면 추후에 다른 기기가 더 생겨서 프로파일을 추가 생성한다든지 여러 관리를 쉽게 하실 수 있을거에요.
아니면 Opal 라우터 안의 WireGuard 셋업에서 미리 profile 을 여러개 생성해 놓고 QR 코드등을 저장해서 미국으로 가져가서 하나씩 추가하는 것도 방법일 것 같구요(이렇게 해도 되죠?)
이번 기회에 그동안 쓸 일이 없었던 VPN 에 대하여 정말 많이 공부하게 되는 것 같습니다.
그리고 프로파일은 반복해서 쓰셔도 되긴하는데 아무래도 관리측면에서 기기마다 다르게 하는게 좋긴하죠. 예를 들어 기기 잃어버리는 경우 그 프로파일만 서버에서 삭제하면 억세스를 막을 수 있으니까요. 일반적으로 큰 고려사항은 아닌거 같긴 하지만요. 미리 많이 만들어 가시는 것도 방법이긴 할 거 같습니다. 그리고 나중에 뭔가 문제가 있거나 해서 접속이 안 되는 경우 한국에 계신분에게 부탁해서 전원 껐다켜는 것으로 거의 복구가 됩니다. 아님 스마트플러그같은거 물려 놓고 오시면 직접 껐다 켜는 것도 가능하고요.