CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·방탄소년당 ·MaClien ·일본산당 ·개발한당 ·자전거당 ·AI당 ·이륜차당 ·안드로메당 ·소시당 ·콘솔한당 ·바다건너당 ·소셜게임한당 ·PC튜닝한당 ·키보드당 ·테니스친당 ·물고기당 ·VR당 ·창업한당 ·ADHD당 ·나혼자산당 ·갖고다닌당 ·육아당 ·노젓는당 ·골프당 ·클다방 ·나스당 ·냐옹이당 ·IoT당 ·어학당 ·레고당 ·방송한당 ·라즈베리파이당 ·달린당 ·여행을떠난당 ·3D메이킹 ·X세대당 ·AI그림당 ·날아간당 ·사과시계당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·걸그룹당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·가죽당 ·리눅서당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·가상화폐당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

PC/모바일 홈 네트워크의 특정 인터넷 트래픽을 VPN을 통해 내보내기 16

16
2023-05-01 17:25:20 175.♡.34.77
RB20

원래는 애플 TV로 한국에서 F1 중계를 쾌적하게 시청하기 위해 펐던 삽이었지만 이제 쿠팡플레이가 애플 TV에서도 되는 관계로 빛이 반쯤은 바란 강좌입니다.

 

목표

애플 TV에서 나오는 트래픽을 Wireguard VPN을 거쳐서 미국으로 보내고 싶다.

tvOS의 경우 정책상 VPN 연결을 허용하지 않아서, 미국 IP를 요구하는 F1 TV의 중계를 시청할 방법이 없습니다. 이를 해결하려면 라우터 단에서 트래픽의 경로를 조작해야 합니다.


준비물

- Dual WAN과 정책 기반 라우팅을 지원하는 라우터 (인터넷 공유기)

정책 기반 라우팅의 경우 목적지 IP의 지역, 목적지 도메인, 기타등등 여러가지가 있을 수 있겠으나 여기서는 단순히 출발지 IP에 따라 다른 WAN을 사용할 수 있는 정도면 충분합니다.


컨수머 레벨 Wi-Fi 공유기 중에 되는 것을 찾아보면,

1609169128874.png

(출처: SNB)

Asus의 경우 Merlin 펌웨어에서 Dual WAN을 지원하면 되는 것 같습니다.


4ca39114f11e9f.png

(출처: 클리앙 사용기)

Synology도 RT2600ac의 경우 지원하는 것 같습니다.


Screenshot 2023-05-01 at 4.31.14 PM.png

Unifi Network도 지원합니다.


- VPN 라우터 역할을 할, NIC (LAN 카드)가 두개 이상 달린 서버

라우터 OS용 VM을 생성해도 되고, Wi-Fi와 RJ-45 포트가 모두 있는 라즈베리 파이를 사용해도 됩니다 (테스트는 안 해봄).


라우터 OS 설치

여기서는 VyOS를 사용합니다.

VM 위에 설치하는 경우

1. NIC 두개를 각각 브릿지 모드로 VM에 할당합니다.

Screenshot 2023-05-01 at 4.42.26 PM.png

Screenshot 2023-05-01 at 4.42.37 PM.png

2. VM에 VyOS를 설치합니다 (링크).

라즈베리 파이의 경우

이 Github 링크 를 참조하여 VyOS 이미지를 빌드 후에 설치합니다.


VPN 라우터 설정

VPN 라우터가 설치된 컴퓨터의 랜카드 중 한 쪽은 공유기의 LAN 포트와, 다른 한쪽은 WAN2 포트와 연결합니다. 이후 ifconfig 명령을 실행하여 각각의 랜카드에 부여된 장치명 (eth*) 을 확인합니다. 앞으로는 공유기의 WAN2 포트와 연결된 쪽을 eth0, LAN 포트와 연결된 쪽을 eth1이라고 하겠습니다.



라즈베리 파이의 경우

파이의 RJ-45 포트와 공유기의 WAN2 포트를 연결합니다.



이제 다음 명령어를 입력합니다.

configure

# 기본 DNS 설정
set system name-server '1.1.1.1'
# VyOS의 SSH 접속 허용
set service ssh port '22'

