NETWORK & SEVER FACTORY

개인 공부 기록

Server/Linux

[Ubuntu,CentOS] L2TP, IPsec VPN 서버 구축하기

1nfra 2021. 8. 13. 13:46
728x90

안녕하세요. 오늘은 간단하게 L2TP VPN 서버를 구축하는 방법에 대해 알아보겠습니다.

 

VPN를 구축하기 위해 찾아보던 중에 github에 Auto Setup Script 를 찾아 소개해보려고 합니다.

 

저장소 링크는 아래와 같습니다.

 

https://github.com/hwdsl2/setup-ipsec-vpn

 

GitHub - hwdsl2/setup-ipsec-vpn: Scripts to build your own IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2

Scripts to build your own IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2 - GitHub - hwdsl2/setup-ipsec-vpn: Scripts to build your own IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2

github.com


우선 자신의 OS에 맞게 파일을 wget 명령어로는 통해 가져옵니다.

 

Ubuntu & Debian

$ wget https://git.io/vpnsetup -O vpnsetup.sh

 

CentOS & RHEL

$ wget https://git.io/vpnsetup-centos -O vpnsetup-centos.sh


파일을 가져오게 되면 vpnsetup.sh이라는 파일이 생기게 됩니다.

 

해당 파일을 열어서 몇 군데를 편집해야 하므로 사용자 각자 편한 편집기를 사용해서 vpnsetup.sh 파일을 열어주세요.

 

아래 27~29번 줄 항목을 수정해주시면 됩니다.

 

27 YOUR_IPSEC_PSK='키'

28 YOUR_USERNAME='아이디'

29 YOUR_PASSWORD='비밀번호'

 

위에 3개의 항목은 클라이언트에서 VPN 연결 시 필요하므로 메모해두시기 바랍니다.

 

변경하셨다면 이제 저장 후 나오시면 됩니다. 이제 수정한. sh 파일을 실행시켜주세요.

 

[root@localhost ~]# sh vpnsetup-centos.sh

만약 권한으로 인해 실행이 안된다면 아래 명령어로 권한 변경 후 실행시키면 됩니다.

 

[root@localhost ~]# chmod 777 vpnsetup-centos.sh

실행이 되면 여러 설정을 하므로 시간이 조금 걸리게 됩니다. 기다려주세요.

 

해당 파일 실행중인 모습

실행이 다 되었으면 아래처럼 결과창이 뜨면서 VPN 연결 시 필요한 정보를 보여주게 됩니다.

 

이 설정 외에도 설정 가능한 부분이 있는데 모르시는 분들은 이렇게만 설정 후 사용하시면 됩니다.

 


만약 VPN 사용 시 IP대역을 변경하고 싶은 분들은 아랫부분도 참고하시면 되겠습니다.

기본적으로 254개의 클라이언트를 연결할 수 있습니다.

254개 이상의 클라이언트가 연결해야 한다면 아래 내용을 참고하여 수정하시기 바랍니다.



260 L2TP_NET=${VPN_L2TP_NET:-'192.168.42.0/24'} <- L2TP VPN IP 대역 
261 L2TP_LOCAL=${VPN_L2TP_LOCAL:-'192.168.42.1'} <- L2TP VPN 서버 IP  
262 L2TP_POOL=${VPN_L2TP_POOL:-'192.168.42.10-192.168.42.250'} <- L2TP VPN 클라이언트에 부여할 IP 대역
263 XAUTH_NET=${VPN_XAUTH_NET:-'192.168.43.0/24'} <- IPsec VPN IP 대역
264 XAUTH_POOL=${VPN_XAUTH_POOL:-'192.168.43.10-192.168.43.250'}  <- IPsec VPN 클라이언트에 부여할 IP 대역
265 DNS_SRV1=${VPN_DNS_SRV1:-'8.8.8.8'} <- DNS1
266 DNS_SRV2=${VPN_DNS_SRV2:-'8.8.4.4'} <- DNS2


 

키 값은 /etc/ipsec.secrets 에서 변경 가능합니다.

%any %any : PSK "키값"

 

추가 유저 등록은 /etc/ppp/chap-secrets에서 추가하면 됩니다.

"유저 아이디" l2tpd "비밀번호" *

뒤에 * 대신 아이피를 넣어주면 해당 유저 로그인 시 지정한 IP를 할당할 수 있습니다.

 

VPN 관련 서비스를 재시작 하기 위해서는

$ service ipsec restart

$ service xl2tpd restart

만약 VPN 서버가 공유기 외 내부 네트워크에 연결되어 있다면

UDP 500, 4500 포트를 VPN 서버로 포워딩해 줍니다.

 


IPTIME 포트포워딩 방법입니다.

https://alsrbdmsco0409.tistory.com/221

 

[IPTIME] 포트포워딩

포트 포워딩에 대한 설명은 아래를 참고해주세요. https://alsrbdmsco0409.tistory.com/220 포트포워딩 (Port Forwarding) 이란? 공유기를 사용하면 한 번씩은 들어보고 검색해봤을 만한 단어입니다. 우선 단어

alsrbdmsco0409.tistory.com

 

ER-4 포트포워딩 방법입니다.

https://alsrbdmsco0409.tistory.com/346

 

[ER-4] 포트포워딩

오늘은 Edgerouter-4의 포트 포워딩 설정을 해보겠습니다. 먼저 대시보드에 로그인을 해주세요. 로그인 후 모습입니다. 그럼 위 사진에서 Firewall/NAT 부분을 눌러주세요. 그럼 위와 같이 나오는 것을

alsrbdmsco0409.tistory.com

 

728x90