안녕하세요. 달소입니다.
저번에 WIreguard에 대해서 간단하게 알아봤었는데요
이번에는 Ubuntu 환경에서 Docker를 통해서 Wireguard를 직접 구축해보겠습니다.
아무래도 Docker로 구축했을때의 장점은 무엇보다 편의성입니다.
아래 과정들을 따라하신다면 쉽게 구축하실거라 생각하니 안되시면 댓글남겨주세요~Ubuntu 20.04 Docker 설치하기. 이번에는 Ubuntu 20.04 LTS Server 버전에서 Docker 설치를 한번 진행해보겠습니다. 설치방법은 매…달소 | 2021.01.15
도커 Image
사용할 도커이미지는 linuxserver의 wireguard 입니다
https://hub.docker.com/r/linuxserver/wireguardDocker Hubub.docker.com
매개편수 및 기타옵션은 Docker Hub에서 보시면 됩니다
도커 컨테이너 만들기
먼저 wireguard의 데이터를 저장할 디렉터리를 먼저 생성해주겠습니다.
mkdir -p /data/wireguard/config
이렇게 볼륨매칭을 시켜줘야 컨테이너를 삭제하고 재생성할때에도 데이터가 유지됩니다.
컨테이너 생성은 아래 명령어로하나 [공인ip/ddns], 외부포트 부분은 사용자에 맞게 수정해주시면됩니다.
sudo docker create \
–name=wireguard \
–cap-add=NET_ADMIN \
–cap-add=SYS_MODULE \
-e PUID=$UID \
-e PGID=$(id -g $USER) \
-e TZ=Asia/Seoul \
-e SERVERURL=[공인ip/DDNS] \
-e SERVERPORT=[외부포트] \
-e PEERS=10 \
-e PEERDNS=’8.8.8.8′ \
-e INTERNAL_SUBNET=10.10.0.0 \
-p [외부포트]:51820/udp \
-v /data/wireguard/config:/config \
-v /lib/modules:/lib/modules \
–sysctl=”net.ipv4.conf.all.src_valid_mark=1″ \
–restart unless-stopped \
linuxserver/wireguard
저는 외부포트로 51820을 사용하니 공유기 or 방화벽에서도 동일하게 포트포워딩 설정을해주면됩니다.
이제 생성한 컨테이너를 생성해주세요.
docker start wireguard
실행후에 /data/wireguard/config 아래로 들어가보면 아래처럼 peer가 순서대로있는걸 보실수있습니다.
환경변수에서 peer수를 설정해준만큼 생성이 되고
여기서 peer1.conf의 내용을 클라이언트에 복붙하거나 png파일의 qr코드를 찍으면 바로 연동됩니다.
Wire Guard 접속하기.(Windows)
공식홈페이지에서 다운로드받으면 됩니다.
위 복사했던 내용을 그대로 복붙해주세요.
내부망 연결도 잘 되는걸 확인할 수 있습니다.