Переходим в режим суперпользователя:
sudo su

Обновим нашу систему:
apt-get update && apt-get upgrade && apt-get dist-upgrade

Установим клиента:
apt-get install pptp-linux

Создадим файл подключения:
nano /etc/ppp/peers/vpn

Его содержимое:
pty "pptp 192.168.1.125 --nolaunchpppd" #здесь измените адрес сервера, на ваш
require-mschap-v2
require-mppe-128
user test1 #имя пользователя
password "testtest" #пароль
nodeflate
nobsdcomp
noauth
nodefaultroute  #отключаем маршрут по умолчанию,
                #если он вам нужен - замените на defaultroute
persist #пере подключаться при обрыве
maxfail 10 #количество попыток пере подключения
holdoff 15 #интервал между подключениями

пробуем подключиться:
pppd call vpn

Если подключение прошло успешно появится сетевой интерфейс ppp:
ifconfig ppp
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:192.168.6.100  P-t-P:192.168.6.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:68 (68.0 B)  TX bytes:68 (68.0 B)

Для того что бы отключиться, можно набрать команду:
killall pppd

Так же, если вы не сделали маршрут по умолчанию, неплохо бы прописать маршрут до VPN сети, чтобы иметь доступ к ресурсам в этой сети. Что бы не делать это руками при каждом запуске, и не заморачиваться с дополнительными скриптами, выполним:
nano /etc/ppp/ip-up

И в конец файла добавим:
case "$5" in
        192.168.6.1)
                        route add -net 192.168.6.0/24 gw 192.168.6.1
                ;;
        *)
esac

Соответственно - 192.168.6.1 - адрес шлюза (нашего vpn сервера), 192.168.6.0 - наша vpn сеть, замените шлюз и сеть на свои.

Так же неплохо было бы сделать так, чтобы наше pptp подключение автоматически поднималось, и случае "зависания" - происходило пере подключение.
Для этого сделаем 2 скрипта, один для собственно подключения, второй для проверки связи, и пере подключения в случае каких-либо затупов.

Первый - pptp.sh:
nano ~/pptp.sh
#!/bin/sh
vpn='192.168.1.125' #внешний адрес или имя вашего pptp сервера
ps=`ps ax | grep $vpn | wc -l`
if [ $ps -ge 2 ]; then
exit 1;
else /usr/sbin/pppd call vpn
exit 0;
fi

Второй - pptp-reconnect.sh:
nano ~/pptp.sh
#!/bin/bash
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
#замените 192.168.6.1 на ваш внутренний адрес сервера.
if ! ping -Q 2 -c 4 -t 2 192.168.6.1; then
pids=( $(pgrep -f pppd) )
for pid in "${pids[@]}"; do
  if [[ $pid != $$ ]]; then
    kill "$pid"
  fi
done
/root/pptp.sh
fi

Не забываем сделать эти скрипты исполняемыми:
chmod +x ~/pptp.sh ~/pptp-reconnect.sh

Дальше добавим их в cron:
crontab -e

В конец файла добавляем:
*/1 * * * * /bin/bash /root/pptp-reconnect.sh

Соответственно */1 - означает, что нужно выполнять проверку раз в минуту, можно увеличить интервалы до значения, которое вы считаете нужным.

Пожалуй, всё. PPTP клиент на Ubuntu Server 16.04 у нас настроен.
  • Дата: 30-09-2019, 14:15
  • Автор: snak84
Полная статья »
Команда netstat (network statistics) используется для отображения информации о сетевых подключениях, таблицах маршрутизации, статистике интерфейса и за ее пределами. Она доступна во всех Unix-подобных операционных системах, включая Linux, а также в ОС Windows.
Если netstat не установлен у вас по умолчанию, используйте следующую команду для его установки:
$ sudo yum install net-tools #RHEL/CentOS
$ sudo apt install net-tools #Debian/Ubuntu
$ sudo dnf install net-tools #Fedora 22+ 
 
После установки вы можете использовать его с командой grep, чтобы найти процесс, прослушивающий конкретный порт в Linux, следующим образом:
$ sudo netstat -ltnp | grep -w ':80'
В приведенной выше команде используются следующие опции:
  • l — указывает netstat, — на то, что необходимо показывать только прослушивающие сокеты.
  • t — указывает на отображение tcp-соединений.
  • n — указывает на то, что необходимо показывать ip-адреса.
  • p — позволяет показывать идентификатор процесса и имя процесса.
  • grep -w — показывает соответствие точной строки (‘:80’).

  • Дата: 30-09-2019, 13:12
  • Автор: snak84