# WAN 설정
set interfaces ethernet eth0 description 'WAN'
set interfaces ethernet eth0 address 'dhcp'
# LAN 설정
set interfaces ethernet eth1 address '10.200.0.1/24'
set interfaces ethernet eth1 description 'LAN'

# LAN NAT 설정
set nat source rule 100 outbound-interface 'eth0'
set nat source rule 100 source address '10.200.0.0/24'
set nat source rule 100 translation address 'masquerade'

# 인터넷 트래픽 방화벽 설정
set firewall name OUTSIDE-IN default-action 'drop'
set firewall name OUTSIDE-IN rule 10 action 'accept'
set firewall name OUTSIDE-IN rule 10 state established 'enable'
set firewall name OUTSIDE-IN rule 10 state related 'enable'
set firewall name OUTSIDE-LOCAL default-action 'drop'
set firewall name OUTSIDE-LOCAL rule 10 action 'accept'
set firewall name OUTSIDE-LOCAL rule 10 state established 'enable'
set firewall name OUTSIDE-LOCAL rule 10 state related 'enable'
set firewall name OUTSIDE-LOCAL rule 20 action 'accept'
set firewall name OUTSIDE-LOCAL rule 20 icmp type-name 'echo-request'
set firewall name OUTSIDE-LOCAL rule 20 protocol 'icmp'
set firewall name OUTSIDE-LOCAL rule 20 state new 'enable'

# SSH 트래픽 방화벽 설정
set firewall name OUTSIDE-LOCAL rule 30 action 'accept'
set firewall name OUTSIDE-LOCAL rule 30 destination port '22'
set firewall name OUTSIDE-LOCAL rule 30 protocol 'tcp'
set firewall name OUTSIDE-LOCAL rule 30 state new 'enable'

# 설정한 방화벽 정책 적용
set firewall interface eth0 in name 'OUTSIDE-IN'
set firewall interface eth0 local name 'OUTSIDE-LOCAL'

commit
save
exit




라즈베리 파이의 경우

- 위의 예시 중 eth0을 wlan0, eth1을 eth0으로 치환합니다.

- Wi-Fi에 연결하기 위해 위의 "WAN 설정" 에서 다음 명령을 추가합니다.

set interfaces wireless wlan0 type client
set interfaces wireless wlan0 address dhcp
set interfaces wireless wlan0 ssid '<공유기 SSID명>'
set interfaces wireless wlan0 security wpa2 passphrase '<공유기 비밀번호>'


모든 설정이 정상적으로 완료되었다면, ifconfig 명령을 실행했을때 eth0 (라즈베리 파이의 경우 wlan0) 인터페이스에는 홈 네트워크 대역의 IP 주소가, eth1 (라즈베리 파이의 경우 eth0) 에는 10.200.0.1 주소가 할당되어 있습니다.


VPN 라우터 OS에서 Wireguard 연결

다음 명령을 실행하여 VPN 라우터에서 Wireguard 터널을 생성합니다. 

configure

set interfaces wireguard wg1 address '<부여받은 터널 IP>'
set interfaces wireguard wg1 description '<설명>'
set interfaces wireguard wg1 peer '<적당한 이름>' address '<대상 WG 서버>'
set interfaces wireguard wg1 peer '<적당한 이름>' port '51820'
set interfaces wireguard wg1 peer '<적당한 이름>' allowed-ips '0.0.0.0/0'
set interfaces wireguard wg1 peer '<적당한 이름>' public-key '<WG 서버의 공개키>'
set interfaces wireguard wg1 port '51820'
set interfaces wireguard wg1 private-key '<부여받은 개인키>'

commit
save
exit

모든 설정이 정상적으로 완료되었다면, sudo wg 명령을 실행했을때 다음과 같은 텍스트를 볼 수 있습니다.

Screenshot 2023-05-01 at 5.08.58 PM.png

VPN 라우터의 모든 트래픽을 Wireguard로 보내도록 설정

다음 명령을 실행하여 VPN 라우터의 모든 LAN 트래픽을 WAN이 아닌 Wireguard 터널을 통하여 나가도록 설정합니다.

