¹ÌÅ©·ÎƽÀ¸·Î VPN_Client + Proxy Server ±¸ÃàÇϱâ.

   Á¶È¸ 10523   Ãßõ 0    

간단설명)

VPN을 통하여 일부의 프로그램 또는 일부의 사이트만 보내기 위해, 프록시 서버를 통과하는 패킷은 모두 VPN으로 보내도록 하는 설정입니다.

기존에 별도의 서버에서 'VPN 클라이언트' + '스퀴드 프록시 서버'의 조합으로 운용중이었으나,

새로 구입한 미크로틱에서 VPN의 속도가 충분히 나오기에 미크로틱만으로 작업해봤습니다.


주 사용용도)

다양하게 이용할 수 있지만 저는 유튜브 이용시 국가 변경을 위해 이용했습니다.


작업환경)

아무 미크로틱이나, hEX이상의 cpu성능이 나오는 장비에서의 이용을 추천드립니다.

필자의 환경... 

MIkrotik hEX S ( https://mikrotik.com/product/hex_s ) - 기존의 hEX에 sfp포트가 하나 붙어있습니다.


작업순서)

1) VPN클라이언트를 구성한다. (winbox)

미크로틱으로 VPN클라이언트를 구성하는 것은 서버측의 호환성 문제로 약간의 삽질이 있었지만, 일단 용도에 맞는 해결법을 찾아 진행하였습니다.

PPP > Interface > VPN Client 구성.

이 과정에서 주의할 점은 VPN Client를 구성할 때 'Dial Out'항목에 있는 'Add Default Route'를 '체크 해제'하는 것 입니다.

----------------------------------------------------------------------------------------------------

2) 프록시 서버 설정하기

프록시 서버의 설정은 매우 간단합니다.

IP > Web Proxy >Enable에 체크. 

이후에 추가적으로 용도에 맞게 설정하시면 됩니다.

ps. 저는 캐싱 기능을 원하지 않기에 캐시 크기를 none로 설정하였습니다.

----------------------------------------------------------------------------------------------------

3) 방화벽 설정. (라우팅 설정을 위한 설정)

프록시를 통해 나가는 패킷들이 무조건적으로 VPN을 통하여 나가도록 설정해야 합니다.

이 과정에서 좀 삽질이 있었지만 미크로틱의 패킷 처리과정을 확인하여 해결법을 찾았습니다. 

(https://wiki.mikrotik.com/wiki/Manual:Packet_Flow)

Mangle의 Output 체인을 이용할 경우, 미크로틱의 외부에서 들어온 패킷이 아닌, 미크로틱에서 생성된 패킷에 대한 간섭이 가능합니다.

ex) 미크로틱 기기의 VPN연결이나, 프록시를 통해 나가는 패킷, 미크로틱의 DNS쿼리 등등...


-1. 미크로틱에 대상에서 제외할 목록을 추가합니다. 

IP > Firewall >AddressList > VPN_Exception 이라는 리스트 추가. (이름은 알아서 변경하세요)

주의) 만약에 이용하시는 VPN이 443번이나 80번 포트를 사용한다면 리스트에 추가하세요.


-2. 방화벽에 규칙을 추가

IP > Firewall > Mangle > Mangle 룰 추가. 



체인: output

목적지 포트: 80, 443 (웹페이지)

(주의) 목적지 주소 리스트: VPN_Exception 을 제외하고 나머지!!

<콘솔에서>

/ip firewall mangle 

add action=mark-routing chain=output protocol=tcp dst-port=80,443 \

dst-address-list=!VPN_Exception new-routing-mark="ProxyOut" passthrough=no

----------------------------------------------------------------------------------------------------

4) 라우팅 룰 추가.

IP > Route > 룰 추가.

1. 게이트웨이를 처음에 추가한 VPN 클라이언트의 이름으로 설정한다. (드롭다운 매뉴에 표시된다.)

2. 라우팅 마스크를 아까 방화벽에서 추가한 라우팅 마스크로 설정한다.

3. 목적지 주소는 기본으로 설정된 0.0.0.0/0으로 설정한다. (모든 패킷을 보내기 원할경우. 기본설정)




완료.


추천 사용환경)

크롬에서 찾아보시면 'Proxy SwitchySharp'라는 플러그인이 있습니다. 

이 플러그인은 한 페이지 내부의 컨텐츠라고 해도 원하는 URL에 대해서만 선택적으로 프록시를 이용하도록 해줍니다.

예를들어, 유튜브만 해외를 통하여 접속하시기를 원하신다면 그 주소를 해당 플러그인에 추가하시면 됩니다.

주의) 유튜브의 경우 유튜브만 추가해서는 소용이 없습니다. *.googlevideo.com을 꼭 같이 추가하셔야 합니다.


예제1,2)  간단, 심화









°¨»çÇÕ´Ï´Ù.


Á¦¸ñPage 12/105
2017-05   8925   °³°õ
2017-11   10874   ¹öÇÁ¿£Áö´Ï¡¦
2018-07   10524   ¾ËÅä³É
2018-12   6070   gentoo
2020-01   4046   chin
2020-02   7352   gowork
2021-12   3149   mrleeidea
11-14   1279   siruix
2016-10   13988   ilgyu
2017-09   10693   ±èÀºÈ£
2018-09   14010   ÆÒµµ¶ó
2019-01   8381   MikroTikÀÌÁø
2020-03   4266   ¿¥ÇÃ
2020-11   5158   ¿¹»ó¾Æºü
2020-12   4768   ³»°¡»ç³ªÀÌ
2021-04   3901   ÇÏ´ÃÇÏ´Ã
2021-06   3522   redqqqq
2021-08   4539   Wnahd
2014-02   11425   ¼­¿ï»ç¶÷
2016-03   9302   ²Ù¸®9