본문 바로가기
서버/Server

[Server]Softether vpn 로컬 브릿지로 구축(설정)하기 (Debian)

by jamong1014 2022. 1. 9.
반응형

1. Virtual Nat

Softether vpn을 구축할 때 편리하게 사용할 시 Virtual Nat(SecureNat)을 많이 사용한다.

해당 기법의 원리는 사진과 같다.

 

보이는거와 같이 서버 자체 내에서 가상의 인터페이스를 사용하여  Virtual DHCP, NAT를 모두 지원하기 때문에 설정만 해주면 아이피를 바로 할당받아 사용할 수 있다는 편리함이 있다.

하지만 속도가 느리고 로컬 브릿지에 비해 CPU를 많이 잡아 먹는다.

그리고 가장 문제인 VPN 서버 호스트에게 통신이 불가능하다...

 

이를 해결하기 위해서 이번에 설정 한 것이 바로 로컬 브릿지(Local Bridge)이다.

 

2. 로컬 브릿지(Local Bridge)

로컬 브릿지는 Virtual Nat과 다르게 실제 네트워크 인터페이스를 사용하여 VPS 방식으로 인터페이스를 붙혀주는 방식이다.

하지만 문제는 DHCP 서버에 있다.

일반적으로 VPS 서버에 달린 네트워크 인터페이스 자체가 DHCP 서버 기능을 하지 않기 때문에 이런 식으로 브릿지를 하게 되면 VPN 서버에 연결은 가능하지만 IP 주소를 할당 받지 못하는 사태가 발생한다.

 

이를 해결해주기 위해 조금 번거로운 작업이 있다.

 

작업 하기 전에 셋팅 할 것

*작업 도중 네트워크가 끊키므로 VNC로 작업하지 말고 모니터에 직접 연결하여 작업하길 바란다.

 

1. 먼저 기존에 설정되어 있던 Virtual Nat(SecureNat)을 비활성화 해주자

 

 

Disable SecureNat을 눌러 이 상태로 만들어주어야 한다. 

 

2. 그리고 로컬 브릿지로 들어가 인터페이스를 새로 추가해줘야 한다.

 

3. 해당 서버 리눅스로 돌아가서 잘 추가가 됐는지 확인해보자.

#ifconfig

tap_sevpn으로 추가됐으면 잘 된거다.

 

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

#sudo apt-get install dnsmasq

설치가 끝났으면

#sudo vi /etc/dnsmasq.conf

맨 아랫줄에 

interface=tap_sevpn
dhcp-range=tap_sevpn,192.168.7.50,192.168.7.60,12h
dhcp-option=tap_sevpn,option:netmask,255.255.255.0
dhcp-option=tap_sevpn,option:router,192.168.7.1
dhcp-option=tap_sevpn,option:dns-server,8.8.8.8,1.1.1.1
port=0

이렇게 입력해주자.

가상의 아이피를 입력하는 부분이기 때문에 어떤식으로 설정하든 상관없다.

 

5. vpnserver 부분도 설정해줘야 한다.

#sudo vi /etc/init.d/vpnserver

위 사진과 동일하게 빨간색 네모칸 내용을 적어주자.(꼭 저장)

 

그리고 dnsmasq와 vpnserver을 재시작 해줘야 한다. ( 이 부분에서 네트워크를 동적으로 설정했다면 기존에 있던 eth0가 사라지고 네트워크가 끊킬것이다.)

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

ifconfig로 확인해보면 eth0은 사라지고 tap_sevpn만 설정된 상태를 확인 할 수 있다.

6. eth0을 다시 살리기 위해 

#sudo vi /etc/network/interfaces

로 들어가서 이런식으로 

기존에 설정되어 있던 아이피로 정적 아이피로 설정해준다.

그리고 네트워킹 재시작

#sudo service networking restart

해주면 다시 eth0 인터페이스가 생긴걸 확인할 수 있다.

7. 현재 네트워크를 다시 사용하기 위해서는 실제 네트워크로 포워딩 작업을 해줘야 한다.

#sudo vi /etc/sysctl.d/ipv4_forwarding.conf

(ipv4_forwarding.conf 파일이 없으면 생성한다.)

그리고 밑에 내용을 입력해주자.

net.ipv4.ip_forward = 1

그리고 저장해주고

#sysctl --system

입력해서 적용시켜준다.

 

그리고 DHCP에서 할당받은 주소를 포워딩 시켜줘야 한다.

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

 

서버 재부팅시 iptables 룰이 초기화 되는 것을 막기 위해 iptables-persistent를 설치하자.

apt-get install iptables-persistent

 

그럼 이제 끝났다.

Virtual Nat으로 설정해서 통신이 안됐던 호스트 서버가 로컬 브릿지로 설정해서 통신이 잘 되는 모습을 확인할 수 있다.

 

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

 

Softether on VPS using local bridge - Coding, Coding, Coding

This post continues on the last post about Softether setup on a VPS. Problem on SecureNAT SecureNAT is a fairly simple way to setup Softether. You don’t need a lot of sysadmin skill and network understanding in order to get Softether up and running. The

blog.lincoln.hk

https://blog.kerus.net/690/setup-softether-vpn-local-bridge

반응형

댓글