L2tp ipsec linux debian

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Configure a Linux VPN client using the command line.

jabas06/l2tp-ipsec-vpn-client

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Configure a Linux VPN client using the command line.

Install the following packages:

sudo apt-get update sudo apt-get -y install strongswan xl2tpd 
yum -y install epel-release yum --enablerepo=epel -y install strongswan xl2tpd 
yum -y install strongswan xl2tpd 

Replace the file content with the following (replace n.n.n.n with your VPN Server Address):

config setup conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 keyexchange=ikev1 authby=secret ike=aes128-sha1-modp1024,3des-sha1-modp1024! esp=aes128-sha1-modp1024,3des-sha1-modp1024! conn L2TP-PSK keyexchange=ikev1 left=%defaultroute auto=add authby=secret type=transport leftprotoport=17/1701 rightprotoport=17/1701 # set this to the ip address of your vpn server right=n.n.n.n 
sudo nano /etc/ipsec.secrets 

Replace the file content with the following (replace your_pre_shared_key with your PSK value):

Читайте также:  Adobe master collection linux

Additionaly, run the following only if you are using CentOS/RHEL or Fedora:

mv /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.old 2>/dev/null mv /etc/strongswan/ipsec.secrets /etc/strongswan/ipsec.secrets.old 2>/dev/null ln -s /etc/ipsec.conf /etc/strongswan/ipsec.conf ln -s /etc/ipsec.secrets /etc/strongswan/ipsec.secrets 
sudo nano /etc/xl2tpd/xl2tpd.conf 

Append the following to the file (replace n.n.n.n with your VPN Server Address):

[lac myVPN] ; set this to the ip address of your vpn server lns = n.n.n.n ppp debug = yes pppoptfile = /etc/ppp/options.l2tpd.client length bit = yes 
sudo nano /etc/ppp/options.l2tpd.client 

Replace the file content with the following (replace your_user_name and your_password with your VPN credentials):

ipcp-accept-local ipcp-accept-remote refuse-eap require-mschap-v2 noccp noauth logfile /var/log/xl2tpd.log idle 1800 mtu 1410 mru 1410 defaultroute usepeerdns debug connect-delay 5000 name your_user_name password your_password 

Run the following command each time you want to start the ipsec and l2tp connection:

sudo mkdir -p /var/run/xl2tpd sudo touch /var/run/xl2tpd/l2tp-control sudo service strongswan restart sudo service xl2tpd restart sudo service ipsec restart sleep 8 sudo ipsec up L2TP-PSK sleep 8 sudo bash -c 'echo "c myVPN" > /var/run/xl2tpd/l2tp-control' sleep 8 ifconfig 
sudo mkdir -p /var/run/xl2tpd sudo touch /var/run/xl2tpd/l2tp-control sudo service strongswan restart sudo service xl2tpd restart sleep 8 sudo strongswan up L2TP-PSK sleep 8 sudo bash -c 'echo "c myVPN" > /var/run/xl2tpd/l2tp-control' sleep 8 ifconfig 

Check the output. You should now see a new interface ppp0. Interface ppp0 is needed to continue to the next step.

Routing traffic to an IP address in your internal network. Replace x.x.x.x with the addres you wish to communicate with through the tunnel device:

sudo ip route add x.x.x.x via $(ip address show dev ppp0 | grep -Po '(?\.)3\b)') dev ppp0 

Error: Unable to resolve host on EC2 instances

If you did run the route command on an EC2 instance and got the error «unable to resolve host : Resource temporarily unavailable» , do the following and then rerun the commands from the Connect and Router sections.

Copy the hostname, from the error message, which will contain the private IP address in the form ip-x-x-x-x . For instance ip-172-31-26-197

Add a new entry within the hosts file to include the hostname:

The VPN connection is now complete. Verify that your traffic is being routed properly. Repalce x.x.x.x with the addres you wish to communicate with through the tunnel device:

To disconnect run the following:

sudo bash -c 'echo "d myVPN" > /var/run/xl2tpd/l2tp-control' ipsec down L2TP-PSK 
sudo bash -c 'echo "d myVPN" > /var/run/xl2tpd/l2tp-control' sudo strongswan down L2TP-PSK 
dmesg | less /var/log/xl2tpd.log 

Источник

Читайте также:  Linux run on ram

Заметки о Microsoft Windows и не только.

Openswan ставим из исходников, поскольку нет кандидатов на установки из репозиториев.

Ставим необходимые зависимости:
apt-get install libgmp3-dev gawk flex bison make

Собираем openswan:
wget https://download.openswan.org/openswan/openswan-latest.tar.gz
tar -xvzf openswan-latest.tar.gz

cd openswan-2*
make programs
make install

Конфигурируем IPSec:
nano /etc/ipsec.conf

Содержимое:
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
oe=off
protostack=netkey

conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=1h
type=transport
left=SERVER.IP
leftprotoport=17/1701
right=%any
rightprotoport=17/%any

Пробелы перед строками обязательны. SERVER.IP — это внешний IP нашего сервера.

Настроим авторизацию через PreShared Key:
nano /etc/ipsec.secrets

