25
Янв

Установка SoftEther на Ubuntu или Debian

SoftEther VPN — продвинутый мультипротокольный VPN-сервер и клиент

SoftEther

Чуть более подробно про возможности сервера:

  • Множество виртуальных хабов. Т.е. не каждый экземпляр сервера обслуживает только своих клиентов, а все в пределе одного сервера.
  • Remote-Access (клиент-к-LAN) и Site-to-Site (объединение двух и более LAN в одну) туннелей.
  • Поддержка L2TP/IPsec, OpenVPN, MS-SSTP, L2TPv3, EtherIP и своего протокола
  • VPN через ICMP и через DNS (только через свой протокол)
  • Dynamic DNS и NAT Traversal через бесплатный релей (да-да, можно поднять VPN сервер с серым IP!)
  • Логгирование
  • Встроенный firewall
  • Поддержка IPv6 в L3-режиме (ну и в L2, конечно, тоже)
  • Шейпинг трафика по группам пользователей либо по конкретным пользователям
  • SecureNAT (user-space NAT и DHCP-сервер). Удобно на не-серверных Windows
  • Поддержка VLAN
  • Поддержка QoS с автоматической приоритезацией

Есть возможность настроить работу в local bridge и SecureNAT

В случае с SecureNAT нужно меньше настроек из консоли, но данный тип настройки, по мнению многих является более медленным. Мы опишем обе настройки.

Помните, что нельзя включить сразу local bridge и SecureNAT — получите 100% загрузку процессора на VDS

Установка (картинки кликабельные):

apt-get update
apt-get install build-essential

Идём на офсайт и выбираем необходимую версию

download_selection

Копируем ссылку на архив

cd /tmp/
wget https://www.softether-download.com/files/softether/v4.12-9514-beta-2014.11.17-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.12-9514-beta-2014.11.17-linux-x64-64bit.tar.gz
tar zxf softether-vpnserver-v4.12-9514-beta-2014.11.17-linux-x64-64bit.tar.gz
cd vpnserver
make

Читаете многабукаф и соглашаетесь с правилами использования: 1 — 1 — 1

Потом переносите накомпиленное в каталог /usr/local/

cd ..
mv vpnserver /usr/local
cd /usr/local/vpnserver/
chmod 600 *
chmod 700 vpncmd
chmod 700 vpnserver
nano /etc/init.d/vpnserver

Вставляете содержимое в /etc/init.d/vpnserver

#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable Softether by daemon.
### END INIT INFO
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

Выполняете команды

 chmod 755 /etc/init.d/vpnserver
 mkdir /var/lock/subsys
 update-rc.d vpnserver defaults
 /etc/init.d/vpnserver start
 cd /usr/local/vpnserver/
 

Проверяете работу сервера

./vpncmd
3
check

Должны получить 4 раза “Pass”.

Добавляете пароль администратора на сервер

./vpncmd
 1
 Enter
 Enter
 VPN Server>ServerPasswordSet

Скачиваем клиент для настройки сервера:

server_manager

Устанавливаем, вводим адрес сервера и логин администратора

setting

easy_setup

 warning

virtual_hub

Выбираем 1й пункт и вводим

l2tp

Выключаем Azure VPN

azure

Добавляем пользователя

manager user

Для настройки Secure NAT заходим в Manage Virtual Hub

secure_nat

Local bridge Setup

Настройки у нас такие:

VPN Server IP: 192.168.7.1
VPN Client IP Range: 192.168.7.50-192.168.7.60
Tap Device name: tap_soft

Отключаем Secure NAT

local-bridge-setting

Создаём Local Bridge

create-local-bridge

Проверяем на сервере, создался ли интерфейс

ifconfig tap_soft

check-on-the-sever

Устанавливаем dnsmasq

apt-get install dnsmasq

Добавляем в файл /etc/dnsmasq.conf

nano /etc/dnsmasq.conf

 interface=tap_soft
 dhcp-range=tap_soft,192.168.7.50,192.168.7.60,12h
 dhcp-option=tap_soft,3,192.168.7.1

Изменяем стартовый скрипт /etc/init.d/vpnserver

nano /etc/init.d/vpnserver
#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable Softether by daemon.
### END INIT INFO
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
TAP_ADDR=192.168.7.1
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

Добавляем в /etc/sysctl.d/ipv4_forwarding.conf

net.ipv4.ip_forward = 1

Применяем изменения

sysctl --system

Добавляем правило фаервола

iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j SNAT --to-source [YOUR VPS IP ADDRESS]

Где [YOUR VPS IP ADDRESS] — адрес вашего VDS

apt-get install iptables-persistent

Рестартим сервисы

/etc/init.d/vpnserver restart
/etc/init.d/dnsmasq restart

 

Подлючаемся