- Saved searches
- Use saved searches to filter your results more quickly
- jabas06/l2tp-ipsec-vpn-client
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- Заметки о Microsoft Windows и не только.
- Установка и настройка l2tp + ipsec на Debian/Ubuntu + Iphone/Mac для VPN
- Ставим ключ шифрования для IPSec
- Скрипт для настройки сети
- Настройка l2tp
- Настройка ppp авторизации
- Установка и настройка l2tp + ipsec на Debian/Ubuntu + Iphone/Mac для VPN: 3 комментария
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):
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
Заметки о 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
Содержимое:
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 никак.