configure

# Wireguard로 보낼 트래픽의 Route Table 생성, 모든 트래픽을 wg1 인터페이스에서 처리하도록 설정
set protocols static table 100 route 0.0.0.0/0 interface wg1

# Wireguard로 보낼 트래픽의 대상 Source Address Group 생성
set firewall group address-group WG_Client address 10.200.0.0-10.200.0.255

# Wireguard로 보낼 트래픽의 Policy Route 생성
# eth1에서 들어오는 트래픽 중 Source가 WG_Client에 포함되는 경우 Routing Table 100 참조
set policy route WG_Traffic interface 'eth1'
set policy route WG_Traffic rule 10 source group address-group WG_Client
set policy route WG_Traffic rule 10 set table '100'

# wg1 인터페이스의 NAT 설정
set nat source rule 20 outbound-interface 'wg1'
set nat source rule 20 source address '10.200.0.0/24'
set nat source rule 20 translation address 'masquerade'

# Wireguard 트래픽의 방화벽 설정
set firewall name OUTSIDE-LOCAL rule 40 action 'accept'
set firewall name OUTSIDE-LOCAL rule 40 description 'WireGuard_IN'
set firewall name OUTSIDE-LOCAL rule 40 destination port '51820'
set firewall name OUTSIDE-LOCAL rule 40 log 'enable'
set firewall name OUTSIDE-LOCAL rule 40 protocol 'udp'
set firewall name OUTSIDE-LOCAL rule 40 source
set firewall name OUTSIDE-LOCAL rule 40 state established 'enable'
set firewall name OUTSIDE-LOCAL rule 40 state related 'enable'

commit
save
exit



라즈베리 파이의 경우

- 위의 예시 중 eth1을 eth0으로 치환합니다.



여기까지 모두 순조롭게 진행되었는지 확인할 수 있는 방법은 다음과 같습니다.

1. 공유기의 WAN2 포트에서 RJ-45 선을 뽑아서 아무 PC에 연결합니다.

2. PC에 10.200.0.0 대역의 IP가 할당되었는지 확인합니다.

3. PC에서 인터넷을 사용할 수 있는지 확인합니다.

4. PC의 공인 IP가 집의 IP가 아닌 VPN 서버의 IP로 인식되는지 확인합니다 (구글에 "what is my IP" 검색).


공유기 정책 라우팅 설정

위의 스크린 샷 혹은 구글 검색을 참고하여 특정 IP에서 출발하는 모든 트래픽을 WAN1이 아닌 WAN2에서 처리하도록 설정합니다.


IMG_0118 copy.jpg

기기에 따라 IP가 다르게 인식되는 것을 확인할 수 있습니다.

RB20 님의 게시글 댓글
SIGNATURE
Damn it, Cipher!
서명 더 보기 서명 가리기
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [16]
짐농
IP 211.♡.201.223
05-01 2023-05-01 17:59:02
·
삽으로 지하 15층까지 뚫으신 것 같습니다.ㄷㄷ
스크랩 해뒀다가 써먹어야 겠네요. 감사합니다.
하늘목장
IP 27.♡.92.75
05-01 2023-05-01 18:18:45
·
강좌 잘봤습니다

그런데 이 어려운걸..iPtime이 해냈더라구요…

Iptime 공유기에
Wireguard client 기능이 있습니다 (23.04.20 도입)
여기에 WG 서버에 연결을 하고

클라이언트 사용관리에서
전체연결 혹은 특정연결(mac,ip등) 을 WG에 태워보낼수 있습니다

오늘 써봤는데 기존 l2tp대비 속도 약 2배정도 나오더라구요 매우만족중입니다 ㅎㅎ
Paper_7
IP 39.♡.231.200
05-01 2023-05-01 18:24:22
·
@하늘목장님 혹시 어떤 모델 구입하셨는지 공유가능할까요?
하늘목장
IP 27.♡.92.75
05-01 2023-05-01 18:27:34
·
@Paper_7님

저는 A8004T-XR 이랑 A3004NS-M 쓰고 있습니다.

