안녕하세요. 오늘은 간단하게 L2TP VPN 서버를 구축하는 방법에 대해 알아보겠습니다.
VPN를 구축하기 위해 찾아보던 중에 github에 Auto Setup Script 를 찾아 소개해보려고 합니다.
저장소 링크는 아래와 같습니다.
https://github.com/hwdsl2/setup-ipsec-vpn
우선 자신의 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
ER-4 포트포워딩 방법입니다.
https://alsrbdmsco0409.tistory.com/346
'Server > Linux' 카테고리의 다른 글
[Linux] df, du 명령어 사용법 (0) | 2022.05.09 |
---|---|
[Ubuntu] ShellinaBox (웹 기반 SSH) 설치하기 (0) | 2022.02.08 |
[Ubuntu] apache2 가상호스트 (virtualhost) (0) | 2021.07.30 |
[Ubuntu Server] Netplan 으로 고정 ip 설정하기 (0) | 2021.07.28 |
[Ubuntu] Nginx를 사용한 RDP 프록시 설정하기 (0) | 2021.06.30 |