SoftEther Local Bridges 설정(VPS, debian)

앞선 글에서 VPS에 Softehter VPN 서버 설치하는 법을 알아보았다..

거기에서는  SoftEther에서 제공하는 Virtual NAT을 이용하여 VPN 서버를 구성하였다.

근데 Virtual NAT을 사용하게 될 경우 Local Bridges를 이용하는 것보다 속도가 느리다는 단점이 있다.

1. Virtual NAT과 Local Bridges의 개념

Virtual NAT & Virtual DHCP Servers

virtual-interface

SoftEther tool이 자체적으로 제공하는 가상의 네트워크 인터페이스를 활용하는 방식으로 DHCP 서버까지 탑재되어 있다. 사용자가 따로 설정을 건드릴 필요없이 매우 간단하게 설정을 할 수 있다는 장점이 있다.

SoftEther에서 제공하는 윈도우용 서버 매니저 툴을 활용하면 아래와 같이 아주 쉽게 Virtual NAT 설정을 수정할 수 있다.

virual-nat

이러한 편의성이 있지만 한가지 단점이 있다면 Local Bridges를 사용하는 것에 비해 속도가 느리다는 것이다.

Virtual NAT에 관한 자세한 내용은 이 사이트 를 참조하길 바란다.

 

 Local Bridges

local-bridge

로컬 브릿지의 경우 Virtual NAT와는 달리 서버에 있는 실제 네트워크 인터페이스를 활용하는 방식이다.  개념 상으로 봤을 때 VPN 서버에 네트워크 인터페이스를 브릿지만 해주면 될 것 같아 보인다. 하지만 문제는 DHCP 서버에 있다. 일반적으로 VPS 서버에 달린 네트워크 인터페이스 자체가 DHCP 서버 기능을 하지 않기 때문에 그런 식으로 브릿지를 해주게 되면 VPN 서버에 연결은 가능하지만 IP 주소를 할당 받지 못하는 사태가 발생한다. 이러한 이유로 약간 번거로운 과정을 거쳐야 한다.

로컬 브릿지에 관한 자세한 내용은 이 사이트를 참조하길 바란다.

 

2. VPS에 SoftEther 로컬 브릿지 설정하기

우선 설정의 편의를 위해 SoftEther에서 제공하는 서버 매니저 툴을 설치한다.

이 곳에서 다운 받을 수 있다.

setting7

SoftEther VPN Server Manager for Windows 를 선택하고 다운받아 설치한다.

setting

설치하고 실행하여 New Setting 버튼을 누르면 위와 같은 창이 나온다.

Host Name에 VPS 서버 IP 주소를 입력하고, Password에 VPN 서버를 설치할 때 입력했던 VPN 서버 관리자 암호를 입력하고 저장한다. 그리고 서버에 연결을 하면 된다.

정상적으로 접속이 됐다면 아래와 같은 창이 나타날 것이다.

setting1

Virtual Hub 리스트에 VPN 서버 설치 시에 생성했던 VPN이라는 HUB가 보인다. 저것이 지금 VPN 서버에 사용하고 있는 허브이다. 저걸 더블 클릭한다.

setting2

위와 같은 창이 나타나면 Virtual NAT and Virtual DHCP 버튼을 누른다.

setting3

이 곳에서 Virtual NAT와 DHCP 관련 설정을 해줄 수 있다. 지금부터는 Virtual NAT 기능을 사용하지 않을 것이기 때문에 Disable 버튼을 눌러서 Virtual NAT 기능을 해제한다.

setting4

그리고 다시 맨 처음 창으로 돌아가서 Local Bridge Setting 이라는 버튼을 눌러준다.

setting5

Virtual Hub 에서 VPN을 선택하고 Bridege with New Tap Device를 선택 후 New Tap Device Name 에는 “soft” 라고 입력한다. 그리고 나서 Create Local Bridge 버튼을 눌러준다.

이제 Putty를 이용하여 VPS 서버에 접속한다.

ifconfig tap_soft

아래와 같은 화면이 나타난다면 정상적으로 tap device가 설정된 것이다. 앞으로 설치하게 될 DHCP 서버에서 192.168.7.1 이라는 IP 주소를 할당받은 것을 확인할 수 있다.

setting6

DHCP 서버를 설치하기 위해 dnsmasq를 설치한다.

apt-get install dnsmasq
vi /etc/dnsmasq.conf

맨 아랫줄에 아래 내용 3줄을 추가해준다.

interface=tap_soft 
dhcp-range=tap_soft,192.168.7.50,192.168.7.60,12h 
dhcp-option=tap_soft,3,192.168.7.1
vi /etc/init.d/vpnserver

기존 파일에 없었던 부분 (빨간색 부분)을 입력하고 저장해준다.

#!/bin/sh
### BEGIN INIT INFO
# Provides:          vpnserver
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable Softether by daemon.
### END INIT INFO

DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
TAP_ADDR=192.168.7.1
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
vi /etc/sysctl.d/ipv4_forwarding.conf

아래 내용을 입력하고 저장한다.

net.ipv4.ip_forward = 1
sysctl --system

DHCP에서 할당 받은 주소를 라우팅 해준다. [YOUR VPS IP ADDRESS] 부분을 VPS IP 주소로 바꿔준다.

iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j SNAT --to-source [YOUR VPS IP ADDRESS]

서버 재부팅시 iptable rule을 유지해주는 프로그램을 설치한다. 이 부분은 iptable이 이미 자동 로드 되고 있는 상황이라면 생략 가능하다.

apt-get install iptables-persistent

vpn 서버와 dnsmasq를 재시작해준다.

/etc/init.d/vpnserver restart
/etc/init.d/dnsmasq restart

이로써 로컬 브릿지 설정이 끝났다. 이제 기존 Virtual NAT 사용시보다 조금 더 빠른 VPN을 사용할 수 있게 되었다.

참조 사이트

http://blog.lincoln.hk/blog/2013/05/17/softether-on-vps-using-local-bridge/

https://www.softether.org/index.php?title=4-docs/1-manual/3.SoftEther_VPN_Server_Manual/3.7_Virtual_NAT%26_Virtual_DHCP_Servers

https://www.softether.org/4-docs/1-manual/3._SoftEther_VPN_Server_Manual/3.6_Local_Bridges

 

 

SoftEther Local Bridges 설정(VPS, debian)”에 대한 답글 1개

  1. 좋은 글 내용을 참고하여 성공하였습니다
    다만 VPN을 연결할때 공유기 하단에 서버가 존재해서 dhcp가 하단에 또 생기는거 같습니다
    상단 공유기의 dhcp서버를 브릿지로 같이 쓰는 방법이 있을까요??

    좋아요

댓글 남기기