WireGuard

client와 server 둘 다 WireGuard를 설치해준다.

sudo apt update
sudo apt install -y wireguard

private key와 public key를 생성해주겠다.

# private.key 생성
wg genkey | sudo tee /etc/wireguard/private.key
sudo chmod go= /etc/wireguard/private.key

# public.key 생성
sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key

이제 IP를 할당해주어야 한다. 우리는 내부망, 외부망 2개의 IP를 사용할 것이기 때문에 VM Net에서 VMnet9에 host-only 설정을 해주고 connect a host virtual adapter to this network 항목 선택을 해제해준다. NAT에는 외부망 IP를 적어주고 custom에는 내부망 IP를 적어준다.

image.png

이제 network adapter를 생성해주면 된다.

image.png

마지막으로 ip 할당을 해줄 것인데 외부망은 192.168.2.0/24, 내부망은 10.0.10.0/24 대역으로 지정해주겠다.

sudo vi /etc/network/interfaces

### vi ###
auto ens33 ens36
iface ens33 inet dhcp

iface ens36 inet static
	address 10.0.10.3/24
### vi ###

sudo systemctl restart networking
sudo systemctl status networking

이제 sysctl.conf에서 네트워크 구성을 조정할 것인데 아래 내용의 주석만 제거해주면 된다.

sudo vi /etc/sysctl.conf

### vi ###
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
### vi ###

sudo sysctl -p

client에서도 설정을 하자. 먼저 “Add Tunnel” 옆 화살표를 누르고 “Add empty tunnel…”을 누른 후 save를 누른다.

image.png