First let's determine an appropriate location to install the temporary files for installation:
setenv PKG_TMPDIR /mnt/Data/tmp/
Next let's install all the required components: curl, expect:
pkg install openvpn
pkg install curl
pkg install expect
Typing the following command will update yourr shell session with the new commands available based on the installed packages:
rehash
Move openvpn file so it does not get executed every time thesystem is started, otherwise your boot process will stop and you will be prompted for a username/password. NAS4Free executes all the files inside "rc.d" folder on startup.
mkdir /usr/local/etc/openvpn
mv /usr/local/etc/rc.d/openvpn /usr/local/etc/openvpn/
Edit startup settings and add OpenVPN support:
nano /etc/rc.conf
Add the following:
openvpn_enable=YES"
And ONE of the following, this is based on your VPN provider (check the opvn file contents to determine which to use):
openvpn_if="tun"
openvpn_if="dev"
Now retrieve the relevant information from your VPN provider: certificates, location, configuration files etc. Rename the certificate (*.crt) and chosen location (*ovpn) to openvpn.crt and openvpn.conf, and copy *.pem file.
Install certificates (.crt) and location (.ovpn) files:
mkdir /usr/local/etc/openvpn
mv openvpn* /usr/local/etc/openvpn/
mv *.pem /usr/local/etc/openvpn/
Make sure the certificate authority configuration line (ca) is set to openvpn.crt by editing the following file:
nano /usr/local/etc/openvpn/openvpn.conf
Now it's time to test OpenVPN and make sure you have an appropriate IP.
/usr/local/etc/openvpn/openvpn start /usr/local/etc/openvpn/
curl icanhazip.com
The curl command should return your NAS' new WAN IP, and this should be different to your regular WAN IP - as it should be now based on the location file you provided.
Now we need to configure OpenVP to start and connect on startup, so let's create an auto-sign-on script, and make it executable:
nano /usr/local/etc/openvpn/autosignon
chmod +x autosignon
Paste the following, and edit username and password to match your details, for your VPN provider:
#!/usr/local/bin/expect -f
set force_conservative 0
spawn /usr/local/etc/openvpn/openvpn start /usr/local/etc/openvpn/openvpn.conf
match_max 100000
expect -exact "Enter Auth Username:"
send "YOUR USERNAME"
send "\r"
expect -exact "Enter Auth Password:"
send "YOUR PASSWORD"
send "\r"
expect eof
Add the following command script PreInit (System|Advanced|Command Scripts) via your NAS4Free web interface:
/usr/local/etc/openvpn/autosignon
Reboot your machine and you should be automatically connected to your VPN service.
No comments:
Post a Comment