Softether VPN client compiled for 32bit Puppies
Posted: Sun 08 Mar 2020, 00:22
I have finally succeeded in setting a VPN so that I can access my work LAN when I'm at home.
Workplace LAN is behind a modem/router, where an OLD server PC runs an OLD Windows 2003 server. Workstation PCs run Windows 7 or Windows 10.
My goal: connect to workplace VPN from my home PC where I run Slacko 5.7 32bit, while other co-workers can connect from their Windows home PCs.
I tried many VPN server softwares, I ended up choosing a simple to configure, yet powerful VPN server: Softether. It is also compatible with Openvpn clients as well.
On server side I installed Softether VPN server, see here for infos and here to download the installer
Creating a virtual Hub on the server is a matter of few minutes, creating users account is a matter of seconds (just input name, password and you're done). If you don't have a static IP at work, Softether gives a free dynamic DNS service.
To make things simple I decided to setup a VPN where the login is controlled by username and passwords, but you can use certificates as well. Softether listens on 443 port by default, and while many routers don't block traffic on this port (it's the https port) I experienced some disconnections that disappeared after portforwarding it on the router. If you want to connect to Softether Server using an Openvpn client, you should portforward 1194 port.
On client side, you can download Softether client software here, those who don't want to compile can use the two main components (vpnclient and vpncmd) that you can find here:
https://ufile.io/iid7a4g5
I used slacko devx sfs, therefore they are 32bit binaries.
There are many pages on the web about how to set up a Softether client on linux, I suggest to read some to have an idea of the steps to do.
Basically, to connect open a console inside vpnclient folder and type:
./vpnclient start
then type:
./vpncmd
to start the client console,
choose number 2 'Management of VPN client',
at 'Hostname or IP address of Destination' type: localhost
a VPN client> prompt will appear.
The first time you run vpncmd you have to create your account.
type AccountCreate
you will be asked to type:
name of VPN setting, this may be whatever you like, ex. myvpn
the destination of VPN server: type static external WAN IP and port ex.: 1.1.1.1:443 or use softether dynamic DNS name you created when you installed the server software.
enter the Destination virtual Hub name you created on the server. The name must match exactly.
enter your personal Connecting User Name you created on the server
enter the virtual Network adapter name to be created: ex.: vpn
If you chose to connect using passwords, type:
AccountPasswordSet
and enter your account password
At this point you can check that everything is correct typing:
AccountList
If something is wrong delete the configuration with
AccountDelete
and start over.
To connect to VPN server type:
AccountConnect
type the name of the account (in example above: myvpn)
then type
AccountList
and see if the line 'Status' says 'Connected'
Leave the vpncmd console prompt open.
If you're connected, open another console and:
dhcpcd vpn_vpn
to acquire your IP (your workplace LAN must have a DHCP server).
Now you are inside the LAN of your workplace! You can mount samba shares as usual.
To be honest, browsing folders remotely is quite slow, especially those with 30+ files/folders.
A possible workaround that I used with success is to send a magic packet to Wake-On-Lan a workplace PC and to rdesktop into it, to do things faster...
To disconnect from VPN type in vpncmd console prompt:
AccountDisconnect
and then
exit
then stop the client :
./vpnclient stop
The second time you want to connect to VPN, all to do is:
./vpnclient start
./vpncmd
type 2
type localhost
type AccountConnect
type name-of-account
type Accountlist to see 'Status Connected'
open another console and dhcpcd vpn_vpn
When you connect to your VPN the Softether client software adds a route rule automatically so that the virtual adapter becomes default and all traffic passes through the LAN gateway (your home pc will browse the web with your workplace LAN external IP)
Since dhcpcd overwrites puppy's /etc/resolv.conf with your workplace LAN gateway, after you disconnect from VPN you may need to edit again /etc/resolv.conf to your original values of your home modem/router.
Workplace LAN is behind a modem/router, where an OLD server PC runs an OLD Windows 2003 server. Workstation PCs run Windows 7 or Windows 10.
My goal: connect to workplace VPN from my home PC where I run Slacko 5.7 32bit, while other co-workers can connect from their Windows home PCs.
I tried many VPN server softwares, I ended up choosing a simple to configure, yet powerful VPN server: Softether. It is also compatible with Openvpn clients as well.
On server side I installed Softether VPN server, see here for infos and here to download the installer
Creating a virtual Hub on the server is a matter of few minutes, creating users account is a matter of seconds (just input name, password and you're done). If you don't have a static IP at work, Softether gives a free dynamic DNS service.
To make things simple I decided to setup a VPN where the login is controlled by username and passwords, but you can use certificates as well. Softether listens on 443 port by default, and while many routers don't block traffic on this port (it's the https port) I experienced some disconnections that disappeared after portforwarding it on the router. If you want to connect to Softether Server using an Openvpn client, you should portforward 1194 port.
On client side, you can download Softether client software here, those who don't want to compile can use the two main components (vpnclient and vpncmd) that you can find here:
https://ufile.io/iid7a4g5
I used slacko devx sfs, therefore they are 32bit binaries.
There are many pages on the web about how to set up a Softether client on linux, I suggest to read some to have an idea of the steps to do.
Basically, to connect open a console inside vpnclient folder and type:
./vpnclient start
then type:
./vpncmd
to start the client console,
choose number 2 'Management of VPN client',
at 'Hostname or IP address of Destination' type: localhost
a VPN client> prompt will appear.
The first time you run vpncmd you have to create your account.
type AccountCreate
you will be asked to type:
name of VPN setting, this may be whatever you like, ex. myvpn
the destination of VPN server: type static external WAN IP and port ex.: 1.1.1.1:443 or use softether dynamic DNS name you created when you installed the server software.
enter the Destination virtual Hub name you created on the server. The name must match exactly.
enter your personal Connecting User Name you created on the server
enter the virtual Network adapter name to be created: ex.: vpn
If you chose to connect using passwords, type:
AccountPasswordSet
and enter your account password
At this point you can check that everything is correct typing:
AccountList
If something is wrong delete the configuration with
AccountDelete
and start over.
To connect to VPN server type:
AccountConnect
type the name of the account (in example above: myvpn)
then type
AccountList
and see if the line 'Status' says 'Connected'
Leave the vpncmd console prompt open.
If you're connected, open another console and:
dhcpcd vpn_vpn
to acquire your IP (your workplace LAN must have a DHCP server).
Now you are inside the LAN of your workplace! You can mount samba shares as usual.
To be honest, browsing folders remotely is quite slow, especially those with 30+ files/folders.
A possible workaround that I used with success is to send a magic packet to Wake-On-Lan a workplace PC and to rdesktop into it, to do things faster...
To disconnect from VPN type in vpncmd console prompt:
AccountDisconnect
and then
exit
then stop the client :
./vpnclient stop
The second time you want to connect to VPN, all to do is:
./vpnclient start
./vpncmd
type 2
type localhost
type AccountConnect
type name-of-account
type Accountlist to see 'Status Connected'
open another console and dhcpcd vpn_vpn
When you connect to your VPN the Softether client software adds a route rule automatically so that the virtual adapter becomes default and all traffic passes through the LAN gateway (your home pc will browse the web with your workplace LAN external IP)
Since dhcpcd overwrites puppy's /etc/resolv.conf with your workplace LAN gateway, after you disconnect from VPN you may need to edit again /etc/resolv.conf to your original values of your home modem/router.