VPN: Difference between revisions
| Line 169: | Line 169: | ||
*) do_usage; exit 1 ;; | *) do_usage; exit 1 ;; | ||
esac</pre> | esac</pre> | ||
Start Service Automatically | |||
<pre>sudo chmod +x /etc/init.d/pia | |||
sudo update-rc.d pia defaults 98</pre> | |||
Service can now be started and stopped normally | |||
<pre> | |||
sudo service pia stop | |||
sudo service pia start | |||
</pre> | |||
Revision as of 20:30, 22 December 2024
PIA and OpenVPN
Install OpenVPN
sudo apt-get install openvpn unzip -y cd /etc/openvpn
Download Private Internet Access
sudo wget --no-check-certificate https://www.privateinternetaccess.com/openvpn/openvpn.zip sudo unzip openvpn.zip ls -lh
Pick a Country to use as Primary VPN
cp spain.ovpn spain_bp.ovpn vi spain_bp.ovpn
At the end of the file, add Routes to the Local Networks (if needed)
route 192.168.1.0 255.255.255.0 net_gateway route 192.168.2.0 255.255.255.0 net_gateway
Add Credentials to Login.txt file
sudo vi /etc/openvpn/login.txt
In this format:
username password
Limit access to login file
sudo chmod 700 /etc/openvpn/login.txt
Add nameservers to DNS (if needed)
echo "nameserver 8.8.8.8" | sudo tee -a /etc/resolv.conf echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf sudo chattr +i /etc/resolve.conf
At this point, you should be able to test with:
sudo openvpn --config /etc/openvpn/spain_bp.ovpn --auth-user-pass /etc/openvpn/login.txt
And then to test that your network providers IP is hidden:
wget http://ipinfo.io/ip -qO -
Start PIA via Service
sudo /etc/init.d/pia
Add the following:
#!/bin/sh
### BEGIN INIT INFO
# Provides: OpenVPN Autoconnect
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OpenVPN Autoconnect
# Description: OpenVPN Autoconnect
### END INIT INFO
# Documentation available at
# http://refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html
# Debian provides some extra functions though
. /lib/lsb/init-functions
DAEMON_NAME="openvpnauto"
DAEMON_USER=root
DAEMON_PATH="/usr/sbin/openvpn"
DAEMON_OPTS="--config /etc/openvpn/spain_bp.ovpn --auth-user-pass /etc/openvpn/login.txt"
DAEMON_PWD="/etc/openvpn"
DAEMON_DESC=$(get_lsb_header_val $0 "Short-Description")
DAEMON_PID="/var/run/${DAEMON_NAME}.pid"
DAEMON_NICE=0
DAEMON_LOG='/var/log/openvpnauto.log'
[ -r "/etc/default/${DAEMON_NAME}" ] && . "/etc/default/${DAEMON_NAME}"
do_start() {
local result
pidofproc -p "${DAEMON_PID}" "${DAEMON_PATH}" > /dev/null
if [ $? -eq 0 ]; then
log_warning_msg "${DAEMON_NAME} is already started"
result=0
else
log_daemon_msg "Starting ${DAEMON_DESC}" "${DAEMON_NAME}"
touch "${DAEMON_LOG}"
chown $DAEMON_USER "${DAEMON_LOG}"
chmod u+rw "${DAEMON_LOG}"
if [ -z "${DAEMON_USER}" ]; then
start-stop-daemon --start --quiet --oknodo --background \
--nicelevel $DAEMON_NICE \
--chdir "${DAEMON_PWD}" \
--pidfile "${DAEMON_PID}" --make-pidfile \
--exec "${DAEMON_PATH}" -- $DAEMON_OPTS
result=$?
else
start-stop-daemon --start --quiet --oknodo --background \
--nicelevel $DAEMON_NICE \
--chdir "${DAEMON_PWD}" \
--pidfile "${DAEMON_PID}" --make-pidfile \
--chuid "${DAEMON_USER}" \
--exec "${DAEMON_PATH}" -- $DAEMON_OPTS
result=$?
fi
log_end_msg $result
fi
return $result
}
do_stop() {
local result
pidofproc -p "${DAEMON_PID}" "${DAEMON_PATH}" > /dev/null
if [ $? -ne 0 ]; then
log_warning_msg "${DAEMON_NAME} is not started"
result=0
else
log_daemon_msg "Stopping ${DAEMON_DESC}" "${DAEMON_NAME}"
killproc -p "${DAEMON_PID}" "${DAEMON_PATH}"
result=$?
log_end_msg $result
rm "${DAEMON_PID}"
fi
return $result
}
do_restart() {
local result
do_stop
result=$?
if [ $result = 0 ]; then
do_start
result=$?
fi
return $result
}
do_status() {
local result
status_of_proc -p "${DAEMON_PID}" "${DAEMON_PATH}" "${DAEMON_NAME}"
result=$?
return $result
}
do_usage() {
echo $"Usage: $0 {start | stop | restart | status}"
exit 1
}
case "$1" in
start) do_start; exit $? ;;
stop) do_stop; exit $? ;;
restart) do_restart; exit $? ;;
status) do_status; exit $? ;;
*) do_usage; exit 1 ;;
esac
Start Service Automatically
sudo chmod +x /etc/init.d/pia sudo update-rc.d pia defaults 98
Service can now be started and stopped normally
sudo service pia stop sudo service pia start