Friday, December 28, 2018

Скрипт создания зеркала обновлений для Eset Nod32 на Linux

Если вы занимаетесь администрированием, велика вероятность что рано или поздно встанет вопрос — «На клиентских машинах стоит антивирус Nod32, надо бы создать для них единое зеркало обновлений». И тут возможны несколько путей развития сюжета:

  1. «Сервер на Windows, денег достаточно». Тут всё довольно просто — покупаем лицензию, ставим нужный дистрибутив Nod32 на сервер, настраиваем, радуемся. Вариант более мифический, так как крайне редко, когда на IT «денег достаточно».
  2. «Сервер на Windows, денег не достаточно». Тут возможны варианты. Начиная от использования варезных лицензий, до ручного скриптинга и использования Linux-решений (cygwin в помощь).
  3. «Сервер на Linux». Деньги в этом случае особого значения просто не имеют. У нас есть руки, есть голова, и есть желание сделать всё довольно качественно и надежно.

Вот про третий вариант мы сейчас и поговорим.


Что переобуется для работы?

  • Unix-система (тестировался на CentOS 7, FreeNas 9.3 и FreeBSD 8.3);
  • Bash (тестировался на версиях 4.1.11(2), 4.2.24(1) и 4.2.45(1));
  • Установленные curlwgetunrar (опционально), и некоторые другие стандартные приложения.


