HomeLAB 구성하기 - 2

김명주·2025년 5월 18일

VPN 구성하기

개인마다 로컬 환경, 라우터, 설정 등등이 각자 다르기 때문에 환경에 따른 세세한 설정을 제어하기 어렵다.
따라서 VPN을 이용해 네트워크 환경을 추상화하고 Oracle / AWS 환경과 통신을 수행할 때는 VPN Server를 Gateway로써 거치도록 설정할 것이다.

ubuntu 접속

  1. 먼저 자신이 설정한 인스턴스에 접속이 되는지 확인을 해야한다.
ssh ubuntu@[인스턴스 Public ip]
## 퍼블릭 키를 다운로드 했을 경우
ssh ubuntu@[인스턴스 Public ip] -i ~/Downloads/[퍼블릭 키 파일]

접속됐다면 아래와 같은 화면이 나올 것이다.

  1. 커널 설정 및 iptables 초기화
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
  1. Docker 설치
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $(whoami)

설치 후, sudo 없이 docker command 사용을 위해서 현재 ssh 세션 로그아웃 후에 다시 진입해야 한다.

  1. Wireguard 실행
# 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

정상적으로 진행이 됐다면 아래와 같은 화면이 나올 것이다.

  1. 클라이언트 생성
    http://<Gateway Public IP>:51821 로 접속하여 위에서 설정한 password로 로그인
    Public IP를 획득하는 방법은 다음과 같다.
  • Oracle Cloud 환경 구성 중 Reserve public IP address에서 발급한 Reserved public IP값을 확인하기

  • Gateway VM에 접속해서 curl ifconfig.me 값을 확인하기

    로그인 했다면 다음과 같이 클라이언트를 생성하면 된다.

profile
개발자를 향해 달리는 사람

0개의 댓글