пятница, 30 июня 2017 г.

Как пользоваться OpenVPN

Чем больше государства пытаются контролировать интернет и устанавливать там свою цензуру, тем больше набирают популярности различные сервисы обхода. Одно из свободных решений для организации частных виртуальных систем - это OpenVPN. Вы можете использовать один из уже развернутых в сети серверов или же развернуть программное обеспечение в своей системе.
В одной из предыдущих статей мы рассматривали как настроить OpenVPN сервер в Ubuntu. В этой же статье более подробно остановимся на настройке подключения к серверу с помощью различных программ в Linux и Android, а также попытаемся понять как работает эта служба.

Как работает OpenVPN?

Вы уже знаете что программа организовывает виртуальную сеть между компьютерами и все данные в этой сети шифруются и недоступны для пользователей вне нее. Для достижения этой цели программа создает в системе виртуальное устройство tun0. Это такой же интерфейс, как и eth0 или wlan0, он имеет свой ip адрес. Весь трафик, который передается на этот интерфейс шифруется и передается в виртуальную сеть.
Поэтому для передачи трафика через OpenVPN будет достаточно добавить в таблицу маршрутизации несколько правил, которые будут заставлять трафик идти через интерфейс tun0.

Как пользоваться OpenVPN в Linux

Сначала рассмотрим как подключиться к OpenVPN из Ubuntu или любого другого Linux дистрибутива через терминал. Допустим, вы скачали файл конфигурации сервера .ovpn и хотите подключиться к этой сети. Для этого нужно установить клиент openvpn:
$ sudo apt install openvpn
А далее для подключения к сети достаточно выполнить команду openvpn и передать ей в параметры нужный вам файл:
$ sudo openvpn ~/Загрузки/config.ovpn
После этого окно терминала закрывать нельзя и если OpenVPN сервер был настроен правильно, то он уже передал на машину правильные маршруты и ваш трафик идет через виртуальную сеть. Давайте посмотрим маршруты:
$ sudo ip route
Здесь стоит обратить внимание на две строки:
0.0.0.0/1 via 192.168.243.1 dev tun0
169.254.0.0/16 dev enp2s0 scope link metric 1000
Первая направляет весь трафик системы на интерфейс tun0, а вторая более интересная, она разворачивает трафик ip сети 169.254.0.0 на реальный интерфейс. Если ее не будет, то весь трафик будет идти на tun0, в том числе и трафик от программы OpenVPN, который уже прошел этот интерфейс и получиться петля. Чтобы разорвать подключение в таком варианте достаточно нажать Ctrl+C в терминале, где вы запустили openvpn.
Второй способ использовать OpenVPN в Linux - это установить плагин openvpn для NetworkManager и подключатся с помощью него. Для установки этого пакета в Ubuntu выполните такую команду:
$ sudo apt-get install network-manager-openvpn
Теперь откройте апплет Network Manager, разверните "Соединение VPN" и выберите"Настроить соединение":
В открывшемся окне нажмите кнопку "+":
Затем выберите надпись "VPN".
Далее, вы можете взять "OpenVPN", но нас будет интересовать пункт "Импорт из файла".
Далее, просто выберите файл *.ovpn, который вы скачали на сервере. Осталось нажать кнопку "Добавить". Дальше вы можете активировать нужную сеть с помощью переключателя в окне настроек или аплета:
Снова смотрим таблицу маршрутизации:
$ sudo ip route
В целом, NetworkManager создает другие правила, но они работают так же. Настройка клиента openvpn на ubuntu завершена.

Использование OpenVPN в Android

Вы можете пользоваться OpenVPN на любой платформе, в том числе и на Android. Для устройств было выпущено официальное приложение OpenVPN Connect. С помощью него вы можете подключиться к сети, как и в предыдущем варианте, с помощью ovpn файла. Вы можете установить это приложение из Google Play:
Откройте приложение, нажмите на кнопку меню, затем выберите "Import" -> "Import profile from SDCard":
Выберите нужный файл и нажмите "Select":
Затем осталось нажать "Connect" для подключения к сети:
Настройка клиента openvpn включает только импорт конфигурационного файла, больше ничего не нужно. Дальше ваш трафик будет направлен через VPN, здесь тоже вы можете посмотреть таблицу маршрутизации, если установлен эмулятор терминала:
Правда, здесь мы не увидим такой ситуации, как в Linux, маршрутизация на VPN в Android осуществляется немного по-другому.

Как пользоваться OpenVPN в Windows

