배우고 익힘/서버

개초보가 우분투에 wireguard 설치하기

White smoke 2022. 2. 18. 20:04

리눅스도 완전 개초보인데 여기에 VPN을 설치하자니 개삽질을 하다가 몇 시간을 날려먹은지 모르겠다. 2일은 날려 먹은 듯. 삽질하다가 답을 찾았다.

설치방법

기본적으로 아래의 사이트대로 하면 끝나는데 몇 가지 설정을 해줘야 한다.
https://adamtheautomator.com/wireguard-vpn/#Configuring_the_WireGuard_VPN_Server

 

How To Set Up WireGuard VPN on Linux

Learn how to set up WireGuard VPN on Linux to securely connect and access your network, in this step-by-step tutorial!

adamtheautomator.com

잘 안되면 아래의 블로그를 참조한다. 내가 찾은 가장 상세한 설명을 하신 분이다.

Wireguard 설치/설정 : Ubuntu/Openwrt/Android/iOS – 바깥 세상으로 (nemonein.xyz)

 

Wireguard 설치/설정 : Ubuntu/Openwrt/Android/iOS – 바깥 세상으로

 

www.nemonein.xyz

발생한 문제점

나는 아이피타임 공유기를 사용하고, 공유기에 컴터 2대를 연결해서 인터넷을 사용하고 있는 상태.
Wireguard를 서버로 사용할 우분투 PC에 설치. 랩탑 윈도우용 클라이언트에서 연결을 시도하면 연결은 되는데 handshaking이 안됨. Wireguard를 연결하고나면 클라이언트에서 인터넷 연결이 안됨. 우분투 서버는 인터넷이 잘 됨.

해결방법

서버측의 wg0.conf 파일을 작성할 때 아래의 정보를 입력

[Interface]
Address = 10.0.0.1/24 //여기는 아무렇게나 해도 괜찮은 듯. 실제 사용중인 내부IP를 입력하는 게 아님. 가상의 IP를 구성하는 개념인듯
ListenPort = 59800 //여기도 아무렇게나 해도 괜찮음. 알려주는대로 따라하면 됨. 가이드마다 다 다름.
PrivateKey = 서버의 키

[Peer]
PublicKey = 클라이언트에서 생성된 키
AllowedIPs = 10.0.0.2/24  //위에랑 안겹치게 하면 됨

그 다음 윈도우 클라이언트 측의 정보

[Interface]
PrivateKey = 클라이언트의 키. 자체생성 됨. 손댈 필요가 없음.
Address = 10.0.0.2/32 //서버측에서 정한걸 적음. 근데 여기는 뒤에 32를 붙이는데 잘 모름.
DNS = 192.168.0.1  // 이걸 안쓰니깐 인터넷이 안됐었음. 크......

[Peer]
PublicKey = 서버측의 키
AllowedIPs = 0.0.0.0/0  //서버의 IP를 사용하게 된다고 한다. 와일드카드라고 하는데 잘 모름.
Endpoint = x.x.x.x:59800  //여기 IP를 적을 때 서버의 내부 public ip를 적어야 됐음. 192.168.0.1을 적어두고 왜 안되는지 계속 인터넷 삼매경했었네..........

 

우연찮게 아래 블로그의 글을 보다가 캡춰된 사진이 있어서 깨달음을 얻었네.
https://qsurf.tistory.com/5