Самостоятельное размещение VPN-сервера с IPsec/L2TP, Cisco IPsec и IKEv2
Подробное руководство по созданию собственного VPN-сервера с использованием IPsec/L2TP, Cisco IPsec и IKEv2. Обеспечьте безопасность своей сети с помощью самостоятельного размещения VPN.
Не указано
Подготовка системы
Обновляем систему и настраиваем базовую безопасность
sudo apt update && sudo apt upgrade -y
sudo ufw allow OpenSSH
sudo ufw enable
adduser newuser
usermod -aG sudo newuser
sudo nano /etc/ssh/sshd_config
# Раскомментируйте и измените: PasswordAuthentication no
sudo systemctl restart sshdУстановка VPN-сервера
Клонируем репозиторий и запускаем установочный скрипт
git clone https://github.com/hwdsl2/setup-ipsec-vpn.git
cd setup-ipsec-vpn
sudo bash setup-ipsec-vpn.shДобавление пользователей
Создаем VPN-пользователей с хешированными паролями
echo "username:$(openssl passwd -1 -salt $(head -c 100 /dev/urandom | od -An -N 4 -tu4 | cut -c2-) 'yourpassword')" | sudo tee -a /etc/ipsec.d/passwdНастройка IPsec/L2TP
Конфигурируем параметры IPsec/L2TP в /etc/ipsec.conf
config l2tp-psk
auth sha256
pfs sha256
rekey no
keyingtries 3
dpdaction clear
dpddelay 10
left %defaultroute
leftprotoport=17/1701
rightprotoport=17/0
auto=add
leftid=%any
leftsourceip=%config
right=%any
rightid=%any
rightsourceip=%no
ike-frag=no
ike= aes256-sha2,aes128-sha2,aes256-sha1,aes128-sha1!
phase2alg= aes256-sha2,aes128-sha2,aes256-sha1,aes128-sha1!
sha2-truncbug=noНастройка Cisco IPsec
Добавляем конфигурацию для Cisco IPsec
config cisco-unity
auth sha256
pfs sha256
rekey no
keyingtries 3
dpdaction clear
dpddelay 10
left %defaultroute
leftprotoport=17/1701
rightprotoport=17/0
auto=add
leftid=%any
leftsourceip=%config
right=%any
rightid=%any
rightsourceip=%no
ike-frag=no
ike= aes256-sha2,aes128-sha2,aes256-sha1,aes128-sha1!
phase2alg= aes256-sha2,aes128-sha2,aes256-sha1,aes128-sha1!
sha2-truncbug=no
modecfgpull=yes
xauthby=file
xauthclient=yes
ikev2=neverНастройка IKEv2
Настраиваем параметры для стабильного IKEv2 соединения
config ikev2
auth sha256
pfs sha256
rekey no
keyingtries 3
dpdaction clear
dpddelay 10
left %defaultroute
leftprotoport=17/0
rightprotoport=17/0
auto=add
leftid=%any
leftsourceip=%config
right=%any
rightid=%any
rightsourceip=%no
ike-frag=no
ike= aes256-sha2-modp1024,aes128-sha2-modp1024,aes256-sha1-modp1024,aes128-sha1-modp1024!
phase2alg= aes256-sha2,aes128-sha2,aes256-sha1,aes128-sha1!
sha2-truncbug=no
ikev2=insist
fragmentation=yes
forceencaps=yes
modecfgpull=yes
xauthby=file
xauthclient=yesНастройка брандмауэра
Открываем необходимые порты для VPN и SSH
sudo ufw allow 500,4500/udp # Для IPsec
sudo ufw allow 1701/udp # Для L2TP
sudo ufw allow 22/tcp # Для SSH
sudo ufw enableОтключение ненужных сервисов
Останавливаем неиспользуемые службы и отключаем IPv6
sudo systemctl stop cups
sudo systemctl disable cups
# Добавляем в /etc/sysctl.conf:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
sudo sysctl -pНастройка автоматического обновления
Включаем автоматическое обновление системы
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgradesПроверка статуса
Мониторинг работы VPN-сервера
sudo ipsec status
sudo ipsec statusall
sudo tail -f /var/log/syslog | grep ipsec
sudo tail -f /var/log/xl2tpd.logСоздание резервной копии
Регулярное резервное копирование конфигурационных файлов
sudo tar -czvf vpn-backup.tar.gz /etc/ipsec.conf /etc/ipsec.secrets /etc/xl2tpd/xl2tpd.conf /etc/ppp/chap-secrets /etc/ppp/options.xl2tpd
# Добавьте в cron:
# 0 3 * * * tar -czvf /home/user/backup/vpn-backup-$(date +\%Y\%m\%d).tar.gz /etc/ipsec.conf /etc/ipsec.secrets /etc/xl2tpd/xl2tpd.conf /etc/ppp/chap-secrets /etc/ppp/options.xl2tpd