Полная статья »
Теперь нужно установить PM2. Это менеджер процессов Node.js. PM2 предоставляет простой способ управления и демонизации приложений.
Установку можно выполнить при помощи пакетного менеджера npm.
sudo npm install pm2@latest -g
При помощи опции –g менеджер npm выполнит глобальную установку PM2.
Менеджер процессов PM2 очень прост в использовании. Рассмотрим основы его работы.
Для запуска приложений в фоновом режиме используется команда pm2 start:
pm2 start hello.js
Также эта команда добавит приложение в список процессов PM2, который выводится на экран при запуске каждого приложения:
[PM2] Spawning PM2 daemon with pm2_home=/home/8host/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /home/8host/hello.js in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────┬───────────┬───────┬──────────┐
│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ cpu │ mem       │ user  │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────┼───────────┼───────┼──────────┤
│ hello    │ 0  │ fork │ 1338 │ online │ 0       │ 0s     │ 0%  │ 23.0 MB   │ 8host │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴───────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
Как видите, PM2 автоматически устанавливает App name (имя файла без расширения .js) и PM2 id. Также PM2 предоставляет другую информацию: PID процесса, текущее состояние, использование памяти.
Запущенное с помощью PM2 приложение будет автоматически перезапускаться в случае ошибок или сбоев, однако автозагрузку приложения нужно настроить отдельно. Для этого существует подкоманда startup. Эта команда генерирует и настраивает сценарий запуска менеджера PM2 и всех его процессов вместе с загрузкой сервера
pm2 startup systemd
В последней строке вывода находится команда, которую нужно запустить с привилегиями суперпользователя, чтобы добавить PM2 в автозагрузку:
[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u 8host --hp /home/8host
Запустите сгенерированную команду, чтобы настроить автозапуск PM2.
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u 8host --hp /home/8host
Также можно сохранить процесс PM2 и соответствующую среду.
pm2 save
Эта команда создаст unit-файл для systemd, запускающий pm2 при запуске сервера. Менеджер pm2, в свою очередь, запустит приложение hello.js. Проверьте состояние юнита systemd:
systemctl status pm2-8host

PM2 предоставляет множество других функций, которые позволяют управлять или просматривать информацию о приложениях. Запуск PM2 без каких-либо аргументов отобразит страницу справки, на которой можно найти подробные примеры использования PM2.
Остановить приложение можно при помощи:
pm2 stop app_name_or_id
Чтобы перезапустить приложение, введите:
pm2 restart app_name_or_id
Список приложений, управляемых PM2, можно просмотреть при помощи следующей подкоманды:
pm2 list
Подробную информацию о конкретном приложении можно получить с помощью подкоманды info, указав имя приложения:
pm2 info app_name
Подкоманда monit показывает данные процесса PM2: состояние приложения, использование CPU и памяти
pm2 monit
Теперь нужно настроить обратный прокси.


  • Дата: 30-09-2019, 13:00
  • Автор: snak84
Полная статья »

ведение

Node.js это платформа для разработки приложений на языке jаvascript, позволяющая быстро создавать приложения, работающие в сети. Использование jаvascript одновременно на клиентской и на серверной стороне позволяет сделать разработку более унифицированной и спроектированной в рамках единой системы.
В этом руководстве мы покажем вам, как начать использовать Node.js на сервере с Ubuntu 18.04.
  • Дата: 30-09-2019, 12:51
  • Автор: snak84
Полная статья »

Настройка языка и региональных стандартов вручную

Сначала нужно установить пакеты русификации для установленных программ, затем переключить в настройках язык и региональные стандарты.

Установка переводов для системных программ

Локализация для основных программ, которые не зависят от окружения:
sudo apt-get install language-pack-ru
  • Дата: 30-09-2019, 12:48
  • Автор: snak84
Полная статья »

Введение

MySQL является системой управления базами данных с открытым исходным кодом и обычно используется, как часть популярного стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). MySQL использует реляционную базу данных и SQL (Structured Query Language, язык структурированных запросов) для управления данными.
  • Дата: 30-09-2019, 12:15
  • Автор: snak84
Полная статья »
MQTT – это легковесный протокол сообщений, предназначенный для общения между устройствами (machine-to-machine) интернета вещей. Он используется для отслеживания перемещения транспортных средств, домашней автоматизации и сбора данных.
Mosquitto – это популярный MQTT-сервер (или брокер). Он прост в установке и настройке и активно поддерживается сообществом.
Данное руководство поможет установить Mosquitto, получить для него сертификат SSL от сервиса Let’s Encrypt и настроить безопасное взаимодействие устройств по MQTT.

  • Дата: 24-09-2019, 18:53
  • Автор: snak84
Полная статья »
Как установить и начать работать с решением для обеспечения виртуализации в среде Linux мы разобрались. Все вроде бы хорошо и виртуалки работают, но с подключенной сетью по умолчанию они спрятаны от внешнего мира за NAT.
Что бы дать полноценный доступ к виртуальным машинам – что бы они были видны в общей сети так же как и обычный компьютер нам надо настроить Bridge.

  • Дата: 20-09-2019, 21:45
  • Автор: snak84
Полная статья »