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이 명령은
server-wg0이라는 프로필을 생성하고 여기에wg0가상 인터페이스를 할당합니다. 구성을 종료하지 않고 연결을 추가한 후 연결이 자동으로 시작되지 않도록 하려면autoconnect매개변수를 비활성화합니다.서버의 터널 IPv4 주소 및 서브넷 마스크를 설정합니다.
# nmcli connection modify server-wg0 ipv4.method manual ipv4.addresses 192.0.2.1/24서버의 터널 IPv6 주소 및 서브넷 마스크를 설정합니다.
# nmcli connection modify server-wg0 ipv6.method manual ipv6.addresses 2001:db8:1::1/32연결 프로필에 서버의 개인 키를 추가합니다.
# nmcli connection modify server-wg0 wireguard.private-key "YFAnE0psgIdiAF7XR4abxiwVRnlMfeltxu10s/c4JXg="들어오는 WireGuard 연결의 포트를 설정합니다.
# nmcli connection modify server-wg0 wireguard.listen-port 51820들어오는 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. <public_key_of_the_client>]항목은 클라이언트의 피어 섹션을 정의하고 섹션 이름은 클라이언트의 공개 키를 포함합니다. allowed-ips매개변수는 이 서버에 데이터를 전송할 수 있는 클라이언트의 터널 IP 주소를 설정합니다.각 클라이언트에 대한 섹션을 추가합니다.
-
server-wg0연결 프로필을 다시 로드합니다.# nmcli connection load /etc/NetworkManager/system-connections/server-wg0.nmconnection
선택 사항: 연결을 자동으로 시작하도록 구성합니다.
# nmcli connection modify server-wg0 autoconnect yesserver-wg0연결을 다시 활성화합니다.# nmcli connection up server-wg0- DHCP 또는 SLAAC(상태 비저장 주소 자동 구성)가 있는 네트워크에서 이 호스트를 사용하는 경우 연결이 리디렉션될 수 있습니다. 자세한 내용 및 완화 단계는 연결이 터널을 우회하지 못하도록 전용 라우팅 테이블에 VPN 연결 할당을 참조하십시오.
검증
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 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 brd 192.0.2.255 scope global noprefixroute wg0 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::3ef:8863:1ce2:844/64 scope link noprefixroute valid_lft forever preferred_lft forever