서버

[ubuntu] 쉽게 openvpn 서버 생성 / 접속

for2gles 2023. 6. 29. 02:23
반응형

https://github.com/Nyr/openvpn-install

 

GitHub - Nyr/openvpn-install: OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora

OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora - GitHub - Nyr/openvpn-install: OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linu...

github.com

여기에 쉽게 사용할 수 있도록 능력자분이 쉘스크립트를 만들어주셨다

간단하게

cd ~
wget https://git.io/vpn -O openvpn-install.sh
sudo bash openvpn-install.sh

아이피선택해라

UDP/TCP 선택해라

포트 정해라

DNS서버 선택해라

최초유저 이름 정해라

엔터엔터 몇번이면 순식간에 끝나고

 

/root/최초유저이름.ovpn 파일을 생성해준다.

이 파일을 다운받아서 클라이언트 설정해줄 서버로 파일을 옮겨준다.

클라이언트서버에

sudo apt-get install openvpn

를 통해서 설치해주고

sudo openvpn --config 옮긴ovpn파일경로및파일

이렇게 해주면 컨트롤 c눌렀을 때 vpn이 해제되고

sudo openvpn --config 옮긴ovpn파일경로및파일 --daemon

이러면 백그라운드에서 데몬으로 돌아간다.

문제가 생겨 vpn을 꺼야할때는

ps aux | grep openvpn

를 통해 PID를 찾아주고(두번째열)

sudo kill -9 PID

 

ChatGPT는 systemd로 만들어 사용할것을 추천해줬다.

 

openvpn을 systemd 서비스로 설정하여 부팅 시 자동으로 시작하도록 설정하는 것입니다. 이렇게 하려면 다음 단계를 따르면 됩니다:
/etc/systemd/system/ 경로에 새 systemd 서비스 파일을 생성합니다. 예를 들어, openvpn@myvpn.service라는 이름으로 생성할 수 있습니다. 파일 이름에 @를 포함하는 것은 이 서비스가 인스턴스화 가능한 서비스임을 의미하며, 즉, 여러 인스턴스를 실행할 수 있습니다.
sudo nano /etc/systemd/system/openvpn@.service
다음 내용을 파일에 입력합니다:
```
[Unit]
Description=OpenVPN connection to %i
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/sbin/openvpn --config /etc/openvpn/%i.conf
Restart=on-failure
RestartSec=3
LimitNPROC=10

[Install]
WantedBy=multi-user.target
```
이 설정은 openvpn을 실행하고, 네트워크 연결이 사용 가능해지면 자동으로 시작하도록 설정합니다. 또한, openvpn 프로세스가 실패하면 재시작하도록 설정합니다.
systemd를 새로운 서비스 파일에 대해 알리기 위해 systemd를 다시 로드합니다:
sudo systemctl daemon-reload

이제 VPN 연결을 시작하려면 다음 명령어를 사용합니다:
sudo systemctl start openvpn@myvpn

VPN 연결을 종료하려면 다음 명령어를 사용합니다:
sudo systemctl stop openvpn@myvpn

VPN 연결이 시스템 부팅 시 자동으로 시작되도록 하려면 다음 명령어를 사용합니다:
sudo systemctl enable openvpn@myvpn

여기서 myvpn은 /etc/openvpn/ 디렉토리에 있는 VPN 구성 파일의 이름입니다. 이 이름을 실제 VPN 구성 파일 이름으로 바꾸어야 합니다. /root/{이름}.ovpn 파일을 사용하려면, 이 파일을 /etc/openvpn/{이름}.conf로 복사하고, myvpn을 {이름}로 바꾸면 됩니다.
이러한 설정은 시스템이 부팅될 때마다 openvpn을 자동으로 실행하며, 서버가 중단되더라도 자동으로 재시작하게 됩니다.
반응형