8.8. wg-quick 서비스를 사용하여 Wire>-< 서버 구성
/etc/wireguard/
디렉토리에 구성 파일을 생성하여 Wire>-< 서버를 구성할 수 있습니다. 이 방법을 사용하여 NetworkManager와 독립적으로 서비스를 구성합니다.
이 절차에서는 다음 설정을 가정합니다.
서버:
-
개인 키:
YFAnE0psgIdiAF7XR4abxiwVRnlMfeltxu10s/c4JXg=
-
터널 IPv4 주소:
192.0.2.1/24
-
터널 IPv6 주소:
2001:db8:1::1/32
-
개인 키:
클라이언트:
-
Public key:
bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM=
-
터널 IPv4 주소:
192.0.2.2/24
-
터널 IPv6 주소:
2001:db8:1::2/32
-
Public key:
사전 요구 사항
- 서버와 클라이언트 모두에 대해 공개 및 개인 키를 생성했습니다.
다음 정보를 알고 있습니다.
- 서버의 개인 키
- 클라이언트의 고정 터널 IP 주소 및 서브넷 마스크
- 클라이언트의 공개 키
- 서버의 고정 터널 IP 주소 및 서브넷 마스크
절차
wireguard-tools
패키지를 설치합니다.# dnf install wireguard-tools
다음 콘텐츠로
/etc/wireguard/wg0.conf
파일을 만듭니다.[Interface] Address = 192.0.2.1/24, 2001:db8:1::1/32 ListenPort = 51820 PrivateKey = YFAnE0psgIdiAF7XR4abxiwVRnlMfeltxu10s/c4JXg= [Peer] PublicKey = bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM= AllowedIPs = 192.0.2.2, 2001:db8:1::2
[Interface]
섹션은 서버의 인터페이스의 WireECDHE 설정을 설명합니다.-
address
: 서버의 터널 IP 주소 쉼표로 구분된 목록입니다. -
privateKey
: 서버의 개인 키입니다. ListenPort
: WireGuard가 들어오는 UDP 연결을 수신 대기하는 포트입니다.수신되는 WireGuard 연결을 수신하는 호스트에 항상 고정 포트 번호를 설정합니다. 포트를 설정하지 않으면 WireECDHE는
wg0
인터페이스를 활성화할 때마다 임의의 무료 포트를 사용합니다.
-
각
[Peer]
섹션은 하나의 클라이언트 설정을 설명합니다.-
publickey
: 클라이언트의 공개 키. -
AllowedIPs
: 이 서버에 데이터를 보낼 수 있는 클라이언트의 터널 IP 주소입니다.
-
WireGuard 연결을 활성화하고 시작합니다.
# systemctl enable --now wg-quick@wg0
systemd 인스턴스 이름은
.conf
접미사가 없는/etc/wireguard/
디렉토리의 구성 파일 이름과 일치해야 합니다. 또한 서비스는 가상 네트워크 인터페이스에 이 이름을 사용합니다.
검증
wg0
장치의 인터페이스 구성을 표시합니다.# wg show wg0 interface: wg0 public key: UtjqCJ57DeAscYKRfp7cFGiQqdONRn69u249Fa4O6BE= private key: (hidden) listening port: 51820 peer: bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM= allowed ips: 192.0.2.2/32, 2001:db8:1::2/128
출력에 개인 키를 표시하려면
WG_HIDE_KEYS=never wg show wg0
명령을 사용합니다.wg0
장치의 IP 구성을 표시합니다.# ip address show wg0 20: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000 link/none inet 192.0.2.1/24 scope global wg0 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/32 scope global valid_lft forever preferred_lft forever
추가 리소스
-
wg(8)
매뉴얼 페이지 -
wg-quick(8)
매뉴얼 페이지