Установка

  • Скачиваем крайнюю версию и распаковываем:
    $ cd /tmp
    $ wget https://github.com/tarampampam/nod32-update-mirror/archive/master.zip
    $ unzip master.zip; cd ./nod32-update-mirror-master/
  • Переносим набор скриптов в директорию недоступную «извне», но доступную для пользователя, который будет его запускать:
    $ mv -f ./nod32upd/ /home/
  • Переходим в новое расположение скриптов и выполняем их настройку (подробнее об этом в readme.md):
    $ cd /home/nod32upd/
    $ nano ./settings.cfg
  • Даем права на запуск скриптов:
    $ chmod +x ./*.sh
  • Проверяем наличие unrar, если планируем обновляться с официальных зеркал Eset NOD32:
    $ type -P unrar
  • Выполняем пробный запуск:
    $ ./update.sh

После всех этих манипуляций должны наблюдать что то похожее на:


Особенности

  • Комплектуется скриптом для автоматического получения рабочего ключа с «пиратских» ресурсов. ВНИМАНИЕ! ДАННЫЙ ФУНКЦИОНАЛ ТОЛЬКО ДЛЯ ОЗНАКОМЛЕНИЯ И ИЗУЧЕНИЯ! ВЫ САМИ НЕСЕТЕ ОТВЕТСТВЕННОСТЬ ЗА ЕГО ИСПОЛЬЗОВАНИЕ! ИСПОЛЬЗУЙТЕ ТОЛЬКО ЛЕГАЛЬНЫЕ И КУПЛЕННЫЕ ВАМИ КЛЮЧИ!
  • Если произошла ошибка при обновлении с сервера, который указан, например, в updServer0 — производится попытка обновиться с сервера, указанного в updServer1updServer2..updServer10;
  • Скачивает только обновленные файлы обновлений (проверка выполняется с помощью wget --timestamping);
  • Работает только с нужными типами обновлений, нужным языком и обновлениями только для нужного ПО (без этого размер базы обновлений составляет чуть более чем 5,2Гб, с указанием типов — 0,6Гб);
  • Умеет поддерживать в актуальном состоянии только лишь файл update.ver, не скачивая сами файлы обновлений (при этом зеркало работает, но загрузка происходит не с вашего сервера, а с сервера-источника обновлений);
  • В комплекте идет заготовка для веб-интерфейса зеркала обновления (директория ./webface).


Лицензия MIT
Copyright © 2014 <github.com/tarampampam>

Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:

Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

Бонус ''Дистрибутив со встроенными настройками''
Тут всё очень просто. Кладем в одну папку 3 файла:


В config.small.xml указываем необходимые настройки:
<?xml version="1.0" encoding="utf-8"?>
<ESET>
 <SECTION ID="1000103">
  <SETTINGS>
   <PLUGINS>
    <PLUGIN ID="1000400">
     <PROFILES>
      <NODE NAME="Enable" VALUE="1" TYPE="DWORD" />
      <NODE NAME="Active" VALUE="@My profile" TYPE="STRING" />
      <NODE NAME="@My profile" TYPE="SUBNODE">
       <NODE NAME="UpdateType" VALUE="22" TYPE="DWORD" />
       <NODE NAME="SelectedServer" VALUE="%%url_updates_server%%" TYPE="STRING" />
       <NODE NAME="Username" VALUE="%%your_username%%" TYPE="STRING" />
       <NODE NAME="Password" VALUE="" TYPE="PASS" />
      </NODE>
     </PROFILES>
     <SETTINGS>
      <NODE NAME="RegistrationType" VALUE="0" TYPE="DWORD" />
      <SERVERS>
       <NODE NAME="Server_0" VALUE="%%url_updates_server%%" TYPE="STRING" />
      </SERVERS>
     </SETTINGS>
    </PLUGIN>
   </PLUGINS>
   <CLIENT>
    <NODE NAME="GraphicMode" VALUE="FFFFFFFF" TYPE="DWORD" />
    <NODE NAME="ShowSplash" VALUE="0" TYPE="DWORD" />
    <NODE NAME="SimpleMenu" VALUE="0" TYPE="DWORD" />
    <NODE NAME="AdvancedMenu" VALUE="1" TYPE="DWORD" />
   </CLIENT>
  </SETTINGS>
 </SECTION>
</ESET>

Где %%url_updates_server%% — в обоих случаях идентичны и равны адресу нашего сервера обновлений. Самый простой способ получить конфиг — Окно «ESET NOD32 Antivirus» → «Настройки» → «Импорт и экспорт параметров». Из получившего xml-файла удаляем всё, кроме необходимых настроек (благо все секции очень хорошо названы).

Далее скрипт установки install.cmd:
@echo off

title "Run ESET Nod32 Installer"
cls

set AppToRun=ESET_NOD32_Antivirus_4.2.71.3_(32-bit)_(rus).msi
set  CfgFile=config.small.xml

rem /qb - показывается процесс установки
rem /qn - тихий режим установки без gui

start "" "msiexec" /qb /package "%cd%\%AppPath%%AppToRun%" ADMINCFG="%cd%\%CfgPath%%CfgFile%"

@echo on


И всё это дело при помощи детища Евгения Рошала пакуется в SFX архив с параметрами:
Path=%TEMP%\Nod32Install\
Setup=%TEMP%\Nod32Install\install.cmd
Silent=1
Overwrite=1


Таким образом, при двойном клике по полученному бинарнику происходит тихая распаковка в %TEMP%\Nod32Install\, запускается install.cmd, который запускает установку ESET_NOD32_Antivirus_4.2.71.3_(32-bit)_(rus).msi с настройками из config.small.xml не спрашивая ничего у пользователя, но отображая процесс установки. Для малоопытных пользователей — самое то.




Если у вас есть какие-либо вопросы, но вы не можете оставлять комментарии к этому посту или написать мне в личку — пишите комментарии к этой записи.



Update: Пост был переписан 09.02.2015, т.к. его прошлая редакция потеряла актуальность в большей своей степени

Wednesday, December 26, 2018

Как стать невидимкой в Интернете: программы и сервисы для обеспечения анонимности в Сети

Заглавная картинка
Несмотря на то, что формально Интернет считается оплотом свободы слова и анонимности, мало кто продолжает верить, что онлайн мы становимся невидимками. К тому же не так давно экс-сотрудник ЦРУ Эдвард Сноуден обнародовал информацию о PRISM — программе слежения за пользователями Интернет, разработанной Агентством национальной безопасности США. Но даже без его откровений было понятно, что Всемирная паутина знает о нас больше, чем мы думаем.
Однако речь идет не только о том, что безобидные внешне игрушки вроде Angry Birds помогают спецслужбам собирать информацию о потенциальных террористах. Чаще всего желание поближе познакомиться с пользователями возникает непосредственно у сервисов, таких как Microsoft, Google, Yahoo!, Facebook, Apple и т.д. Они не упустят возможность проследить за вашим поведением в Глобальной сети и даже проанализировать вашу почту на предмет личных предпочтений, ведь коммерческий успех этих компаний напрямую зависит от качества целевой аудитории для продвижения рекламы.
В данном материале мы предложим вам ряд практических советов о том, как сохранить онлайн-анонимность. Следует сразу сказать, что ни одно решение не может гарантировать абсолютную невидимость в Сети. Однако, если вы не собираетесь обмениваться документами государственной важности, вы сможете обеспечить себе довольно высокий уровень безопасности. Наиболее действенным методом защиты своих данных в информационном пространстве является использование анонимных сетей.

Tor

Наиболее известная анонимная сеть. По сути, Tor является системой прокси-серверов, которая позволяет устанавливать анонимное сетевое соединение, защищенное от прослушивания. Само слово Tor – акроним, который расшифровывается, как The Onion Router. Сравнение с луковицей неслучайно – доступ к системе осуществляется посредством свободного ПО, которое использует технологию «луковой маршрутизации». При использовании такого подхода сообщения защищаются несколькими «слоями» шифра и затем отсылаются через цепь сетевых узлов. Загрузить программу можно с официального сайта. Программное обеспечение Tor доступно для платформ Windows, Linux и Mac.
Online-invisible_Tor (1)
Участники Tor получают доступ к ресурсам Интернет через других пользователей сети. Пользователи также могут создавать и выкладывать в сеть анонимные веб-сервисы, доступ к которым будет осуществляться через специальные псевдо-домены .onion. Отметим, что использование Tor, как и любой другой анонимной сети, приводит к существенной потери скорости. Загружаемое программное обеспечение Tor формирует цепочку узлов, по которой будут передаваться зашифрованные данные. Время от времени цепочка перестраивается и начинает использовать новые узлы. Следует понимать, что просто установив Tor, вы не станете невидимкой, для этого необходимо инсталлировать дополнительные компоненты. Программа Tor только управляет процессом шифрования и определяет путь, по которому данные проходят через сеть ретрансляторов.
Для начала необходимо установить на вашем компьютере виртуальный прокси-сервер и подключиться к нему. Такой прокси является промежуточным звеном между пользовательскими приложениями для работы в Интернет и сетью Tor. Наиболее подходящими прокси-серверами для работы с Tor являются Privoxy и Polipo. Polipo входит в состав всех последних сборок комплекта Tor. Более продвинутые пользователи, возможно, отдадут предпочтение Privoxy. В таком случае при установке комплекта Tor необходимо отменить инсталляцию Polipo. Для управления загрузкой и работой системы используется программа Vidalia. По сути, она является графической оболочкой Tor. С ее помощью можно запускать Tor и фильтрующий прокси-сервер, а также останавливать их работу в любое время. Кроме того Vidalia предоставляет доступ к карте сети, а также открывает массу других возможностей. Когда все необходимое ПО установлено, можно «торифицировать приложения» — то есть настроить их для работы с сетью Tor.
Online-invisible_Tor (2)
Для максимального удобства пользователей существует возможность скачать пакет Tor, в который входят Vidalia, Polipo и портативная версия Firefox с различными аддонами, повышающими безопасность работы пользователя. В частности речь идет о расширении Torbutton, которое блокирует такие плагины браузеров, как Java, Flash, ActiveX которые могут быть использованы для раскрытия вашего IP-адреса. Кроме того, с его помощью можно включать или отключать Tor в браузере. Таким образом, в первом случае Firefox будет работать через Tor, а во втором – напрямую.
В перечень полезных приложений для Tor входит TorChat — децентрализованная анонимная система обмена сообщениями. Для безопасного перенаправления всего TCP/IP- и DNS-трафика в сети Tor служит утилита Tortilla. Данное приложение позволяет анонимно запускать под Windows любое ПО, даже если оно не поддерживает SOCKS или HTTP-прокси. Как уже отмечалось, использование Tor не гарантирует вам полную безопасность. Не секрет, что последний узел в цепочке видит трафик в незашифрованном виде. Этим пользуются злоумышленники для кражи паролей и логинов. Впрочем, даже на официальном сайте написано, что не стоит рассчитывать на полную анонимность при использовании Tor.

I2P

I2P («Проект Невидимый Интернет») – открытое программное обеспечение, созданное для организации сверхустойчивой зашифрованной сети и применяемое в большей мере для и анонимного хостинга (создания сайтов, форумов, чатов, файлообменных серверов и т. д.). Что касается веб-серфинга, то здесь возможности невелики. Дело в том, что лишь малая часть клиентов сети решается открывать свои каналы для массового использования. Основная задача I2P – анонимный хостинг сервисов, а не предоставление безопасного доступа в Глобальную сеть, как в Tor.
Online-invisible_I2P (1)
Еще одним отличием I2P от Tor является способ маршрутизации. Так, в Tor используется «луковая маршрутизация», а в I2P – «чесночная». Если в Tor создается цепочка из узлов, по которым передается трафик, то в I2P используются входные и выходные туннели. Таким образом, запросы и ответы идут через разные узлы. Каждые десять минут эти туннели реформируются. «Чесночная маршрутизация» подразумевает, что пакет данных («чеснок»), может содержать в себе множество «зубчиков», то есть зашифрованных сообщений как своих, так и чужих. Каждое с инструкцией по его доставке. Благодаря этому, сервер получателя не может точно определить отправителя, и наоборот.
Online-invisible_I2P (2)
Чтобы использовать I2P проверьте наличие на вашем компьютере Java. На официальном сайте проекта в разделе «Установка с нуля»необходимо выбрать операционную систему и загрузить установщик. Проинсталлировав ПО, пропишите адресной строке браузера адрес 127.0.0.1:7657 для вызова веб-интерфейса. В течение нескольких минут сеть I2P настроится и вы получите анонимный доступ ко всем ресурсам псевдо-домена .i2p. Чтобы выйти в Глобальную сеть, достаточно прописать в настройках браузера адрес прокси-сервера 127.0.0.1:4444. Поскольку выход из I2P в Интернет осуществляется через определенные шлюзы, рассчитывать на высокую скорость в таком случае не приходится.

Freenet

Еще одна анонимная децентрализованная сеть, предназначенная для хранения данных. Freenet включает в себя группу так называемых «фрисайтов» (анонимных вебсайтов), файловый обмен и поиск. Файлы, которые пользователь хочет разместить для общего доступа, распределяются по компьютерам других участников сети в зашифрованном виде. Для загрузки файла необходимо знать ключ, который позволит собрать этот файл с компьютеров других пользователей сети. Такой подход позволяет обезопасить пользователя от слежения. Ведь в данном случае никто, даже сам пользователь, не имеет представления, частички каких файлов хранятся у него на жестком диске. Подобное хранилище данных невозможно обнаружить и удалить. Тем не менее, этот же фактор является и минусом Freenet – система поиска все еще несовершенна.
Online-invisible_Freenet (1)
Чтобы пользоваться Freenet загрузите установщик и запустите его. На ваш компьютер установится программа Freenet и другие требуемые компоненты. Когда процесс инсталляции будет завершен, в браузере откроется страница пользовательского интерфейса Freenet. Программа работает с большинством маршрутизаторов. Но если у вас возникнут вопросы, ответы на них можно найти в подробном FAQ. Последующий доступ к Freenet можно осуществлять через меню в системном трее, с помощью ярлыка Browse Freenet на рабочем столе или через меню «Пуск». Также можно открыть программу, введя сочетание 127.0.0.1:8888 в адресной строке вашего браузера. Для большей безопасности следует использовать отдельный браузер для Freenet, желательно в режиме конфиденциальности. IE работает с Freenet не лучшим образом, поэтому предпочтительнее использовать Chrome, Firefox или Opera.
По умолчанию клиент Freenet будет работать в нейтральном режиме, автоматически подключаясь к другим узлам. Однако, если вы знаете несколько человек, которые уже используют данную сеть, вы можете добавить их в друзья, а затем включить режим повышенной безопасности. В таком случае ваш клиент Freenet будет устанавливать соединение только с друзьями, так что обнаружить ваше присутствие в сети будет практически невозможно. В то же время вы сможете пользоваться ресурсами Freenet через друзей, а также друзей ваших друзей. В таком режиме сеть будет работать не очень быстро. Увеличить скорость работы можно путем добавления в друзья более десяти пользователей, с которыми вы будете онлайн в одно и то же время.
Online-invisible_Freenet (2)
Чтобы добавить друга, вам и ему необходимо обменяться нод-ссылками. Отправить файл другому участнику сети, а также добавить свою нод-ссылку можно с помощью формы в нижней части страницы. Когда обе стороны обменяются нод-ссылками, узел вашего друга будет отображаться на вкладке «Друзья» со статусом «Подключен» или «Занят». Вы можете задать имя для вашего узла на странице конфигурации, чтобы вашим друзьям было проще понимать, что это именно вы. Рекомендуется добавлять в друзья только тех людей, которых вы действительно знаете. Если вы хотите настроить инструменты от сторонних разработчиков для использования с Freenet, для вас будет полезным данное руководство.

RestroShare

RestroShare — это открытое кросс-платформенное ПО для построения децентрализованной сети по принципу F2F (Friend-To-Friend). Обмен файлами и общение здесь происходит исключительно с проверенными друзьями, а не со всей сетью. После проверки подлинности и обмена асимметричным ключом, соединение устанавливается по SSH. Для шифрования используется OpenSSL, можно открывать доступ к папкам. Друзья друзей смогут видеть друг друга, если пользователи включат такую опцию, однако возможности для соединения у них не будет. Получается своеобразный аналог социальной сети.
Online-invisible_RetroShare (1)
В RestroShare существует несколько сервисов для общения: приватный чат, почта, форумы, а также голосовой чат посредствам VoIP-плагина. При первом запуске предлагается создать профиль и сгенерировать PGP-ключ для аутентификации. После создания учетной записи необходимо открыть настройки, кликнув по значку с шестеренкой. В подразделе Server следует включить UPnP и выбрать режим DarkNet или Private. Аналогичную настройку надо выполнить и для другого клиента.
Online-invisible_RetroShare (2)
Теперь можно добавить новый контакт, нажав на знак плюс и выбрав Add friend. Далее необходимо обменяться с другом PGP-ключами. Через некоторое время после ввода ключа клиенты найдут друг друга, и в списках друзей появится новый аккаунт. Для обмена файлами надо сделать доступной хотя бы одну папку. Безопаснее всего разрешать просмотр только друзьям. Для скачивания файлов переходим в раздел Files, где, выбрав друга, можем загрузить доступный контент. В контекстном меню можно запустить команду на скачивание нужных данных.
Коротко о других полезных решениях, повышающих уровень вашей анонимности в Интернете:

Firewalls (брандмауэры)

Norton Internet SecurityComodo FirewallZoneAlarm Free Firewall 2013 и Tiny Wall – альтернативы предустановленным Windows Firewall.
Steve Gibson’s ShieldsUP! – программа, позволяющая выявить уязвимые или открытые порты в вашей системе.

Безопасный интернет-серфинг

Stay Invisible – сервис, который предоставит вам полный отчет о той информации, которую пересылает в Интернет ваш браузер.
LastPass — менеджер паролей.
Disconnect.meDoNotTrackMe – дополнения для Firefox и Chrome, которые распознают и блокируют рекламные сети, инструменты веб-аналитики и ссылки на социальные сети, то есть всячески ограничивают наблюдение за вами.
Comodo DragonComodo IceDragon и Dooble – альтернативные браузеры, которые, по заявлению разработчиков, не делятся вашими данными с Google
DuckDuckGo – поисковая система, которая по заверениям ее создателей, не распознает IP-адрес и не сохраняет cookies клиента.
Adblock Plus – расширение для браузера, позволяющее отключать рекламные объявления.

Конфиденциальность e-mail

MyKolabHushMail – защищенные email-сервисы.
SecureGmail – аддон для Google Chrome, инструмент для шифровки онлайн-почты. Ваш адресат тоже должен будет установить эту программу, чтобы ввести ключ.
Enigmail – клиент для Thunderbird, с помощью которого можно зашифровать ваши сообщения.
Bitmessage – клиент электронной почты для Tor и I2P.
AirmailGuerrillaMail и Mailinator – сервисы для создания временных учетных записей.

Прокси и VPN

FoxyProxy – набор инструментов, который пригодится для настройки VPN при работе с Firefox, Google Chrome и Internet Explorer.
HotspotShieldComodoHideMyAss Pro и SurfEasy Total – несколько неплохих VPN.

Итоги

Мы ознакомили вас с перечнем основных решений, позволяющих в той или иной степени обезопасить ваше пребывание в Сети. Гарантированно стать невидимкой в Интернете можно только одним способом – вовсе не пользоваться им, но для большинства из нас это не выход. Тем не менее, приняв достаточно простые минимально необходимые меры, мы сможем увеличить уровень своей онлайн-анонимности, защититься от навязчивой рекламы и предотвратить кражу персональных данных.

Настройка IPsec L2TP сервера на Ubiquiti EdgeRouter

В этой публикации мы расскажем, как настроить EdgeRouter L2TP (протокол туннелирования уровня 2), используя локальную аутентификацию. Этот пример основан на проверке «до совместного использования» и не фокусируется на аутентификации на основе сертификата.
Важно! Применимо к прошивке EdgeOS 1.9.1+ во всех моделях EdgeRouter. Требуется знание интерфейса командной строки (CLI) и базовых сетевых знаний.

Что используем?

  • EdgeRouter-X (ER-X)
  • Тестовый клиент (Host1 and Server1)

Что делаем?

  • Топология сети
  • L2TP сервер
  • Правила Firewall
  • Windows-клиент
  • Тестирование и результат

Топология сети

Сетевая топология представлена ниже. IP адреса и интерфейсы, использованные Host1 и клиентским роутером не соответствуют этому примеру. Используя L2TP терминологию, ER-X является "L2TP-сервером", в то время как Host1 является "L2TP-клиентом".
Для ER используются следующие интерфейсы:
  • eth0 (WAN) - 203.0.113.1
  • eth1 (LAN) - 192.168.1.1/24

L2TP-сервер

В этом примере ER был предварительно настроен с помощью "Мастера базовой установки" (Basic setup wizard). Мы предположим, что хосты локальной сети могут быть связаны с хостами в Интернете.
UDP порты и протоколы, относящиеся к L2TP:
  • UDP 1701 (L2TP)
  • UDP 500 (IKE)
  • ESP (Protocol 50)
  • UDP 4500 (NAT-T) 
CLI STEPS: Получите доступ к интерфейсу командной строки (CLI). Вы можете сделать это, используя CLI-кнопку в GUI или используя программу PuTTY.
1. Запустите режим конфигурации.
configure
2. Измените настройки аутентификации сервера (замените своим паролем).
set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret
set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret <secret>
Примечание: Если Вы определяете предварительно представленный пароль используя кавычки, убедитесь что пароль на стороне клиента не включает эти самые кавычки. Для примера, set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret пароль 'sup3rSecure' должен выглядеть как 'sup3rSecure' на клиенте.
3.Создайте IP-адрес для использования VPN-клиентами.
set vpn l2tp remote-access client-ip-pool start 192.168.100.240
set vpn l2tp remote-access client-ip-pool stop 192.168.100.249
Примечание: Вы можете также выдавать IP адреса локальной субсети (192.168.1.0/24 в этом случае), но убедитесь, что они не пересекаются с IP адресами, которые выдает Ваш DHCP-сервер, или не используются другими устройствами Вашей сети. Определение адресов в том же радиусе, что и локальная субсеть, не рекомендуется, потому что оно может привести к проблемам с приложениями, которые полагаются на мультикаст (discovery).
4. Определите DNS серверы, которые будут использовать VPN клиенты.
set vpn l2tp remote-access dns-servers server-1 8.8.8.8
set vpn l2tp remote-access dns-servers server-2 8.8.4.4 
Вы также можете настроить DNS-сервер как внутренний IP-адрес самого маршрутизатора. В этом случае Вам также понадобится включить DNS пересылку (если она еще не включена) и установить адрес ожидания сети на тот же внутренний IP-адрес.
set vpn l2tp remote-access dns-servers server-1 192.168.1.1
set service dns forwarding options "listen-address=192.168.1.1"
set service dns forwarding cache-size 150
set service dns forwarding listen-on eth1 
5. Определите интерфейс WAN, который будете получать L2TP-запросы от клиентов.
Настройте только одно из следующих действий. Определите, какая команда лучше всего подходит для Вашей ситуации, используя следующие параметры:
(A) Ваш интерфейс WAN получает адрес через DHCP.
set vpn l2tp remote-access dhcp-interface eth0
(B) Ваш WAN-интерфейс настроен на статический адрес (замените значение на внешний адрес).
set vpn l2tp remote-access outside-address 203.0.113.1
(C) Ваш WAN-интерфейс получает адрес через PPPoE, или вы используете Dual WAN Load-Balancing.
set vpn l2tp remote-access outside-address 0.0.0.0
Примечание: Когда используются несколько восходящих линий (Dual WAN Load-Balancing), применяйте опцию C. Если Вы используете вариант A или B, Ваш сервер L2TP будет доступен только на одном адресе WAN.
6. Настройте локальную аутентификацию (замените на нужные Вам пользовательские пароли):
set vpn l2tp remote-access authentication mode local
set vpn l2tp remote-access authentication local-users username user1 password <password>
set vpn l2tp remote-access authentication local-users username user2 password <password>
7. (Необязательно) Определите интерфейсы IPsec, которые будут использоваться для L2TP.
Этот шаг зависит от используемой версии прошивки. Официальное использование этой команды устарело в версии 1.8.5.
set vpn ipsec ipsec-interfaces interface eth0
8. (Необязательно) Понизьте MTU для трафика L2TP.
Экспериментируйте с понижением значения MTU, если производительность L2TP низкая. Это может произойти, к примеру, когда внешний интерфейс WAN использует PPPoE (1492 байт MTU).
set vpn l2tp remote-access mtu <mtu-value>
9. (Необязательно) Включите требование от VPN-клиентов использовать определенный протокол аутентификации при подключении.
set vpn l2tp remote-access authentication require [ pap | chap | mschap | mschap-v2 ]
  • PAP - Require Password Authentication Protocol 
  • CHAP - Require Challenge Handshake Authentication Protocol 
  • MS-CHAP - Require Microsoft Challenge Handshake Authentication Protocol
  • MS-CHAP-V2 - Require Microsoft Challenge Handshake Authentication Protocol Version 2
10. Зафиксируйте изменения.
commit
11. Сохраните конфигурацию.
save

Правила Firewall

Правило WAN_LOCAL, созданное Мастером базовой установки (Basic Setup wizard), не разрешает входящие подключения по умолчанию. Для принятия VPN-трафика необходимо создать правила брандмауэра для L2TP, ESP и IKE.
1. Запустите режим конфигурации.
configure
2. Добавьте дополнительные правила L2TP, IKE, NAT-T и ESP для WAN интерфейсов.
set firewall name WAN_LOCAL rule 30 action accept
set firewall name WAN_LOCAL rule 30 description IKE
set firewall name WAN_LOCAL rule 30 destination port 500
set firewall name WAN_LOCAL rule 30 log disable
set firewall name WAN_LOCAL rule 30 protocol udp

set firewall name WAN_LOCAL rule 40 action accept
set firewall name WAN_LOCAL rule 40 description L2TP
set firewall name WAN_LOCAL rule 40 destination port 1701
set firewall name WAN_LOCAL rule 40 log disable
set firewall name WAN_LOCAL rule 40 protocol udp

set firewall name WAN_LOCAL rule 50 action accept
set firewall name WAN_LOCAL rule 50 description ESP
set firewall name WAN_LOCAL rule 50 log disable
set firewall name WAN_LOCAL rule 50 protocol esp

set firewall name WAN_LOCAL rule 60 action accept
set firewall name WAN_LOCAL rule 60 description NAT-T
set firewall name WAN_LOCAL rule 60 destination port 4500
set firewall name WAN_LOCAL rule 60 log disable
set firewall name WAN_LOCAL rule 60 protocol udp
Примечание. Имя локального правила брандмауэра, применяемого к интерфейсу WAN, может отличаться в Вашей среде. Независимо от схемы, убедитесь, что верное правило брандмауэра применяется в интерфейсе WAN или вручную применяйте его set interfaces ethernet eth0 firewall local name .
3. Зафиксируйте изменения.
commit
4. Сохраните конфигурацию.
save

Windows-клиент

Существуют различные способы подключения к серверу L2TP с использованием множества приложений и операционных систем. В этой статье мы сосредоточимся только на одном, встроенном VPN-клиенте Windows 10. Причиной выбора этого метода является то, что он обычно используется, и он также имеет важный момент, который стоит обсудить.
1. Перейдите к настройкам Windows 10 (WIN + I)> Сеть и Интернет> Добавить VPN-соединение:
  • VPN Провайдер: Windows (встроенный)
  • Название соединения: ER-L2TP
  • Название сервера: WAN IP-адрес сервера ER
  • VPN тип: L2TP/IPsec с предварительно представленным ключом или сертификатом.
2. Перейдите к свойствам сетевого адаптера Windows 10 (WIN + X)> ER-L2TP
Security > Allow these protocols > Microsoft CHAP Version 2 (MS-CHAP v2)
Примечание: Если ваш EdgeRouter находится вне NAT и Вы не можете подключиться к вашему серверу L2TP, это может быть связано с операционной системой Windows и тем, как она обрабатывает трафик IPsec на серверах/маршрутизаторах, расположенных вне устройства NAT. В этом случае примените хотфикс (шаг 3).
3. (Хотфикс) Перейдите в реестр Windows 10 (WIN + R)> regedit
Найдите следующее поддерево реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
Создайте новое DWORD (32-разрядное) значение в этом поддереве:
AssumeUDPEncapsulationContextOnSendRule
Измените вновь созданное значение DWORD, дайте ему значение 2 (по умолчанию 0) и перезагрузите компьютер.

Тестирование и результат

Последний шаг - протестировать и подтвердить прибытие трафика L2TP на внешний интерфейс и проверить журналы. Если есть проблемы с L2TP VPN, проверьте файлы журнала, чтобы определить проблему. После запуска сеанса L2TP проверьте соединение, используя следующие команды:
1. Проверить состояние IPsec в ER:
sudo ipsec statusall
Status of IKE charon daemon (strongSwan 5.2.2, Linux 3.10.14-UBNT, mips):
 uptime: 49 seconds, since Jul 17 14:01:59 2017
 malloc: sbrk 376832, mmap 0, used 272072, free 104760
 worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 0
 Listening IP addresses:
 192.168.1.1
 203.0.113.1
 10.255.255.0
Connections:
remote-access: 203.0.113.1...%any IKEv1, dpddelay=15s
remote-access: local: [203.0.113.1] uses pre-shared key authentication
remote-access: remote: uses pre-shared key authentication
remote-access: child: dynamic[udp/l2f] === dynamic[udp] TRANSPORT, dpdaction=clear
Security Associations (1 up, 0 connecting):
remote-access[1]: ESTABLISHED 30 seconds ago, 203.0.113.1[203.0.113.1]...192.0.2.1[172.16.1.10]
remote-access[1]: IKEv1 SPIs: 7ef8fd033bea7f4c_i 27eaafddd951c8dc_r*, rekeying disabled
remote-access[1]: IKE proposal: AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/ECP_384
remote-access{1}: INSTALLED, TRANSPORT, ESP in UDP SPIs: c009fce1_i cd73f1b4_o
remote-access{1}: AES_CBC_128/HMAC_SHA1_96, 3594 bytes_i (36 pkts, 18s ago), 675 bytes_o (17 pkts, 27s ago)
remote-access{1}: 203.0.113.1/32[udp/l2f] === 192.0.2.1/32[udp/l2f] 
2. Убедитесь, что трафик увеличивает счетчики на соответствующих правилах Firewall.
show firewall name WAN_LOCAL statistics 
------------------------------------------
IPv4 Firewall "WAN_LOCAL" [WAN to router]
 Active on (eth0,LOCAL) 

rule   packets  bytes   action   description
----   -------  -----   ------   -----------
10     2926     271414  ACCEPT   Allow established/related
20     0        0 DROP  Drop     invalid state
30     19       5512    ACCEPT   IKE
40     5        655     ACCEPT   L2TP
50     0        0       ACCEPT   ESP
60     8        1088    ACCEPT   NAT-T
10000  69       9516    DROP     DEFAULT ACTION
3. Захватите приход трафика L2TP на внешний интерфейс глобальной сети ER:
3. Захватить приход трафика L2TP на внешний интерфейс глобальной сети ER:
4. Захватите журналы ER IPsec VPN:
sudo swanctl --log
[NET] received packet: from 192.0.2.1[500] to 203.0.113.1[500] (408 bytes)
[IKE] 192.0.2.1 is initiating a Main Mode IKE_SA
[IKE] remote host is behind NAT
[CFG] looking for pre-shared key peer configs matching 203.0.113.1...192.0.2.1[172.16.0.10]
[CFG] selected peer config "remote-access"
[IKE] IKE_SA remote-access[15] established between ...
[IKE] CHILD_SA remote-access{5} established with SPIs ...
[KNL] 10.255.255.0 appeared on ppp0
5. IPsec Security Associations (SAs):
show vpn ipsec sa
remote-access: #545, ESTABLISHED, IKEv1, b0a8c5df5ff1b225:a251946b15ebaaae
 local '203.0.113.1' @ 203.0.113.1
 remote '172.16.0.10' @ 192.0.2.1
 AES_CBC-256/HMAC_SHA1_96/PRF_HMAC_SHA1/ECP_384
 established 351s ago
 remote-access: #17, INSTALLED, TRANSPORT-in-UDP, ESP:AES_CBC-128/HMAC_SHA1_96
 installed 8 ago
 in cd49a319, 0 bytes, 0 packets
 out 47a8a786, 0 bytes, 0 packets
 local 76.237.8.193/32[udp/l2f]
 remote 192.0.2.1/32[udp/l2f]
6. Пользователи и интерфейсы удаленного доступа:
show vpn remote-access 
Active remote access VPN sessions:

User       Time      Proto Iface Remote IP       TX pkt/byte   RX pkt/byte 
---------- --------- ----- ----- --------------- ------ ------ ------ ------
ubnt       00h01m22s L2TP  l2tp0 192.168.100.240     4     58     86   7.4K

show interfaces 
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface   IP Address    S/L   Description 
---------   ----------    ---   ----------- 
l2tp0       10.255.255.0  u/u   User: ubnt (192.168.100.240)
7. Отправить трафик через туннель от Host1 до Server1 и наоборот:
ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=63 time=45.9 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=63 time=45.2 ms
64 bytes from 192.168.1.10: icmp_seq=3 ttl=63 time=45.5 ms

ping 172.16.1.10
PING 172.16.1.10 (172.16.1.10) 56(84) bytes of data.
64 bytes from 172.16.1.10: icmp_seq=1 ttl=63 time=43.9 ms
64 bytes from 172.16.1.10: icmp_seq=2 ttl=63 time=44.1 ms
64 bytes from 172.16.1.10: icmp_seq=3 ttl=63 time=44.4 ms