Нельзя было не рассказать в этой статье как пользоваться OpenVPN GUI в Windows, тем более что это ненамного сложнее чем в Android. Нам нужно установить клиент OpenVPN. Вы можете скачать его на официальном сайте:
После загрузки запустите программу от имени администратора и пройдите все шаги мастера:
Далее, запустите программу, найдите ее значок в трее, кликните по нему и выберите "Import":
Далее, просто выберите файл конфигурации *.ovpn для нужного VPN сервера:
Затем еще раз кликните по значку OpenVPN на панели, начнется инициализация и вы будете подключены к сети VPN, значок программы изменится на зеленый:
Теперь ваш трафик в операционной системе Windows тоже направлен через VPN. Как видите, использование OpenVPN очень просто во всех операционных системах.

Выводы

В этой статье мы рассмотрели как пользоваться OpenVPN для защиты от прослушивания вашего трафика. Большинство пользователей привыкли использовать OpenVPN для обхода блокировок, но ее можно использовать и для решения других полезных задач, например, для создания виртуальной сети между домом и рабочими компьютерами, для того чтобы никто не смог прослушать важную информацию. Надеюсь, эта статья была полезной для вас.

четверг, 29 июня 2017 г.

Оптимизация Linux Mint

Сегодня я обнаружил что Linux mint 18 стал грузиться медленнее чем Linux mint 17. Что не очень хорошо для моего ноутбука. Я выяснил что это связано с ненужными службами, приложениями, визуальными эффектами. Существует множество оптимизаций, позволяющих повысить скорость работы дистрибутива Linux Mint.
В этой статье мы рассмотрим как выполняется оптимизация Linux Mint. Я покажу только максимально безопасные. Проверял их сам на Toshiba Satelite l20 - 101 с Linux Mint 18.1 xfce и на компьютере HP Elite 7200 c linux mint 18.1 MATE. Перед дальнейшими инструкциями установите все обновления, чтобы не возникло ненужных ошибок.

Оптимизация Linux Mint

1. Оперативная память

При работе с Linux Mint выполнение различных операций со временем осуществляется медленнее. К счастью, это можно минимизировать. На жестком диске существует отдельный раздел для хранения данных, помещенных в оперативную память, который называется разделом подкачки. Интенсивность использования ядром дистрибутива Linux Mint раздела подкачки может быть изменена с помощью специального параметра конфигурации системы.
Вначале надо проверить величину этого параметра. Откройте терминал - ctrl + alt + t и выполните команду:
$ cat /proc/sys/vm/swappiness
Должно быть число 60. Дальше надо установить приложения gksu и leafpad. Можно через Synaptic или Терминал. В терминале используйте команду, она запросит ваш пароль
$ sudo apt install gksu leafpad
Установим новое значение параметра. Перейдите по пути /etc/ и откройте файл sysctl.conf текстовым редактором, либо командой:
$ gksudo leafpad /etc/sysctl.conf
В конце надо будет добавить vm.swappiness=10. Сохраните файл и перезагрузите ваш Компьютер / Ноутбук.

2. Настройка кэша inode

Только для ПК с 1 гб и больше так как это оптимизация приведет к долгому хранению системных файлов в оперативной памяти. Откройте файл /etc/sysctl.conf:
$ gksudo leafpad /etc/sysctl.conf
Опуститесь вниз файла и добавьте эту строчку в конце:
$ vm.vfs_cache_pressure=50

3. Настройка zram

Только ПК с оперативной памятью 768 Мб или больше. Внимание это может привести к нестабильной работе всей системы! Сделайте бэкап данных.
Работа данной оптимизации:
  • Центральный процессор вашего компьютера (CPU) будет использоваться более интенсивно, так как будут осуществляться постоянные сжатие и распаковка данных;
  • Если система полностью заполнит файл подкачки в оперативной памяти, она начнет дополнительно использовать классический раздел подкачки на жестком диске. При этом она также может переместить в этот раздел часть файла подкачки из оперативной памяти, что еще более замедлит ее работу;
  • На данный момент рассматриваемый модуль все еще является экспериментальным, поэтому реализованный в рамках него дополнительный уровень хранения данных может снизить стабильность работы системы.
Нужен пакет zram-config. Можете через synaptic, но я больше люблю использовать терминал.
$ sudo apt install zram-config
Перезагрузите ПК после установки. Можно командой:
$ reboot
Надо проверить работу данного модуля:
$ cat /proc/swaps
Должен появится отчёт о разделах на /dev/zram. Если система стала работать неправильно или zram вам уже не нужен, то делаем следующее:
$ sudo apt purge zram-config
Если у вас мало оперативной памяти, то вы точно заметите ускорение Linux Mint 18. Подробнее про настройку zram в linux написано в другой статье.

4. Отключение индексации

Как и в Windows, в Linux есть приложение для ускорения поиска, которое также тормозит работу системы. Данное приложение удалить полностью через synaptic нельзя. Он удалит лишь его часть. Следовательно надо использовать терминал.
$ sudo apt purge apt-xapian-index
Перезагрузите ПК для окончания применения изменений.

5. Оптимизация LibreOffice

Как всем известно, java имеет очень медленный компилятор. Скорость запуска LibreOffice повысилась раза в 3 после отключения java. Но она стоит там не просто так. Некоторые функции требуют java. Так что если вам они нужны то не отключайте. Откройте приложение Writer.
Зайдите в меню Сервис — Параметры LibreOffice — Расширенные возможности» и убрать флажок «Использовать виртуальную машину Java». Включить поддержку можно в любой момент просто вернув галочку в том поле:

6. Настройка автозагрузки

В Wndows это msconfig, а в Linux есть несколько способов решения этой задачи. Автозапуск сильно замедляет как и запуск системы, так и работу в целом. Часть программ настраивается через графический интерфейс - Меню - Параметры - Автозапуск. В XFCE это Сеансы и запуск. Но там не все службы. Далее, я буду писать зачем нужна каждая из служб, которые я буду отключать и как их отключить через терминал. Сначала смотрим скорость загрузки системы:
$ systemd-analyze
Выключить:
$ sudo systemctl disable служба
Включить:
$ sudo systemctl enable служба
avahi-daemon.service - это процесс для обнаружения ПК в домене .local. Если у вас один пк в домашней сети или у вас нет домена .local. То можно смело отключать:
$ sudo systemctl disable avahi-daemon.service
cgmanager.service - предназначен для управления cgroup. Служба нужна только людям использующих контейнер LXC. Этот контейнер позволяет создавать виртуальные машины почти без потерь производительности. Но я не использую виртуализацию. Отключаю:
$ sudo systemctl disable cgmanager.service  
cups-browsed.service – это служба для принтеров. Сейчас у меня нет принтера, но если появится я просто включу эту службу.
$ sudo systemctl disable cgmanager.service  
geoclue.service – это служба, которая отправляет вашу геолокацию приложениям. Без каких-либо вопросов отключаем:
$ sudo systemctl disable geoclue.service  
Службы vm2-lvmetad и lvm2-monitor относятся к службам управления логическими томами (LVM – Logical Volume Management). Если вы не используете логические тома то можно отключать. Если при установке вы выбрали автоматическую, то у вас все первичные.
$ sudo systemctl disable vm2-lvmetad.service 
$ sudo systemctl disable lvm2-monitor.service  
Результаты выполнения может быть таким:
Failed to execute operation: No such file or directory и
Removed symlink /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service
ModemManager.service – это интерфейс, позволяющий реализовать подключение к сети интернет, используя мoдемы, каналы связи (2G/3G/4G/CDMA). У меня вообще шнур так что отключаю.
$ sudo systemctl disable ModemManager.service
speech-dispatcher.service - это унифицированный API, который имеет предназначение для изменения порядка вызова синтезатора, так же позволяет предотвратить наложения звука при нескольких приложениях, использующих звук. Я не планирую включать сразу штук 8 песен. Так что отключаю:
$ sudo systemctl disable speech-dispatcher.service   
ssh.service - это сервис удаленного управления системой через терминал. Я таким не пользуюсь => отключаем.
$ sudo systemctl disable ssh.service 
ufw.service – служба межсетевого экрана. Это брандмауэр. Мне он нужен, но многим нет.  Будем не отключать а удалять. Через Synaptic или терминал.
$ sudo apt purge ufw 

Я перечислил все службы, которые можно отключить безболезненно для системы. Теперь перезагрузка и тест скорости. После отключения служб вы точно заметите ускорение работы linux mint.
$ reboot
$ systemd-analyze
Читайте подробнее про ускорение загрузки Linux в отдельной статье.

7. Настройка окружения