Содержимое:
SERVER.IP %any: PSK «PreSharedKey»


SERVER.IP — это внешний IP нашего сервера
%any: — подключение с любого IP
PSK — метод авторизации для L2TP. PSK — PreSharedKey, т.е вместо сертификата будем использовать секретное слово.
«PreSharedKey» — само секретное слово
///

Скрипт для настройки сети:
nano /root/ipsec

Добавляем содержимое:
iptables —table nat —append POSTROUTING —jump MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
/etc/init.d/ipsec restart

Делаем скрипт исполняемым:
chmod +x /root/ipsec

Теперь необходимо добавить скрипт в автозагрузку. Однако В Debian 9 по-умолчанию не работает файл-автозапуска скриптов rc.local. Запустим его.

Создаем файл:
nano /etc/rc.local

Пишем в него следующее:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will «exit 0» on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0

Делаем его исполняемым:
chmod +x /etc/rc.local

Включаем автозапуск rc-local:
systemctl start rc-local
systemctl status rc-local

Добавляем содержимое нашего скрипта /root/ipsec в файл rc.local перед exit 0 и запускаем скрипт:
sh /root/ipsec

Настройка l2tp:
nano /etc/xl2tpd/xl2tpd.conf

Содержимое:
[global]
ipsec saref = yes

[lns default]
ip range = 192.168.1.202-192.168.1.220
local ip = 192.168.1.201
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes


ip range = 192.168.1.202-192.168.1.220 — диапазон IP адресов выделяемых для VPN Подключений
local ip = 192.168.1.201 — адрес самого сервера VPN внутри локальной сети
refuse chap = yes — запретить Chap авторизацию
refuse pap = yes — запретить Pap авторизацию
///

Дополнительные настройки:
nano /etc/ppp/options.xl2tpd

Читайте также:  Linux c compiler free

Содержимое:
require-mschap-v2
ms-dns 192.168.1.1
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name VPN
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4


require-mschap-v2 — требуем авторизацию через MSChap2
ms-dns 192.168.1.1 — это DNS сервер внутри локальной сети. Можно указать и глобальные DNS сервера (типа 8.8.8.8 или 77.88.8.8), но тогда внутренние ресурсы завязанные на DNS не будут видны клиентам подключенным через VPN.
name VPN — этот параметр будет присутствовать в настройках пользователеьских аккаунтов.
///

Настройка пользователей:
nano /etc/ppp/chap-secrets

Формат содержимого:
vpnuser VPN password *


VPN — это и есть тот параметр из /etc/ppp/options.xl2tpd
///

Перезапускаем сервисы:
/etc/init.d/ipsec restart
/etc/init.d/xl2tpd restart

Проверяем работу
ipsec verify

Источник

Установка и настройка l2tp + ipsec на Debian/Ubuntu + Iphone/Mac для VPN

Итак, есть задача установить данную связку для использования защищенного VPN соединения на любых устройствах через использование учетной записи.

Прежде, чем изучать данный мануал, крайне рекомендуем прочесть данную статью! Тогда установка займет всего пару минут.

apt-get install openswan xl2tpd

(при запросе об установке сертификата ответьте «нет» и в следующих окнах тоже)

Содержимое файла nano /etc/ipsec.conf должно выглядеть так (отступы важны. )

config setup nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12 oe=off protostack=netkey
conn L2TP-PSK-NAT rightsubnet=vhost:%priv also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT authby=secret pfs=no auto=add keyingtries=3 rekey=no ikelifetime=8h keylife=1h type=transport left=SERVER.IP leftprotoport=17/1701 right=%any rightprotoport=17/%any

Ставим ключ шифрования для IPSec

Конфигурация доступа к серверу по IPSec:

SERVER.IP %any: PSK "YourSharedSecret"

Скрипт для настройки сети

iptables --table nat --append POSTROUTING --jump MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward for each in /proc/sys/net/ipv4/conf/* do echo 0 > $each/accept_redirects echo 0 > $each/send_redirects done /etc/init.d/ipsec restart

Делаем скрипт исполняемым:

Добавляем в rc.local и запускаем:

Настройка l2tp

[global] ipsec saref = yes [lns default] ip range = 10.1.2.2-10.1.2.255 local ip = 10.1.2.1 refuse chap = yes refuse pap = yes require authentication = yes ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes

Настройка ppp авторизации

require-mschap-v2 ms-dns 8.8.8.8 ms-dns 8.8.4.4 asyncmap 0 auth crtscts lock hide-password modem debug name VPN proxyarp lcp-echo-interval 30 lcp-echo-failure 4
test VPN password *

Установка и настройка l2tp + ipsec на Debian/Ubuntu + Iphone/Mac для VPN: 3 комментария

После настройки все заработало с 789 ошибкой, исправилось правкой реестра windows. Проблема в том , что система подключается с любым дополнительным паролем, даже если он не совпадает с /etc/ipsec.secrets

добрый день, нет ли информации, что нужно настроить чтобы подключался android?
По данной инструкции работает подключение с Windows, с iPad а вот с Android никак.

Источник

Оцените статью
Adblock
detector