Last active
August 23, 2020 20:57
-
-
Save amanjuman/b09182b11142e2589eea4b639f87ea3a to your computer and use it in GitHub Desktop.
Raspberry Pi SoftEtherVPN Client as VPN Wifi Router
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y | |
apt-get -y install build-essential wget curl gcc make wget tzdata git libreadline-dev libncurses-dev libssl-dev zlib1g-dev | |
wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.30-9696-beta/softether-vpnclient-v4.30-9696-beta-2019.07.08-linux-arm_eabi-32bit.tar.gz | |
tar xzf softether-vpnclient-v4.30-9696-beta-2019.07.08-linux-arm_eabi-32bit.tar.gz && rm softether-vpnclient-v4.30-9696-beta-2019.07.08-linux-arm_eabi-32bit.tar.gz | |
echo net.ipv4.ip_forward = 1 | ${SUDO} tee -a /etc/sysctl.conf | |
echo net.ipv6.ip_forward = 1 | ${SUDO} tee -a /etc/sysctl.conf | |
cd vpnclient | |
sudo make | |
cd .. | |
sudo mv vpnclient /usr/local | |
cd /usr/local/vpnclient/ | |
sudo chmod 600 * | |
sudo chmod 700 vpnclient vpncmd | |
sudo ./vpnclient start | |
sudo ./vpncmd | |
remoteenable | |
niccreate | |
svpn | |
accountimport | |
/home/pi/vpn-config-name | |
accountconnect vpn-config-name | |
accountstartupset vpn-config-name | |
sudo cat >> /etc/init.d/vpnclient << EOF | |
#! /bin/sh | |
### BEGIN INIT INFO | |
# Provides: vpnclient | |
# Required-Start: $all | |
# Required-Stop: $network $local_fs $remote_fs $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Start VPN Client at boot time | |
# chkconfig: 345 44 56 | |
# description: Start VPN Client at boot time. | |
# processname: vpnclient | |
### END INIT INFO | |
# /etc/init.d/vpnclient | |
case "$1" in | |
start) | |
echo "Starting VPN Client" | |
/usr/local/vpnclient/vpnclient start | |
sudo dhclient vpn_svpn | |
#route add -host 1.2.3.4 gw 192.168.2.1 | |
#route del default | |
#route add default gw 192.168.5.1 dev vpn_svpn | |
;; | |
stop) | |
echo "Stopping VPN Client" | |
/usr/local/vpnclient/vpnclient stop | |
#route del -host 1.2.3.4 | |
#route del default | |
#route add default gw 192.168.2.1 dev eth0 | |
;; | |
*) | |
echo "Usage: /etc/init.d/vpnclient {start|restart|stop}" | |
exit 1 | |
;; | |
esac | |
exit 0 | |
EOF | |
sudo chmod 755 /etc/init.d/vpnclient | |
sudo update-rc.d vpnclient defaults | |
wget -qO- http://ipecho.net/plain ; echo | |
sudo netstat -rn | |
sudo apt-get install hostapd dnsmasq -y | |
sudo systemctl stop hostapd | |
sudo systemctl stop dnsmasq | |
nano /etc/dhcpcd.conf | |
denyinterfaces wlan0 | |
denyinterfaces eth0 | |
nano /etc/dnsmasq.conf | |
interface=wlan0 | |
listen-address=192.168.3.1 | |
bind-interfaces | |
server=1.1.1.1 | |
domain-needed | |
bogus-priv | |
dhcp-range=192.168.3.100,192.168.3.200,24h | |
nano /etc/hostapd/hostapd.conf | |
interface=wlan0 | |
driver=nl80211 | |
bridge=br0 | |
hw_mode=g | |
channel=7 | |
wmm_enabled=0 | |
macaddr_acl=0 | |
auth_algs=1 | |
ignore_broadcast_ssid=0 | |
wpa=2 | |
wpa_key_mgmt=WPA-PSK | |
wpa_pairwise=TKIP | |
rsn_pairwise=CCMP | |
ssid=NETWORK | |
wpa_passphrase=PASSWORD | |
nano /etc/default/hostapd | |
DAEMON_CONF="/etc/hostapd/hostapd.conf" | |
sudo systemctl start hostapd | |
sudo systemctl start dnsmasq | |
sudo systemctl enable hostapd | |
sudo systemctl enable dnsmasq | |
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | |
sudo apt install bridge-utils iptables-persistent -y | |
sudo brctl addbr br0 | |
sudo brctl addif br0 vpn_svpn | |
nano /etc/network/interfaces | |
auto lo | |
iface lo inet loopback | |
auto eth0 | |
iface eth0 inet dhcp | |
auto-hotplug vpn_svpn | |
iface vpn_svpn inet dhcp | |
auto br0 | |
iface br0 inet manual | |
bridge_ports vpn_svpn wlan0 | |
allow-hotplug wlan0 | |
iface wlan0 inet static | |
address 192.168.3.1 | |
netmask 255.255.255.0 | |
network 192.168.3.0 | |
broadcast 192.168.3.255 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment