Архив метки: Debian

Как очистить кэш DNS в Ubuntu/Debian

Как очистить кэш DNS в Ubuntu/Debian, этим вопросом рано или поздно задаются начинающие пользователи Linux систем. Сегодня рассмотрим два варианта очистки кэша DNS в системах Linux. Читать

Установка WireGuard на Ubuntu/Debian

Сегодня в статье приведу пример по установке и настройке VPN сервера WireGuard для операционных систем Ubuntu и Debian. Также данная статья будет справедлива и для всех производных систем данного типа.

WireGuard – это современная высокопроизводительная VPN для Linux,Windows, MacOS. Главной функцией WireGuard является обеспечение безопасного соединения между сторонами через сетевой интерфейс, зашифрованный с помощью аутентификации по открытому ключу. Это означает, что, в отличие от большинства виртуальных частных сетей, WireGuard не применяет топологию, что позволяет создавать различные конфигурации путем изменения конфигураций окружающей сети. Эта модель предлагает большую производительность и гибкость.

Сейчас WireGuard готовится к включению в состав ядра Linux. Если быть точнее, то он появится в ядре версии 5.6, он даже получил похвалу от Линус Торвальдса и в американском сенате.

Специалисты проверили скорость работы WireGuard и выяснили, что он способен обойти большинство протоколов шифрования в том числе широко известный протокол OpenVPN.

Причина, которая объясняет высокую скорость работы WireGuard, это применение быстрого и современного алгоритма шифрования, благодаря которому скорость передачи данных очень высока.

Кроме того, данный протокол очень похож на https, что позволяет обманывать системы анализа трафика DPI, установленные у Вашего провайдера и обходить эти блокировки по сигнатурам.

Установка и настройка при помощи скрипта

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

Первым шагом подготовим нашу систему:

sudo -su
apt update && apt upgrade -y
apt install curl

Далее скачиваем скрипт.

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

Делаем его исполняемым:

chmod +x wireguard-install.sh

Запускаем установку и настройку WireGuard

./wireguard-install.sh

Установка WireGuard на Ubuntu

Установку нашего VPN WireGuard я буду производить на сервере под управлением операционной системы Ubuntu/Debian. И так поехали.

Ubuntu 18.04

Для начала надо добавить официальный репозиторий в систему:

sudo add-apt-repository ppa:wireguard/wireguard
  • Обновляем индексы
sudo apt update
  • Устанавливаем wireguard
sudo apt install -y wireguard wireguard-dkms iptables resolvconf qrencode

Ubuntu 20.04/22.04

Так как пакет входит в официальный репозиторий, то необходимо набрать всего лишь данные команды:

  • Обновляем индексы
sudo apt update
  • Устанавливаем wireguard
sudo apt install -y wireguard wireguard-dkms iptables resolvconf qrencode

Установка WireGuard на Debian

Для того чтобы установить WireGuard на Debian с начало необходимо авторизоваться под root пользователем:

sudo su

Далее набираем следующее:

echo "deb http://deb.debian.org/debian buster-backports main" >/etc/apt/sources.list.d/backports.list
apt update
apt install -y iptables resolvconf qrencode
apt install -y -t buster-backports wireguard

Для остальных операционных систем можете посмотреть официальную страничку инсталляции.

Также установите заголовки для вашего ядра, если вы еще этого не сделали:

apt-get install linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//')

Настройка VPN WireGuard на серверной части

Давайте теперь настроим наш высокопроизводительный VPN на сервере wireguard. Для этого создадим файл конфигурации и необходимые ключи шифрования. Все действия выполняем из под root.

sudo su
(umask 077 && printf "[Interface]nPrivateKey = " | sudo tee /etc/wireguard/wg0.conf > /dev/null)
wg genkey | sudo tee -a /etc/wireguard/wg0.conf | wg pubkey | sudo tee /etc/wireguard/wg-server-publickey.key
  • Первая команда записывает исходное содержимое конфигурационного файла в /etc/wireguard/wg0.conf. Значение umask в суб-оболочке позволяет создать файл с ограниченными разрешениями, не затрагивая обычную среду.
  • Вторая команда генерирует закрытый ключ с помощью команды wg и записывает ее непосредственно в конфигурационный файл с ограниченным доступом. Затем ключ передается обратно команде wg pubkey, чтобы получить связанный с ним открытый ключ, который записывается в /etc/wireguard/wg-sever-publickey.key.

Следующим шагом нам необходимо включить форвардинг пакетов через наш сервер, для этого открываем следующий файл:

sudo nano /etc/sysctl.conf

И уберем знак комментария # со строки:

net.ipv4.ip_forward=1

Применим изменения

sudo sysctl -p

Далее отрываем файл на редактирования и вносим необходимую информацию о нашей VPN сети.

sudo nano /etc/wireguard/wg0.conf

Конфигурационный файл vpn wireguard

Внутри, в разделе [Interface], вы должны увидеть свой сгенерированный закрытый ключ. Этот раздел содержит конфигурацию для локальной стороны соединения.

В разделе Interface нужно также определить IP-адрес VPN, который будет использовать этот узел, и порт, который он будет прослушивать для соединений с одноранговыми узлами.

Давайте добавим в него следующие строки ListenPort, SaveConfig и Address:

[Interface]
PrivateKey = приватный_ключ_сервера
ListenPort = 5555
SaveConfig = true
Address = 10.0.0.1/24 
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wg0 -j MASQUERADE
  • ListenPort – указываем свободный порт который будет прослушивать наш сервис wg-quick (VPN WireGuard)
  • SaveConfig – имеет значение true, чтобы сервис wg-quick мог автоматически сохранять свою активную конфигурацию в этом файле при завершении работы.
  • Address – это наш IP-адрес и маска сети
  • PostUP и PostDown – запускают необходимые правило для iptables

Пробуем поднять нашу сеть скриптом wg-quick:

sudo wg-quick up /etc/wireguard/wg0.conf

В системах с systemd вместо этого можно использовать следующую запись:

sudo systemctl start wg-quick@wg0.service

Если systemd ругается, то сперва необходимо включить сервис следующей командой:

sudo systemctl enable wg-quick@wg0.service

Настройка VPN WireGuard на клиентской машине

В качестве клиента у меня будет выступать ноутбук с операционной системой Ubuntu Desktop 18.04 LTS

Все действия выполняем из под пользователя root.

sudo su
add-apt-repository ppa:wireguard/wireguard 
apt install wireguard -y

Для Ubuntu 20.04 необходимо повторить тоже самое, что и при установке на серверную часть. (см. Выше)

Далее создаем конфигурационный файл и генерируем ключи:

(umask 077 && printf "[Interface]nPrivateKey = " | sudo tee /etc/wireguard/wg0.conf > /dev/null)
wg genkey | sudo tee -a /etc/wireguard/wg0.conf | wg pubkey | sudo tee /etc/wireguard/wg-server-publickey.key

Открываем наш конфигурационный файл и вносим изменения.

sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = приватный_ключ_клиента
ListenPort = 5555
Address = 10.0.0.2/32 

Создайте раздел под названием [Peer] после раздела [Interface].

[Peer]
PublicKey = Публичный_ключ_сервера
AllowedIPs = 10.0.0.0/24
Endpoint = IP-адрес_сервера:5555
PersistentKeepalive = 10
  • PublicKey – укажите значение открытого ключа сервера. Вы можете найти это значение, набрав на сервере команду: wg
  • AllowedIPs – указывает на пропуск трафика через VPN. В данном случае будет проходить через VPN только трафик сети 10.0.0.0/24. Весть остальной трафик пойдет через вашего провайдер. Для заворота всего трафика через VPN указываем значение 0.0.0.0/0
  • PersistentKeepalive – время в секундах для постоянной проверки доступности ресурса.

Запускаем сервис на Ubuntu:

 sudo systemctl start wg-quick@wg0.service 

Запускаем сервис на Debian:

sudo wg-quick up /etc/wireguard/wg0.conf

Peer на стороне сервера

На сервере также необходимо добавить информацию о клиенте. Иначе ваш туннель VPN не откроется. Для этого возвращаемся на сервер и останавливаем службу wireguard:

sudo systemctl stop wg-quick@wg0.service

Далее открываем конфигурационный файл:

sudo nano /etc/wireguard/wg0.conf

И вносим информацию о клиенте.

[Peer]
PublicKey = публичный_ключ_клиента
AllowedIPs = 10.0.0.5/32
PersistentKeepalive = 10
  • PublicKey – ключ клиента можно посмотреть на клиентской машине при помощи команды wg.
  • AllowedIPs – указывает на IP клиента. Обязательно с маской 32

Запускаем наш сервис:

 sudo systemctl start wg-quick@wg0.service 

Пробуем пропинговать клиента.

ping 10.0.0.2
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.916 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.545 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.647 ms

Со стороны клиента также должен проходить пинг до сервера.

ping 10.0.0.1
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=2.40 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.646 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.555 ms

Хотя статья получилась большой, но все настраивается очень быстро.

Тонкая настройка параметров WireGuard на примере Proxmox

  • /usr/lib/sysctl.d/10-pve-ct-inotify-limits.conf
    fs.inotify.max_queued_events = 8388608
    fs.inotify.max_user_instances = 65536
    fs.inotify.max_user_watches = 4194304
    vm.max_map_count = 262144
    net.ipv4.neigh.default.gc_thresh3 = 8192
    net.ipv6.neigh.default.gc_thresh3 = 8192
    kernel.keys.maxkeys = 2000
  • /usr/lib/sysctl.d/10-pve.conf
    net.bridge.bridge-nf-call-ip6tables = 0
    net.bridge.bridge-nf-call-iptables = 0
    net.bridge.bridge-nf-call-arptables = 0
    net.bridge.bridge-nf-filter-vlan-tagged = 0
    net.ipv4.igmp_link_local_mcast_reports = 0
    fs.aio-max-nr = 1048576
  • /usr/lib/sysctl.d/50-pid-max.conf
    kernel.pid_max = 4194304
  • /etc/sysctl.d/99-sysctl.conf
    net.ipv4.ip_forward = 1
  • /usr/lib/sysctl.d/protect-links.conf
    fs.protected_fifos = 1
    fs.protected_hardlinks = 1
    fs.protected_regular = 2
    fs.protected_symlinks = 1
  • /usr/lib/sysctl.d/pve-firewall.conf
    net.ipv4.conf.all.rp_filter = 2
  • /etc/sysctl.d/wg.conf
    net.ipv4.ip_forward = 1
    net.ipv6.conf.all.forwarding = 1
  • /etc/sysctl.conf
    net.ipv4.ip_forward = 1

Команда ifconfig – синтаксис и примеры

Для обмена данными между хостами от одного компьютера к другому используется технология, которая называется ethernet.  Чтобы обмен данными стал возможен, как минимум необходимо настроить сеть между двумя устройствами.

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

Читать

Сервер времени на Linux Ubuntu | ntp server

Сегодня разберём установку и настройку ntp сервера или сервера времени на Linux |Ubuntu | Debian. Данное руководство применима и для настройки ntpd на любом другом Linux дистрибутиве (например CentOS). Читать

Установка и настройка Systemback Debian | Ubuntu | Linux

Сегодня рассмотрим очень полезную утилиту под названием SystemBack.




SystemBack – позволяет создавать резервные копии и точки восстановления вашей системы, а также создавать Live-образа и iso-образа, основанного на вашей системе, с возможностью инсталляции на другие компьютеры.




Имеется ещё ряд полезных функций таких как:




  • обновление системы,



  • удаления старых ядер,



  • резервное копирование по расписанию,



  • восстановление системы.




Установка Systemback в Debian | Ubuntu | Linux




Дня начала давайте скачаем сам пакет Systemback по следующей ссылке:




Скачать SystemBack




Далее необходимо распаковать и установить скаченный архив. Откройте терминал и выполните следующие действия:




cd /путь/куда/загрузили/пакет
tar -xvf systemback-install_pack-1.9.3.tar.xz
cd systemback-install_pack-1.9.3/
sudo sh ./install.sh




или можно пойти другим путем, добавить репозиторий в source лист:




sudo add-apt-repository ppa:nemh/systemback
sudo apt update
sudo apt install systemback




По окончании установки вы можете открыть Systemback из системного меню.




Программу нужно запускать с правами суперпользователя (root). При запуске из главного меню системы пароль будет запрошен автоматически. При запуске из терминала может возникнуть сообщение: «Root privileges are required for running the Systemback!».




Чтобы сообщение не появлялось необходимо запускать утилиту через sudo:




sudo systemback




Если программа установилась без поддержки русского языка, тогда доустановите пакеты локализации:




sudo apt-get install systemback-locales




Настройка русского языка в SystemBack




Если по какой либо причине русская локализация работает некорректно, например созданный iso-образ отображается при загрузке кракозябрами, то чтобы исправить это, вам необходимо загрузить исправленный языковой пакет, которым заменим пакет в SystemBack.
Загрузите и распакуйте языковый пакет по следующей ссылке:




Скачать SystemBack_ru-uk




Или так




cd /home/ваш_юзер/ 
wget https://yadi.sk/d/8ERBrAHRpyzXk 




Распаковываем скачанный архив в директории юзера:




unzip systemback_lang.zip 




После распаковки в директории будут располагаться файлы языковых пакетов которыми надо заменить существующие файлы в утилите SystemBack.




Для замены локализации проделаем следующие действия:




  • Удалить файл systemback_ru.qm установленный в системе. Для этого в терминале набираем следующую команду:




sudo rm /user/share/systemback/lang/systemback_ru.qm 




  • Копируем нужный языковой файл в директорию с программой:




sudo cp /home/ваш_юзер/systemback_lang/systemback_ru.qm /user/share/systemback/lang/




  • После замены файла, откройте Systemback – Настройки:



  • Перейдите в пункты и язык.




После всех этих изменений вы можете создать live-систему и iso-образ, основанных на вашей системе, с возможностью установки на другие компьютеры:




Все созданные файлы находятся в директории home, файловой системы дистрибутива:




Запишите iso-образы на флешку специальной программой (Cоздание загрузочного диска; mintinstall, Etcher и т.д.) и загрузитесь с неё.




Теперь Systemback Live будет отображаться без кракозябров:




Примечание. Подобное можно выполнить если у вас украинская локализация. В этом случае применяется второй файл из архива:




systemback_uk.qm.




Исправляем ошибку XDG_RUNTIME_DIR




Если после запуска у вас появляется предупреждение вроде этого:




QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’

Небезопасная авторизация X Windows




То для исправления данной ошибки нам необходимо сделать следующее:




Создадим файл для sudoers




sudo visudo -f /etc/sudoers.d/local




внесем в него следующее:




Defaults env_keep += "DISPLAY XAUTHORITY"




После данной манипуляции предупреждение должно исчезнуть.



[endtxt]




. . . .




2019-03-20T07:46:30
BackUp

Linux Debian not fully installed or removed.

При установке через ap-get глюкануло и не туда не сюда. Ничего не давало не установить не переустновить.
Через dpkg -r удалил эти пакеты, потом через apt-get их уже не было

Автор: Viktor