don't stop believing

openvpn-monitor 설치 본문

Tools/OpenVPN

openvpn-monitor 설치

Tongchun 2018. 9. 5. 17:23

현재 VPN에 접속하고 있는 세션을 확인하고 싶어 찾아보던 중 괜찮은 툴이 있어 설치해 봅니다.

https://github.com/furlongm/openvpn-monitor


웹 서버로 지원되는 툴입니다.

바로 설치해 봅시다.


구성은 apache로 하겠습니다. openvpn-monitor는 openven 서버에 설치합니다.


제일먼저 openvpn-monitor가 사용하는 패키지들을 설치해 줍니다.

$ sudo apt-get -y install python-geoip python-ipaddr python-humanize python-bottle python-semantic-version apache2 libapache2-mod-wsgi git wget geoip-database-extra

그리고 /var/www/html로 이동해 openvpn-monitor를 다운받습니다.

$ cd /var/www/html
$ sudo git clone https://github.com/furlongm/openvpn-monitor.git

apache2와 openvpn-monitor를 연결해 줍니다.

$ sudo bash -c 'echo "WSGIScriptAlias /openvpn-monitor /var/www/html/openvpn-monitor/openvpn-monitor.py" > /etc/apache2/conf-available/openvpn-monitor.conf'

apache2의 환경설정도 잡아줍니다.

$ sudo a2enconf openvpn-monitor


openvpn의 데이터를 apache 서버가 받아 웹으로 보여주게 됩니다.

openvpn의 server.conf 파일에 management 설정을 추가합니다.

server.conf 파일을 열고...

$ sudo vim /etc/openvpn/server.conf

마지막 라인에 아래와 같이 추가합니다.

management <openvpn 서버의 내부 IP> 5555

# openvpn-monitor
management 192.168.0.185 5555

server.conf 파일을 저장하고 openvpn을 재시작 해줍니다.

$ sudo systemctl restart openvpn@server

참고로 management 설정을 추가하면 telnet으로 openvpn의 상태 점검을 할 수 있습니다.

telnet 192.168.0.185 5555


이번에는 openven-monitor의 설정을 잡을 차례입니다.

sample 설정파일을 복사해 새로 만들어 줍니다.

$ cd /var/www/html/openvpn-monitor
$ sudo cp openvpn-monitor.conf.example openvpn-monitor.conf

openvpn-monitor.conf 파일을 열고 아래와 같이 수정합니다.

$ sudo vim openvpn-monitor.conf

수정해야 할 것은 site 명, 회사의 좌표(위도, 경도), datetime도 우리가 보기좋게 바꿔주고, 

host는 openvpn 서버의 ip로 수정합니다.

[openvpn-monitor]
site=nGle
#logo=logo.jpg
latitude=37.411293
longitude=127.094373
maps=True
geoip_data=/usr/share/GeoIP/GeoIPCity.dat
datetime_format=%Y-%m-%d %H:%M:%S

[VPN1]
host=192.168.0.185
port=5555
name=Staff VPN
show_disconnect=False

openvpn-monitor.conf 파일을 저장하고 나옵니다.


이제 apache 서버를 재시작 해줍니다.

$ sudo systemctl restart apache2

reboot 후에도 자동으로 실행되도록 설정도 해줍니다.

$ sudo systemctl enable apache2

바로 웹서버를 열면 보이지 않을 겁니다. 방화벽 설정이 되어 있거든요.

방화벽에 80 포트와 5555 포트도 추가해 줍니다.

$ sudo ufw allow 80
$ sudo ufw allow 5555

추가했다면 방화벽을 재실행 합니다.

$ sudo ufw disable
$ sudo ufw enable

자, 이제 설정이 완료되었습니다.

브라우저를 열고 아래와 같이 접속합니다.

http://<openvpn-monitor ip>/openvpn-monitor


저는 먼저 tongchun 계정으로 VPN에 접속했으며 아래와 같이 보입니다.

여기까지 openvpn-monitor 설치였습니다.


Comments