Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Setup IPsec VPN — IPsec/L2TP, Cisco IPsec 및 IKEv2를 지원하는 자동화된 IPsec VPN 서버 설정. 사용자 및 인증서 관리를 위한 헬퍼 스크립트를 포함하며, iOS, macOS, Android 및 Windows 클라이언트용 프로필을 생성합니다. | Kitploit
도구/GitLabGitLab/hwdsl2/setup-ipsec-vpn
Vulnerability ScannersEncryption/Decryption ToolsConfiguration AuditingNetwork Security
GitLabhwdsl2/setup-ipsec-vpn

Setup IPsec VPN

IPsec/L2TP, Cisco IPsec 및 IKEv2를 지원하는 자동화된 IPsec VPN 서버 설정. 사용자 및 인증서 관리를 위한 헬퍼 스크립트를 포함하며, iOS, macOS, Android 및 Windows 클라이언트용 프로필을 생성합니다.

저장소 보기
34919시간 10분 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
[English](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README.md) | [简体中文](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-zh.md) | [繁體中文](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-zh-Hant.md) | [日本語](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-ja.md) | [Русский](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-ru.md)

# IPsec VPN 서버 자동 설정 스크립트

[![Build Status](https://github.com/hwdsl2/setup-ipsec-vpn/actions/workflows/main.yml/badge.svg)](https://github.com/hwdsl2/setup-ipsec-vpn/actions/workflows/main.yml) [![GitHub Stars](https://raw.githubusercontent.com/hwdsl2/badges/main/img/github-stars-setup-ipsec-vpn.svg)](https://github.com/hwdsl2/setup-ipsec-vpn/stargazers) [![Docker Stars](https://raw.githubusercontent.com/hwdsl2/badges/main/img/docker-stars-ipsec-vpn-server.svg)](https://github.com/hwdsl2/docker-ipsec-vpn-server) [![Docker Pulls](https://raw.githubusercontent.com/hwdsl2/badges/main/img/docker-pulls-ipsec-vpn-server.svg)](https://github.com/hwdsl2/docker-ipsec-vpn-server)

IPsec/L2TP, Cisco IPsec 및 IKEv2를 사용하여 단 몇 분 만에 자신만의 IPsec VPN 서버를 설정하세요.

IPsec VPN은 네트워크 트래픽을 암호화하므로, 데이터가 인터넷을 통해 전송되는 동안 사용자와 VPN 서버 사이의 누구도 데이터를 도청할 수 없습니다. 이는 커피숍, 공항, 호텔 객실 등 보안되지 않은 네트워크를 사용할 때 특히 유용합니다.

IPsec 서버로 [Libreswan](https://libreswan.org/)을, L2TP 공급자로 [xl2tpd](https://github.com/xelerance/xl2tpd)를 사용합니다.

**기능:**

- 사용자 입력이 필요 없는 완전 자동화된 IPsec VPN 서버 설정
- 강력하고 빠른 암호(예: AES-GCM)를 사용하는 IKEv2 지원
- iOS, macOS 및 Android 기기를 자동 구성하는 VPN 프로필 생성
- Windows, macOS, iOS, Android, Chrome OS 및 Linux를 VPN 클라이언트로 지원
- VPN 사용자 및 인증서를 관리하는 도우미 스크립트 포함

**다음도 사용 가능:**

- **Docker VPN:** [IPsec VPN](https://github.com/hwdsl2/docker-ipsec-vpn-server), [WireGuard](https://github.com/hwdsl2/docker-wireguard), [OpenVPN](https://github.com/hwdsl2/docker-openvpn), [Headscale](https://github.com/hwdsl2/docker-headscale)
- **AI:** 로컬 LLM, 채팅, RAG, 음성 및 AI 도구를 위한 [Self-Hosted AI Stack](https://github.com/hwdsl2/self-hosted-ai-stack)

> 📘 셀프 호스팅 AI에 관심이 있으신가요? [The Self-Hosted AI Builder’s Guide](https://books2read.com/aiguide?store=amazon)는 자신만의 프라이빗 AI 스택을 구축, 보안 및 운영하기 위한 실용적인 가이드입니다.

## 빠른 시작

[지원되는 운영 체제](#requirements)를 실행하는 Linux 서버\*로 시작하세요.

다음 한 줄 명령을 사용하여 IPsec VPN 서버를 설정하세요:

```bash
wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh
```

VPN 로그인 정보는 무작위로 생성되며, 완료 시 표시됩니다.

**팁:** 선택적으로 동일한 서버에 [WireGuard](https://github.com/hwdsl2/wireguard-install), [OpenVPN](https://github.com/hwdsl2/openvpn-install) 및/또는 [Headscale](https://github.com/hwdsl2/headscale-install)을 설치할 수 있습니다.

<details>
<summary>
스크립트 실행 모습 보기 (터미널 녹화).
</summary>

**참고:** 이 녹화는 데모 목적으로만 제공됩니다. 이 녹화에 나오는 VPN 자격 증명은 **유효하지 않습니다**.

<p align="center"><img src="https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/docs/images/script-demo.svg"></p>
</details>
<details>
<summary>
다운로드할 수 없는 경우 여기를 클릭하세요.
</summary>

`curl`을 사용하여 다운로드할 수도 있습니다:

```bash
curl -fsSL https://get.vpnsetup.net -o vpn.sh && sudo sh vpn.sh
```

대체 설정 URL:

```bash
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/vpnsetup.sh
```

다운로드할 수 없는 경우 [vpnsetup.sh](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/vpnsetup.sh)를 열고 오른쪽의 `Raw` 버튼을 클릭하세요. `Ctrl/Cmd+A`를 눌러 전체를 선택하고, `Ctrl/Cmd+C`를 눌러 복사한 다음, 원하는 편집기에 붙여넣으세요.
</details>

미리 빌드된 [Docker 이미지](https://github.com/hwdsl2/docker-ipsec-vpn-server)도 사용할 수 있습니다. 다른 옵션과 클라이언트 설정은 아래 섹션을 참고하세요.

\* 클라우드 서버, 가상 사설 서버(VPS) 또는 전용 서버.

## 커뮤니티

- 📬 [프로젝트 업데이트와 무료 배포 가이드 받기](https://selfhostedstack.beehiiv.com/subscribe?utm_campaign=vpn) (월 1–2회 이메일)
- 💬 토론을 위해 [r/selfhostedstack](https://www.reddit.com/r/selfhostedstack/) 커뮤니티에 참여하세요
- ⭐ 유용하다고 생각되면 저장소에 별을 눌러주세요 — 다른 사람들이 발견하는 데 도움이 됩니다

## 요구 사항

다음이 설치된 클라우드 서버, 가상 사설 서버(VPS) 또는 전용 서버:

- Ubuntu 26.04, 24.04 또는 22.04
- Debian 13 또는 12
- CentOS Stream 10 또는 9
- Rocky Linux 또는 AlmaLinux
- Oracle Linux

<details>
<summary>
기타 지원되는 Linux 배포판.
</summary>

- Raspberry Pi OS (Raspbian)
- Kali Linux
- Alpine Linux
- Red Hat Enterprise Linux (RHEL)
</details>

여기에는 [DigitalOcean](https://blog.ls20.com/digitalocean), [Vultr](https://blog.ls20.com/vultr), [Linode](https://blog.ls20.com/linode), [OVH](https://www.ovhcloud.com/en/vps/), [Microsoft Azure](https://azure.microsoft.com)와 같은 퍼블릭 클라우드의 Linux VM도 포함됩니다. 퍼블릭 클라우드 사용자는 [user data](https://blog.ls20.com/ipsec-l2tp-vpn-auto-setup-for-ubuntu-12-04-on-amazon-ec2/#vpnsetup)를 사용하여 배포할 수도 있습니다.

빠른 배포 대상:

[![Deploy to Linode](https://assets.kitploit.com/production/public/readmes/647/14c2143c20d7c521b606f90a0cf1610d8bd96b3f6516f422d8ca848b879bb6fc.png)](https://cloud.linode.com/stackscripts/37239) &nbsp;[![Deploy to Azure](https://assets.kitploit.com/production/public/readmes/647/79c45f89c80fa35c65259790605f75fe6b65db10aacefa870a55784152a9d31e.png)](azure/README.md)

[**&raquo; 나만의 VPN을 운영하고 싶지만 서버가 없다면**](https://blog.ls20.com/ipsec-l2tp-vpn-auto-setup-for-ubuntu-12-04-on-amazon-ec2/#gettingavps)

외부 방화벽이 있는 서버(예: [EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html)/[GCE](https://cloud.google.com/vpc/docs/firewalls))의 경우, VPN을 위해 UDP 포트 500 및 4500을 여세요.

미리 빌드된 [Docker 이미지](https://github.com/hwdsl2/docker-ipsec-vpn-server)도 사용할 수 있습니다. 고급 사용자는 [Raspberry Pi](https://www.raspberrypi.com)에 설치할 수 있습니다. [[1]](https://elasticbyte.net/posts/setting-up-a-native-cisco-ipsec-vpn-server-using-a-raspberry-pi/) [[2]](https://www.stewright.me/2018/07/create-a-raspberry-pi-vpn-server-using-l2tpipsec/)

> [!WARNING]
> VPN을 호스팅할 Linux 서버에서 이 스크립트를 실행하세요. 개인 PC나 Mac에서는 실행하지 마세요.

## 설치

먼저 `sudo apt-get update && sudo apt-get dist-upgrade`(Ubuntu/Debian) 또는 `sudo yum update`로 서버를 업데이트하고 재부팅하세요. 선택 사항이지만 권장됩니다.

VPN을 설치하려면 다음 옵션 중 하나를 선택하세요:

**옵션 1:** 스크립트가 임의의 VPN 자격 증명을 생성하도록 합니다(완료 시 표시됨).

```bash
wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh
```

**옵션 2:** 스크립트를 편집하고 자신의 VPN 자격 증명을 제공하세요.

```bash
wget https://get.vpnsetup.net -O vpn.sh
nano -w vpn.sh
[Replace with your own values: YOUR_IPSEC_PSK, YOUR_USERNAME and YOUR_PASSWORD]
sudo sh vpn.sh
```

> [!NOTE]
> 안전한 IPsec PSK는 최소 20자의 무작위 문자로 구성되어야 합니다.

**옵션 3:** VPN 자격 증명을 환경 변수로 정의합니다.

```bash
# All values MUST be placed inside 'single quotes'
# DO NOT use these special characters within values: \ " '
wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_IPSEC_PSK='your_ipsec_pre_shared_key' \
VPN_USER='your_vpn_username' \
VPN_PASSWORD='your_vpn_password' \
sh vpn.sh
```

**팁:** 선택적으로 동일한 서버에 [WireGuard](https://github.com/hwdsl2/wireguard-install), [OpenVPN](https://github.com/hwdsl2/openvpn-install) 및/또는 [Headscale](https://github.com/hwdsl2/headscale-install)을 설치할 수 있습니다. 서버가 CentOS Stream, Rocky Linux 또는 AlmaLinux를 실행하는 경우 먼저 OpenVPN/WireGuard를 설치한 다음 IPsec VPN을 설치하십시오.

<details>
<summary>
다운로드할 수 없는 경우 여기를 클릭하십시오.
</summary>

`curl`을 사용하여 다운로드할 수도 있습니다. 예를 들어:

</details>

```bash
curl -fL https://get.vpnsetup.net -o vpn.sh
sudo sh vpn.sh
```

대체 설정 URL:

```bash
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/vpnsetup.sh
```

다운로드할 수 없는 경우 [vpnsetup.sh](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/vpnsetup.sh)를 열고 오른쪽의 `Raw` 버튼을 클릭하세요. `Ctrl/Cmd+A`를 눌러 전체 선택하고, `Ctrl/Cmd+C`를 눌러 복사한 다음, 즐겨 사용하는 편집기에 붙여넣으세요.
</details>
<details>
<summary>
이전 Libreswan 버전 4를 설치하고 싶습니다.
</summary>

일반적으로 이 프로젝트의 기본 버전인 최신 [Libreswan](https://libreswan.org/) 버전 5를 사용하는 것이 권장됩니다. 그러나 이전 Libreswan 버전 4를 설치하려는 경우:

```bash
wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_SWAN_VER=4.15 sh vpn.sh
```

**참고:** Libreswan 버전 5가 이미 설치되어 있는 경우, Libreswan 버전 4를 설치하기 전에 먼저 [VPN을 제거](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/uninstall.md)해야 할 수 있습니다. 또는 [업데이트 스크립트](#upgrade-libreswan)를 다운로드하여 `SWAN_VER=4.15`를 지정하도록 편집한 후 스크립트를 실행하십시오.
</details>

## VPN 옵션 사용자 지정

### 대체 DNS 서버 사용

기본적으로 VPN이 활성화되면 클라이언트는 [Google Public DNS](https://developers.google.com/speed/public-dns/)를 사용하도록 설정됩니다. VPN을 설치할 때 모든 VPN 모드에 대해 사용자 지정 DNS 서버를 선택적으로 지정할 수 있습니다. 예:

```bash
sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh
```

`VPN_DNS_SRV1`을 사용하여 기본 DNS 서버를 지정하고, `VPN_DNS_SRV2`를 사용하여 보조 DNS 서버를 지정합니다(선택 사항).

다음은 참고용으로 널리 사용되는 공용 DNS 제공업체 목록입니다.

| 제공업체 | 기본 DNS | 보조 DNS | 비고 |
| -------- | ----------- | ------------- | ----- |
| [Google Public DNS](https://developers.google.com/speed/public-dns) | 8.8.8.8 | 8.8.4.4 | 이 프로젝트의 기본값 |
| [Cloudflare](https://1.1.1.1/dns/) | 1.1.1.1 | 1.0.0.1 | 참고: [Cloudflare for families](https://1.1.1.1/family/) |
| [Quad9](https://www.quad9.net) | 9.9.9.9 | 149.112.112.112 | 악성 도메인 차단 |
| [OpenDNS](https://www.opendns.com/home-internet-security/) | 208.67.222.222 | 208.67.220.220 | 피싱 도메인 차단, 구성 가능. |
| [CleanBrowsing](https://cleanbrowsing.org/filters/) | 185.228.168.9 | 185.228.169.9 | [도메인 필터](https://cleanbrowsing.org/filters/) 사용 가능 |
| [NextDNS](https://nextdns.io/?from=bg25bwmp) | 가변적 | 가변적 | 광고 차단, 무료 요금제 제공. [자세히 알아보기](https://nextdns.io/?from=bg25bwmp). |
| [Control D](https://controld.com/free-dns) | 가변적 | 가변적 | 광고 차단, 구성 가능. [자세히 알아보기](https://controld.com/free-dns). |

VPN 설정 후 DNS 서버를 변경해야 하는 경우 [고급 사용법](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md)을 참조하세요.

> [!NOTE]
> 서버에 IKEv2가 이미 설정되어 있는 경우, 위 변수는 IKEv2 모드에 영향을 주지 않습니다. 이 경우 DNS 서버와 같은 IKEv2 옵션을 사용자 지정하려면 먼저 [IKEv2 제거](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/ikev2-howto.md#remove-ikev2)를 수행한 다음 `sudo ikev2.sh`를 사용하여 다시 설정할 수 있습니다.

### IKEv2 옵션 사용자 지정

VPN을 설치할 때 고급 사용자는 선택적으로 IKEv2 옵션을 사용자 지정할 수 있습니다.

<details open>
<summary>
옵션 1: VPN 설정 중 IKEv2를 건너뛰고, 사용자 지정 옵션을 사용하여 IKEv2를 설정합니다.
</summary>

VPN을 설치할 때 IKEv2를 건너뛰고 IPsec/L2TP 및 IPsec/XAuth("Cisco IPsec") 모드만 설치할 수 있습니다:

```bash
sudo VPN_SKIP_IKEV2=yes sh vpn.sh
```

(선택 사항) VPN 클라이언트용 사용자 지정 DNS 서버를 지정하려면 `VPN_DNS_SRV1`과 선택적으로 `VPN_DNS_SRV2`를 정의합니다. 자세한 내용은 [대체 DNS 서버 사용](#use-alternative-dns-servers)을 참조하세요.

그런 다음 IKEv2 도우미 스크립트를 실행하여 사용자 지정 옵션을 사용해 대화형으로 IKEv2를 설정합니다:

```bash
sudo ikev2.sh
```

다음 옵션을 사용자 지정할 수 있습니다: VPN 서버의 DNS 이름, 첫 번째 클라이언트의 이름 및 유효 기간, VPN 클라이언트용 DNS 서버, 그리고 클라이언트 구성 파일의 비밀번호 보호 여부.

**참고:** `VPN_SKIP_IKEV2` 변수는 서버에 IKEv2가 이미 설정되어 있는 경우 아무런 효과가 없습니다. 이 경우 IKEv2 옵션을 사용자 지정하려면 먼저 [IKEv2 제거](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/ikev2-howto.md#remove-ikev2)를 수행한 다음 `sudo ikev2.sh`를 사용하여 다시 설정할 수 있습니다.
</details>
<details>
<summary>
옵션 2: 환경 변수를 사용하여 IKEv2 옵션 사용자 지정.
</summary>

VPN을 설치할 때 선택적으로 IKEv2 서버 주소의 DNS 이름을 지정할 수 있습니다. DNS 이름은 정규화된 도메인 이름(FQDN)이어야 합니다. 예:

```bash
sudo VPN_DNS_NAME='vpn.example.com' sh vpn.sh
```

마찬가지로 첫 번째 IKEv2 클라이언트의 이름을 지정할 수 있습니다. 지정하지 않으면 기본값은 `vpnclient`입니다.

```bash
sudo VPN_CLIENT_NAME='your_client_name' sh vpn.sh
```

기본적으로 클라이언트는 VPN이 활성화되어 있을 때 [Google Public DNS](https://developers.google.com/speed/public-dns/)를 사용하도록 설정됩니다. 모든 VPN 모드에 대해 사용자 지정 DNS 서버를 지정할 수 있습니다. 예:

```bash
sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh
```

기본적으로 IKEv2 클라이언트 구성을 가져올 때 비밀번호가 필요하지 않습니다. 무작위 비밀번호를 사용하여 클라이언트 구성 파일을 보호하도록 선택할 수 있습니다.

```bash
sudo VPN_PROTECT_CONFIG=yes sh vpn.sh
```
</details>
<details>
<summary>
참고용: IKEv1 및 IKEv2 매개변수 목록.
</summary>

| IKEv1 매개변수\*           | 기본값         | 사용자 지정 (환경 변수)\*\*             |
| --------------------------- | --------------------- | ---------------------------------------- |
| 서버 주소 (DNS 이름)   | -                     | 아니요, 하지만 DNS 이름을 사용하여 연결할 수 있습니다 |
| 서버 주소 (공인 IP)  | 자동 감지           | VPN_PUBLIC_IP                            |
| IPsec 사전 공유 키        | 자동 생성         | VPN_IPSEC_PSK                            |
| VPN 사용자 이름                | vpnuser               | VPN_USER                                 |
| VPN 비밀번호                | 자동 생성         | VPN_PASSWORD                             |
| 클라이언트용 DNS 서버     | Google Public DNS     | VPN_DNS_SRV1, VPN_DNS_SRV2               |
| IKEv2 설정 건너뛰기            | 아니요                    | VPN_SKIP_IKEV2=yes                       |

\* 이 IKEv1 매개변수는 IPsec/L2TP 및 IPsec/XAuth("Cisco IPsec") 모드용입니다.   
\*\* vpn(setup).sh를 실행할 때 이러한 항목을 환경 변수로 정의하십시오.

| IKEv2 매개변수\*           | 기본값         | 사용자 지정 (환경 변수)\*\* | 사용자 지정 (대화형)\*\*\* |
| --------------------------- | --------------------- | ---------------------------- | ----------------------------- |
| 서버 주소 (DNS 이름)   | -                     | VPN_DNS_NAME                 | ✅                            |
| 서버 주소 (공인 IP)  | 자동 감지           | VPN_PUBLIC_IP                | ✅                            |
| 첫 번째 클라이언트 이름        | vpnclient             | VPN_CLIENT_NAME              | ✅                            |
| 클라이언트용 DNS 서버     | Google Public DNS     | VPN_DNS_SRV1, VPN_DNS_SRV2   | ✅                            |
| 클라이언트 구성 파일 보호 | 아니요                    | VPN_PROTECT_CONFIG=yes       | ✅                            |
| MOBIKE 활성화/비활성화       | 지원되는 경우 활성화   | ❌                           | ✅                            |
| 클라이언트 인증서 유효 기간        | 10년 (120개월) | VPN_CLIENT_VALIDITY\*\*\*\*  | ✅                            |
| CA 및 서버 인증서 유효 기간   | 10년 (120개월) | ❌                           | ❌                            |
| CA 인증서 이름         | IKEv2 VPN CA          | ❌                           | ❌                            |
| 인증서 키 크기        | 3072비트             | ❌                           | ❌                            |

\* 이 IKEv2 매개변수는 IKEv2 모드용입니다.   
\*\* vpn(setup).sh를 실행할 때, 또는 자동 모드에서 IKEv2를 설정할 때(`sudo ikev2.sh --auto`) 이러한 항목을 환경 변수로 정의하십시오.   
\*\*\* 대화형 IKEv2 설정 중(`sudo ikev2.sh`)에 사용자 지정할 수 있습니다. 위의 옵션 1을 참조하십시오.   
\*\*\*\* `VPN_CLIENT_VALIDITY`를 사용하여 클라이언트 인증서 유효 기간을 개월 단위로 지정하십시오. 1에서 120 사이의 정수여야 합니다.

이러한 매개변수 외에도 고급 사용자는 VPN 설정 중에 [VPN 서브넷을 사용자 지정](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#customize-vpn-subnets)할 수 있습니다.
</details>

## 다음 단계

*다른 언어로 읽기: [English](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README.md#next-steps), [简体中文](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-zh.md#下一步), [繁體中文](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-zh-Hant.md#下一步), [日本語](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-ja.md#次のステップ), [Русский](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-ru.md#следующие-шаги).*

컴퓨터나 기기를 VPN에 연결하십시오. 다음을 참조하십시오:

**[IKEv2 VPN 클라이언트 구성 (권장)](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/ikev2-howto.md)**

**[IPsec/L2TP VPN 클라이언트 구성](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/clients.md)**

**[IPsec/XAuth("Cisco IPsec") VPN 클라이언트 구성](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/clients-xauth.md)**

**[📘 VPN 책](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/vpn-book.md)을 읽고 [추가 콘텐츠](https://ko-fi.com/post/Support-this-project-and-get-access-to-supporter-o-O5O7FVF8J)에 액세스하십시오.**

나만의 VPN을 즐기십시오! :sparkles::tada::rocket::sparkles:

## 중요 사항

**Windows 사용자**: IPsec/L2TP 모드의 경우, VPN 서버 또는 클라이언트가 NAT(예: 가정용 라우터) 뒤에 있다면 [일회성 레지스트리 변경](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/clients.md#windows-error-809)이 필요합니다.

동일한 VPN 계정을 여러 기기에서 사용할 수 있습니다. 그러나 IPsec/L2TP의 제한으로 인해 동일한 NAT(예: 가정용 라우터) 뒤에서 여러 기기를 연결하려면 [IKEv2](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/ikev2-howto.md) 또는 [IPsec/XAuth](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/clients-xauth.md) 모드를 사용해야 합니다. VPN 사용자 계정을 확인하거나 업데이트하려면 [VPN 사용자 관리](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md)를 참조하세요.

외부 방화벽이 있는 서버(예: [EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html)/[GCE](https://cloud.google.com/vpc/docs/firewalls))의 경우, VPN을 위해 UDP 포트 500 및 4500을 여세요. Aliyun 사용자는 [#433](https://github.com/hwdsl2/setup-ipsec-vpn/issues/433)을 참조하세요.

클라이언트는 VPN이 활성화된 동안 [Google Public DNS](https://developers.google.com/speed/public-dns/)를 사용하도록 설정됩니다. 다른 DNS 제공자를 선호하는 경우 [고급 사용법](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md)을 참조하세요.

커널 지원을 사용하면 IPsec/L2TP 성능이 향상될 수 있습니다. 이는 [지원되는 모든 OS](#requirements)에서 사용할 수 있습니다. Ubuntu 사용자는 `linux-modules-extra-$(uname -r)` 패키지를 설치하고 `service xl2tpd restart`를 실행해야 합니다.

스크립트는 변경을 수행하기 전에 기존 구성 파일을 `.old-date-time` 접미사와 함께 백업합니다.

## Libreswan 업그레이드

다음 원라이너를 사용하여 VPN 서버에서 [Libreswan](https://libreswan.org)([변경 로그](https://github.com/libreswan/libreswan/blob/main/CHANGES) | [공지](https://lists.libreswan.org))을 업데이트하세요.

```bash
wget https://get.vpnsetup.net/upg -O vpnup.sh && sudo sh vpnup.sh
```

<details>
<summary>
다운로드할 수 없는 경우 여기를 클릭하세요.
</summary>

`curl`을 사용하여 다운로드할 수도 있습니다:

```bash
curl -fsSL https://get.vpnsetup.net/upg -o vpnup.sh && sudo sh vpnup.sh
```

대체 업데이트 URL:

```bash
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/extras/vpnupgrade.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/extras/vpnupgrade.sh
```

다운로드할 수 없는 경우 [vpnupgrade.sh](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/extras/vpnupgrade.sh)를 열고 오른쪽의 `Raw` 버튼을 클릭하세요. `Ctrl/Cmd+A`를 눌러 전체를 선택하고, `Ctrl/Cmd+C`를 눌러 복사한 다음, 즐겨 사용하는 편집기에 붙여넣으세요.
</details>

지원되는 최신 Libreswan 버전은 `5.4.1`입니다. 설치된 버전 확인: `ipsec --version`.

**참고:** `xl2tpd`는 Ubuntu/Debian의 `apt-get`과 같은 시스템 패키지 관리자를 사용하여 업데이트할 수 있습니다.

## VPN 사용자 관리

[VPN 사용자 관리](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md)를 참조하세요.

- [도우미 스크립트를 사용하여 VPN 사용자 관리](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#manage-vpn-users-using-helper-scripts)
- [VPN 사용자 보기](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#view-vpn-users)
- [IPsec PSK 보기 또는 업데이트](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#view-or-update-the-ipsec-psk)
- [수동으로 VPN 사용자 관리](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#manually-manage-vpn-users)

## 고급 사용법

[고급 사용법](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md)을 참조하세요.

- [대체 DNS 서버 사용](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#use-alternative-dns-servers)
- [DNS 이름 및 서버 IP 변경](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#dns-name-and-server-ip-changes)
- [IKEv2 전용 VPN](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#ikev2-only-vpn)
- [IKEv2 완전 순방향 비밀성 활성화](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#enable-ikev2-perfect-forward-secrecy)
- [내부 VPN IP 및 트래픽](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#internal-vpn-ips-and-traffic)
- [VPN 서버의 공인 IP 지정](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#specify-vpn-servers-public-ip)
- [VPN 서브넷 사용자 지정](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#customize-vpn-subnets)
- [IPv6 지원](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#ipv6-support)
- [VPN 클라이언트로의 포트 포워딩](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#port-forwarding-to-vpn-clients)
- [분할 터널링](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#split-tunneling)
- [VPN 서버의 서브넷에 접근](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#access-vpn-servers-subnet)
- [서버의 서브넷에서 VPN 클라이언트에 접근](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#access-vpn-clients-from-servers-subnet)
- [IPTables 규칙 수정](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#modify-iptables-rules)
- [Google BBR 혼잡 제어 배포](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#deploy-google-bbr-congestion-control)

## VPN 제거

IPsec VPN을 제거하려면 [도우미 스크립트](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/extras/vpnuninstall.sh)를 실행하세요:

> [!CAUTION]
> 이 도우미 스크립트는 서버에서 IPsec VPN을 제거합니다. 모든 VPN 구성이 **영구적으로 삭제**되며, Libreswan과 xl2tpd가 제거됩니다. 이 작업은 **되돌릴 수 없습니다**!

```bash
wget https://get.vpnsetup.net/unst -O unst.sh && sudo bash unst.sh
```

<details>
<summary>
다운로드할 수 없는 경우 여기를 클릭하세요.
</summary>

`curl`을 사용하여 다운로드할 수도 있습니다:

```bash
curl -fsSL https://get.vpnsetup.net/unst -o unst.sh && sudo bash unst.sh
```

대체 스크립트 URL:

```bash
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/extras/vpnuninstall.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/extras/vpnuninstall.sh
```
</details>

자세한 내용은 [VPN 제거](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/uninstall.md)를 참조하세요.

## 피드백 및 질문

- 이 프로젝트에 대한 제안이 있으신가요? [개선 요청](https://github.com/hwdsl2/setup-ipsec-vpn/issues/new/choose)을 열어 주세요. [풀 리퀘스트](https://github.com/hwdsl2/setup-ipsec-vpn/pulls)도 환영합니다.
- 재현 가능한 버그를 발견하셨다면, [IPsec VPN](https://github.com/libreswan/libreswan/issues?q=is%3Aissue) 또는 [VPN 스크립트](https://github.com/hwdsl2/setup-ipsec-vpn/issues/new/choose)에 대한 버그 보고서를 열어 주세요.
- 질문이 있으신가요? 먼저 [기존 이슈](https://github.com/hwdsl2/setup-ipsec-vpn/issues?q=is%3Aissue)와 [이 Gist](https://gist.github.com/hwdsl2/9030462#comments) 및 [제 블로그](https://blog.ls20.com/ipsec-l2tp-vpn-auto-setup-for-ubuntu-12-04-on-amazon-ec2/#disqus_thread)의 댓글을 검색해 보세요.
- VPN 관련 질문은 [Libreswan](https://lists.libreswan.org) 또는 [strongSwan](https://lists.strongswan.org) 메일링 리스트에 문의하거나, 다음 위키를 참고하세요: [[1]](https://libreswan.org/wiki/Main_Page) [[2]](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-securing_virtual_private_networks) [[3]](https://wiki.strongswan.org/projects/strongswan/wiki/UserDocumentation) [[4]](https://wiki.gentoo.org/wiki/IPsec_L2TP_VPN_server) [[5]](https://wiki.archlinux.org/index.php/Openswan_L2TP/IPsec_VPN_client_setup).

## 라이선스

Copyright (C) 2014-2026 [Lin Song](https://github.com/hwdsl2) [![View my profile on LinkedIn](https://assets.kitploit.com/production/public/readmes/647/0dc41eea05dcee104e4963528568884b531a1377d69460315bc16f61eebd4bdf.png)](https://www.linkedin.com/in/linsongui)   
[Thomas Sarlandie의 작업](https://github.com/sarfata/voodooprivacy)을 기반으로 함 (Copyright 2012)

[![Creative Commons License](https://assets.kitploit.com/production/public/readmes/647/acde67df4b37d9df101d6555c669c258cea69750bc84ae2051ebec0970f706c8.png)](http://creativecommons.org/licenses/by-sa/3.0/)   
이 저작물은 [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/)에 따라 라이선스가 부여됩니다.  
저작자 표시 필수: 모든 파생 저작물에 제 이름을 포함해 주시고, 어떻게 개선하셨는지 알려 주세요!
도구 다운로드