개인마다 로컬 환경, 라우터, 설정 등등이 각자 다르기 때문에 환경에 따른 세세한 설정을 제어하기 어렵다.
따라서 VPN을 이용해 네트워크 환경을 추상화하고 Oracle / AWS 환경과 통신을 수행할 때는 VPN Server를 Gateway로써 거치도록 설정할 것이다.
ssh ubuntu@[인스턴스 Public ip]
## 퍼블릭 키를 다운로드 했을 경우
ssh ubuntu@[인스턴스 Public ip] -i ~/Downloads/[퍼블릭 키 파일]
접속됐다면 아래와 같은 화면이 나올 것이다.

sudo sysctl -w net.ipv4.conf.all.src_valid_mark=1
sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -p
sudo apt update
sudo apt install -y netfilter-persistent
sudo iptables -X
sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo netfilter-persistent save
sudo netfilter-persistent reload
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $(whoami)
설치 후, sudo 없이 docker command 사용을 위해서 현재 ssh 세션 로그아웃 후에 다시 진입해야 한다.
# your_password에 사용할 패스워드 입력
sudo apt install apache2-utils -y
PUBLIC_IP=$(curl ifconfig.me)
PASSWORD=$(htpasswd -bnBC 10 "" your_password | tr -d ':\n')
docker run --detach \
--network host \
--name wg-easy \
--env WG_DEFAULT_ADDRESS=10.200.1.x \
--env LANG=ko \
--env WG_HOST=$PUBLIC_IP \
--env WG_ALLOWED_IPS=10.200.0.0/16,10.100.0.0/16 \
--env PASSWORD_HASH=$PASSWORD \
--env WG_PERSISTENT_KEEPALIVE="30" \
--env WG_DEFAULT_DNS="" \
--env PORT=51821 \
--env WG_PORT=51820 \
--cap-add NET_ADMIN \
--cap-add SYS_MODULE \
--volume ~/.wg-easy:/etc/wireguard \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy:14
정상적으로 진행이 됐다면 아래와 같은 화면이 나올 것이다.

http://<Gateway Public IP>:51821 로 접속하여 위에서 설정한 password로 로그인Oracle Cloud 환경 구성 중 Reserve public IP address에서 발급한 Reserved public IP값을 확인하기
Gateway VM에 접속해서 curl ifconfig.me 값을 확인하기
로그인 했다면 다음과 같이 클라이언트를 생성하면 된다.