https://iptime.com/iptime/?page_id=16&uid=25213&mod=document

위 공지에 나온 14.20 펌웨어 받은 공유기들 모두 가능합니다

다만 이게 4.21에 나온거라 버그가 좀 있네요
근시일내로 크리티컬한건 다 잡히리라 봅니다
RB20
IP 175.♡.34.77
05-01 2023-05-01 18:33:52
·
@하늘목장님 헐! 그렇군요. Unifi도 해당 기능이 추가됐지만 OpenVPN만 지원을 해서 삽을 뜬건데... ㅠㅠ
1398
IP 1.♡.194.251
05-01 2023-05-01 20:01:39 / 수정일: 2023-05-01 20:02:14
·
@하늘목장님
본문글 감탄하면서 봤는데 아이피타임 펌웨어 지원이(특히 클라이언트별 설정) 더 감탄스럽내요.
소리탐정
IP 182.♡.95.55
05-01 2023-05-01 20:41:30
·
@하늘목장님 이걸로 아마존프라임으로 볼 수 있겠네요
그럼 spotv보다 싸겠네요
백기사
IP 59.♡.227.32
05-01 2023-05-01 19:38:48
·
asus 순정 펌웨어도 vpn fusion이라고 해서 특정 디바이스만 wireguard나 openvpn 태울 수 있습니다.
진짜메뚜기
IP 39.♡.231.39
05-01 2023-05-01 19:58:57
·
asus 순정 롬도 dual wan 될 거에요 제품마다 다른가 보네요
(저는 RT-AX3000 사용중인데 관련 메뉴를 본 것 같네요)
잇힝잇힝
IP 121.♡.124.194
05-01 2023-05-01 22:54:58
·
@진짜메뚜기님 맞습니디. 같은 모델 사용 중인데 순장 펌에도 있습니다.
JK7761
IP 121.♡.149.5
05-01 2023-05-01 21:39:39
·
좋은 정보 감사합니다
없다고요우
IP 172.♡.95.4
05-01 2023-05-01 22:20:58
·
와 이게 되네요 ㄷㄷㄷ
yoonseungju
IP 27.♡.133.54
05-02 2023-05-02 00:38:19 / 수정일: 2023-05-02 00:40:23
·
간단하게 요약하면 ’서브넷 나눠서 루트 테이블에서 해당 서브넷 소속된 친구들은 vpn 인터페이스로 보냈다‘ 군요.


vpn기능 지원하는 저렴한 공유기를 기존 공유기에 접속 하고 ap 모드로 내부망을 하나 더 만든 후에 거기에다 vpn 접속 설정하고 애플티비만 연결 시키면 dhcp까지 까지 자동으로 잡아주니 복잡한 설정없이도 비슷한 구성이 가능할 것 처럼 보이네요. (단, 공유기 두대의 서브넷은 겹치면 안되니 한대는 서브넷을 변경 할 수 있는 기능이 있으면 좋을 것 같습니다. )
__ei
IP 101.♡.243.139
05-02 2023-05-02 01:14:19 / 수정일: 2023-05-02 01:15:26
·
해외에 살다보니
도메인 기반으로 라우팅할 수 있는 기능이 필요했었습니다. 그런데 대부분 ip로만 라우팅 구성이 가능하더군요.
그래서 이런저런 펌웨어 전전하다가 asus라우터용 토마토 펌웨어를 깔았던 기억이 나네요.

토마토에 Openvpn클라이언트 세팅을 보면 도메인 기반으로 라우팅 옵션이 있습니다.
yoonseungju
IP 27.♡.133.54
05-02 2023-05-02 10:19:45
·
@__ei님
L7 은 L3 보다 기능상 더 복잡하기도 하고 성능부하가 크거든요. 기본적으로 레이턴시 손해도 많고 고부하시에 심각하게 느려지는 경우를 경험하실 수 있습니다.
민둔
IP 63.♡.233.13
05-02 2023-05-02 01:15:13
·
저도 미국살아서 한국 VPN연결할 일이 많은데, Asus VPN Fusion 기능으로 특정 기기들만 한국VPN에 물려서 쓰고있습니다
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.