7.5. nmcli를 사용하여 WireGuard 서버 구성
NetworkManager에서 연결 프로필을 생성하여 WireGuard 서버를 구성할 수 있습니다. NetworkManager가 WireGuard 연결을 관리하도록 하려면 이 방법을 사용합니다.
이 절차에서는 다음 설정을 가정합니다.
서버:
-
Private key:
YFAnE0psgIdiAF7XR4abxiwVRnlMfeltxu10s/c4JXg=
-
터널 IPv4 주소:
192.0.2.1/24
-
터널 IPv6 주소:
2001:db8:1::1/32
-
Private key:
클라이언트:
-
Public key:
bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM=
-
터널 IPv4 주소:
192.0.2.2/24
-
터널 IPv6 주소:
2001:db8:1::2/32
-
Public key:
사전 요구 사항
- 서버와 클라이언트 모두에 대해 공개 및 개인 키를 생성했습니다.
다음 정보를 알고 있습니다.
- 서버의 개인 키
- 클라이언트의 고정 터널 IP 주소 및 서브넷 마스크
- 클라이언트의 공개 키
- 서버의 고정 터널 IP 주소 및 서브넷 마스크
프로세스
NetworkManager WireGuard 연결 프로필을 추가합니다.
nmcli connection add type wireguard con-name server-wg0 ifname wg0 autoconnect no
# nmcli connection add type wireguard con-name server-wg0 ifname wg0 autoconnect no
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
server-wg0
이라는 프로필을 생성하고 여기에wg0
가상 인터페이스를 할당합니다. 구성을 종료하지 않고 연결을 추가한 후 연결이 자동으로 시작되지 않도록 하려면autoconnect
매개변수를 비활성화합니다.서버의 터널 IPv4 주소 및 서브넷 마스크를 설정합니다.
nmcli connection modify server-wg0 ipv4.method manual ipv4.addresses 192.0.2.1/24
# nmcli connection modify server-wg0 ipv4.method manual ipv4.addresses 192.0.2.1/24
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서버의 터널 IPv6 주소 및 서브넷 마스크를 설정합니다.
nmcli connection modify server-wg0 ipv6.method manual ipv6.addresses 2001:db8:1::1/32
# nmcli connection modify server-wg0 ipv6.method manual ipv6.addresses 2001:db8:1::1/32
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 연결 프로필에 서버의 개인 키를 추가합니다.
nmcli connection modify server-wg0 wireguard.private-key "YFAnE0psgIdiAF7XR4abxiwVRnlMfeltxu10s/c4JXg="
# nmcli connection modify server-wg0 wireguard.private-key "YFAnE0psgIdiAF7XR4abxiwVRnlMfeltxu10s/c4JXg="
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 들어오는 WireGuard 연결의 포트를 설정합니다.
nmcli connection modify server-wg0 wireguard.listen-port 51820
# nmcli connection modify server-wg0 wireguard.listen-port 51820
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 들어오는 WireGuard 연결을 수신하는 호스트에 항상 고정 포트 번호를 설정합니다. 포트를 설정하지 않으면 WireGuard는
wg0
인터페이스를 활성화할 때마다 임의의 무료 포트를 사용합니다.이 서버와 통신할 수 있도록 허용할 각 클라이언트에 대해 피어 구성을 추가합니다.
nmcli
유틸리티는 해당 연결 속성 설정을 지원하지 않으므로 이러한 설정을 수동으로 추가해야 합니다./etc/NetworkManager/system-connections/server-wg0.nmconnection
파일을 편집하고 추가합니다.[wireguard-peer.bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM=] allowed-ips=192.0.2.2;2001:db8:1::2;
[wireguard-peer.bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM=] allowed-ips=192.0.2.2;2001:db8:1::2;
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
[wireguard-peer. <public_key_of_the_client>]
항목은 클라이언트의 피어 섹션을 정의하고 섹션 이름은 클라이언트의 공개 키를 포함합니다. allowed-ips
매개변수는 이 서버에 데이터를 전송할 수 있는 클라이언트의 터널 IP 주소를 설정합니다.각 클라이언트에 대한 섹션을 추가합니다.
-
server-wg0
연결 프로필을 다시 로드합니다.nmcli connection load /etc/NetworkManager/system-connections/server-wg0.nmconnection
# nmcli connection load /etc/NetworkManager/system-connections/server-wg0.nmconnection
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
선택 사항: 연결을 자동으로 시작하도록 구성합니다.
nmcli connection modify server-wg0 autoconnect yes
# nmcli connection modify server-wg0 autoconnect yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow server-wg0
연결을 다시 활성화합니다.nmcli connection up server-wg0
# nmcli connection up server-wg0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - DHCP 또는 SLAAC(상태 비저장 주소 자동 구성)가 있는 네트워크에서 이 호스트를 사용하는 경우 연결이 리디렉션될 수 있습니다. 자세한 내용 및 완화 단계는 연결이 터널을 우회하지 못하도록 전용 라우팅 테이블에 VPN 연결 할당을 참조하십시오.
검증
wg0
장치의 인터페이스 구성을 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 개인 키를 표시하려면
WG_HIDE_KEYS=never show wg0
명령을 사용합니다.wg0
장치의 IP 구성을 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow