웹사이트 검색

WireGuard - 빠르고 현대적이며 안전한 Linux용 VPN 터널


WireGuard는 최첨단 암호화를 사용하는 현대적이고 안전한 크로스 플랫폼 범용 VPN 구현입니다. 이는 IPsec보다 빠르고 단순하며 간결하고 기능적인 것을 목표로 하며 OpenVPN보다 더 높은 성능을 제공할 계획입니다.

다양한 상황에서 사용하도록 설계되었으며 임베디드 인터페이스, 완전히 로드된 백본 라우터 및 슈퍼컴퓨터에 배포할 수 있습니다. Linux, Windows, macOS, BSD, iOS 및 Android 운영 체제에서 실행됩니다.

추천 자료: 평생 구독이 가능한 최고의 VPN 서비스 13개

SSH처럼 구성 및 배포가 쉽고 단순함을 목표로 하는 매우 기본적이면서도 강력한 인터페이스를 제공합니다. 주요 기능에는 간단한 네트워크 인터페이스, 암호화 키 라우팅, 내장 로밍 및 컨테이너 지원이 포함됩니다.

이 글을 쓰는 시점에는 개발이 한창이라는 점에 유의하세요. 일부 부분은 안정적인 1.0 릴리스를 위해 작업 중이고 다른 부분은 이미 준비되어 있습니다(잘 작동 중).

이 문서에서는 Linux에서 WireGuard를 설치하고 구성하여 두 Linux 호스트 간에 VPN 터널을 만드는 방법을 알아봅니다.

테스트 환경

이 가이드의 설정(호스트 이름 및 공용 IP)은 다음과 같습니다.

Node 1 : tecmint-appserver1: 		10.20.20.4
Node 2 : tecmint-dbserver1: 		10.20.20.3

Linux 배포판에 WireGuard를 설치하는 방법

두 노드에 로그인하고 다음과 같이 Linux 배포판에 적합한 명령을 사용하여 WireGuard를 설치합니다.

RHEL 8에 WireGuard 설치

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
sudo yum copr enable jdoss/wireguard
sudo yum install wireguard-dkms wireguard-tools

CentOS 8에 WireGuard 설치

sudo yum install epel-release
sudo yum config-manager --set-enabled PowerTools
sudo yum copr enable jdoss/wireguard
sudo yum install wireguard-dkms wireguard-tools

RHEL/CentOS 7에 WireGuard 설치

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
sudo yum install wireguard-dkms wireguard-tools

Fedora에 WireGuard 설치

sudo dnf install wireguard-tools

데비안에 WireGuard 설치

echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
apt update
apt install wireguard

우분투에 WireGuard 설치

sudo add-apt-repository ppa:wireguard/wireguard
sudo apt-get update
sudo apt-get install wireguard

OpenSUSE에 WireGuard 설치

sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
sudo zypper install wireguard-kmp-default wireguard-tools

두 Linux 호스트 간에 WireGuard VPN 터널 구성

두 노드 모두에서 wireguard 설치가 완료되면 노드를 재부팅하거나 두 노드 모두에서 다음 명령을 사용하여 Linux 커널에서 wireguard 모듈을 추가할 수 있습니다.

sudo modprobe wireguard
OR
modprobe wireguard

다음으로, 표시된 대로 두 노드 모두에서 wg 유틸리티를 사용하여 base64로 인코딩된 공개 및 개인 키를 생성합니다.

---------- On Node 1 ---------- 
umask 077
wg genkey >private_appserver1

---------- On Node 2 ----------
umask 077
wg genkey >private_dbserver1
wg pubkey < private_dbserver1

다음으로 아래와 같이 피어의 wiregaurd에 대한 네트워크 인터페이스(예: wg0)를 생성해야 합니다. 그런 다음 생성된 새 네트워크 인터페이스에 IP 주소를 할당합니다(이 가이드에서는 192.168.10.0/24 네트워크를 사용합니다).

---------- On Node 1 ---------- 
sudo ip link add dev wg0 type wireguard
sudo ip addr add 192.168.10.1/24 dev wg0

---------- On Node 2 ----------
sudo ip link add dev wg0 type wireguard
sudo ip addr add 192.168.10.2/24 dev wg0

피어에 연결된 네트워크 인터페이스와 해당 IP 주소를 보려면 다음 IP 명령을 사용하십시오.

ip ad

다음으로 각 피어의 개인 키를 wg0 네트워크 인터페이스에 할당하고 표시된 대로 인터페이스를 불러옵니다.

---------- On Node 1 ---------- 
sudo wg set wg0 private-key ./private_appserver1
sudo ip link set wg0 up

---------- On Node 2 ----------
sudo wg set wg0 private-key ./private_dbserver1
sudo ip link set wg0 up

이제 두 링크가 각각 연결된 개인 키와 함께 작동하므로 인수 없이 wg 유틸리티를 실행하여 피어에서 WireGuard 인터페이스 구성을 검색합니다. 그런 다음 다음과 같이 Wireguard VPN 터널을 생성합니다.

피어(공개 키), allowed-ips(네트워크/서브넷 마스크) 및 엔드포인트(공개 IP:포트)는 반대 피어에 속합니다. .

----------  On Node1 (Use the IPs and Public Key of Node 2) ---------- 
sudo wg
sudo wg set wg0 peer MDaeWgZVULXP4gvOj4UmN7bW/uniQeBionqJyzEzSC0= allowed-ips 192.168.10.0/24  endpoint  10.20.20.3:54371

----------  On Node2 (Use the IPs and Public Key of Node 1) ----------
sudo wg
sudo wg set wg0 peer 6yNLmpkbfsL2ijx7z996ZHl2bNFz9Psp9V6BhoHjvmk= allowed-ips 192.168.10.0/24 endpoint  10.20.20.4:42930

Linux 시스템 간 WireGuard VPN 터널 테스트

Wireguard VPN 터널이 생성되면 Wireguard 네트워크 인터페이스의 주소를 사용하여 반대 피어를 ping합니다. 그런 다음 wg 유틸리티를 다시 한 번 실행하여 표시된 대로 피어 간의 핸드셰이크를 확인합니다.

---------- On Node 1 ----------
ping 192.168.10.2
sudo wg

---------- On Node 2 ----------
ping 192.168.10.1
sudo wg

지금은 그게 다야! WireGuard는 현대적이고 안전하며 단순하면서도 강력하고 구성하기 쉬운 미래형 VPN 솔루션입니다. 엄청난 개발이 진행 중이므로 작업이 진행 중입니다. 특히 WireGuard 홈페이지에서 내부 작동 및 기타 구성 옵션에 대한 자세한 정보를 얻을 수 있습니다.