Визуальные эффекты делают систему красивой. Если вы любите MacOS вам не пережить их отключение. Те, кто пользовался Windows 7 aero знают как это всё тормозит.
Linux Mint Cinnamon: для начала необходимо открыть: «Меню — Параметры системы — Эффекты» и отключить все эффекты в открывшемся окне. Далее, необходимо открыть: «Меню — Параметры системы — Общие» и активировать переключатель в пункте списка «Отключить композитинг для полноэкранных окон».
Linux Mint Mate: откройте «Меню — Настройки — Окна», перейдите на вкладку «Общие» открывшегося окна и уберите флажок «Включить композитный менеджер».
Linux Mint Xfce: необходимо «Меню — Параметры рабочего стола» и изменить оконный менеджер с «Xfwm4 + Compositing» на «Xfwm4».
Не забудьте поставить фоном один сплошной цвет.

8. Браузеры

Каждое дополнительное расширение для firefox и chromium замедляют его запуск и работу. удалите ненужные вам. Например, вместо онлайн читалки поставить локальную программу.
Теперь конкретно про firefox. В первую очередь следует ввести в адресную строку веб-браузера about:config и нажать клавишу Enter. Далее, нужно нажать на кнопку Я принимаю на себя риск!.
Вам следует ввести в поле поиска на открывшейся странице запрос sessionstore и использовать двойной клик для редактирования значения параметра browser.sessionstore.interval. По умолчанию он имеет значение 15000, соответствующее 15 секундам. Вы можете добавить к значению несколько нулей таким образом, чтобы оно превратилось в значение 15000000 и нажать на кнопку OK для сохранения изменений.
Далее, переключите эти параметры в положение false:
  • browser.sessionstore.restore_on_demand
  • browser.sessionstore.resume_from_crash
  • services.sync.prefs.sync.browser.sessionstore.restore_on_demand
Осталось закрыть все окна веб-браузера Firefox и перезапустить его.

9. Очистка Linux Mint

В Linux, как и в Windows скапливается мусор. Но в отличие от Windows у него нет реестра, что даёт возможность удалить весь мусор.
$ sudo apt autoclean
$ sudo apt autoremove
Не забудьте удалить ненужные программы. Например, мне не нужен VLC когда стоит dragon player.
$ sudo apt purge vlc

10. Установка драйверов

Многие забывают поставить нужные драйвера и устройства используются не на максимум своих возможностей. Например, у меня не было драйвера процессора. Откройте меню и впишите драйвера. Я заменил свободный драйвер nvidia на проприетарный. Все стало гораздо быстрее.

11. Оптимизация tmp

Если у вас много оперативной памяти можно ещё больше ускорить систему с помощью перемещения файлов с жесткого диска на виртуальный раздел в оперативной памяти. Откройте терминал.
$ sudo cp -v /usr/share/systemd/tmp.mount /etc/systemd/system/ 
$ sudo systemctl enable tmp.mount 
$ reboot 
Проверка работы:
$ systemctl status tmp.mount 
Если вам он больше не нужен просто удалите его:
$ sudo rm -v /etc/systemd/system/tmp.mount 
$ reboot 

12. Оптимизация wifi

Оптимизация Linux Mint также может включать ускорение wifi. Узнаем как названа ваша сетевая карта в системе:
$ iwconfig 
Затем вы сможете узнать название. Например, wlp2s0. Отключим энергосбережение.
$ gksudo xed /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf 
Строчку:
wifi.powersave = 3
меняем на:
wifi.powersave = 0
Теперь сохраняем документ и перезагружаем ПК. Выполните команду для проверки:
$ iwconfig 
Если появилась надпись Power management:off то вы все настроили. Для сетевых карт intel есть особый способ ускорения, поскольку система для неё использует драйвер iwlwifi. Нужно активировать функцию Tx AMPDU.
Функция AMPDU предназначена для ускорения передачи данных путем объединения нескольких наборов данных друг с другом. До версии 18.1 включалась автоматически, но была убрана из-за проблемных чипсетов.
В первую очередь следует убедиться в том, что для взаимодействия с чипсетом вашей беспроводной сетевой карты используется именно драйвер iwlwifi.
$ lsmod | grep iwlwifi 
Если появилась строка «iwlwifi» то можно продолжать.
$ echo "options iwlwifi 11n_disable=8" | sudo tee /etc/modprobe.d/iwlwifi11n.conf 
Теперь нужно перезагрузить ПК. Перед перезагрузкой запишите себе эту команду:
$ sudo rm -v /etc/modprobe.d/iwlwifi11n.conf 
Она нужна для отката изменений если сеть не будет работать.

Выводы

Теперь вы знаете как выполняется ускорение Linux Mint 18. Я очень надеюсь что помог другим пользователям. Пишите в комментариях вашу скорость запуска и скорость работы после проделанных изменений. Насколько вам помогла оптимизация Linux Mint 18 по сравнению с тем, как было раньше?