Рубрики
Debian \ apt \ update \ install \ dpkg

debian 12 / php / repo

Ссылки:

https://synay.net/support/kb/installing-multiple-versions-php-73-74-81-82-debian-12
How To Install PHP (8.3, 8.2 or 7.4) on Debian 12

sudo apt install -y apt-transport-https lsb-release ca-certificates wget 
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list 

Вместо packages.sury.org пишем packages.sury.su и все будет работать из РФ.

Если нам нужна версия php 8.2 выполним ее установку:
apt install php8.2

Для установки php 8.1 выполним установку:
apt install php8.1

Для установки php 7.4 выполним установку:
apt install php7.4

Для установки php 7.3 выполним установку:
apt install php7.3


Для выбора версии:
update-alternatives --set php /usr/bin/phpX.X
update-alternatives --set php /usr/bin/php7.4 

Проверка версии:
php -v 


Переключить php для апач:
a2dismod php8.2
a2enmod php7.2
systemctl restart apache2



Возможно придется еще доставить:
#apt install php-intl php-zip php-xm curl php-curl php-mbstring
apt install php7.2 libapache2-mod-php7.2 php7.2-{mysql,intl,curl,json,gd,xml,zip}
apt install php7.2-mbstring 

systemctl stop apache2
systemctl start apache2

Рубрики
Debian \ apt \ update \ install \ dpkg

debian minidlna / dlna / просмотр видео

нахрена?

DLNA (англ. Digital Living Network Alliance) — набор стандартов, 
позволяющих совместимым устройствам передавать и принимать по домашней сети различный медиаконтент (изображения, музыку, видео), а также отображать его в режиме реального времени. 
То есть — технология для соединения домашних компьютеров, мобильных телефонов, ноутбуков и бытовой электроники в единую цифровую сеть. 
Устройства, которые поддерживают спецификацию DLNA, по желанию пользователя могут настраиваться и объединяться в сеть в автоматическом режиме.

Средой передачи медиаконтента обычно является домашняя локальная сеть (IP-сеть). 
Подключение DLNA-совместимых устройств к домашней сети может быть как проводным (Ethernet), так и беспроводным (Wi-Fi).

Ссылки:

https://ru.wikipedia.org/wiki/DLNA
https://media-player-s.ru/vlc-dlna

Установка сервера dlna на debian 11 и настройка

0. Ставим
apt update
apt install minidlna

1. Редактируя файл настраиваем. (Конфиг достаточно информативный, ниже строки на которые следует обратить внимание)
vim /etc/minidlna
-----------------
media_dir=V,/mnt/datastore2/films
media_dir=A,/mnt/datastore2/music
merge_media_dirs=yes
db_dir=/var/cache/minidlna
log_dir=/var/log
port=8200
-----------------

2. Собственно перезапускаем и заодно проверяем minidlna
systemctl stop minidlna.service
systemctl start minidlna.service
systemctl enable minidlna.service
systemctl status  minidlna.service

3. Что дальше?
А дальше на клиенте запускаем любой клиент dlna.
windows media player (сеть)
VLC (нажать вит - плейлист - появится окно - протокол UPnP )
AndroidTV  - VLC
Рубрики
debian daemons \ демоны \ службы \ сервисы

sysstat / измерения и анализа производительности системы

0. Установка
apt install sysstat

1. Настройка конфига
vim /etc/default/sysstat
------------------------
ENABLED="true"
------------------------

2. При желании можно отредактировать частоту снятия метрик
vim /etc/cron.d/sysstat

3. Запускаем и включаем sysstat
systemctl enable sysstat
systemctl start sysstat
systemctl restart sysstat

4. Использование
sar 
sar -d
sar -p 
sar -S -f /var/log/sysstat/sa10
sar -P ALL 3 10
Рубрики
debian daemons \ демоны \ службы \ сервисы

debian / vpp

Ссылки:

https://packagecloud.io/fdio/staging/install#bash-deb
https://wiki.fd.io/view/VPP/Installing_VPP_binaries_from_packages

Установка из репозитория (автоматическая):

#Debian 11, ошибка установки vpp (нету пакетов vpp) 
apt install git curl sudo 
curl -s https://packagecloud.io/install/repositories/fdio/staging/script.deb.sh | sudo bash
sudo apt-get update
sudo apt-get install vpp
sudo apt-get install vpp vpp-plugin-core vpp-plugin-dpdk vpp-dbg vpp-dev vpp-ext-deps vpp-api-python vpp-api-java

Debian 11, скачиваем и ставим пакеты руками:

sudo apt-get update
sudo apt-get install debian-archive-keyring
sudo apt-get install curl gnupg apt-transport-https

cd /opt && mkdir vpp && cd vpp
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-dbg_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-plugin-core_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-plugin-dpdk_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/python3-vpp-api_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-dev_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-plugin-devtools_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/libvppinfra-dev_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/libvppinfra_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/python3-vpp-api_22.06-release_amd64.deb/download.deb
wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp_22.06-release_amd64.deb/download.deb
apt install ./*.deb

gns3 — cpu no support sse4.2:

Add RAM 2Gb+
Add options(Additional settings):
-cpu Nehalem,+ssse3,+sse4.1,+sse4.2,+aes -nographic
Рубрики
debian daemons \ демоны \ службы \ сервисы

debian / minecraft / MinecraftForge

Ссылки:

https://github.com/MinecraftForge/MinecraftForge

https://files.minecraftforge.net/net/minecraftforge/forge/
https://www.curseforge.com/minecraft/mc-mods

https://www.minecraft.net/ru-ru/download/server
https://minecraft.fandom.com/wiki/Server.properties

https://mcversions.net/

https://rutracker.org/forum/viewtopic.php?t=4891689

Minecraft launcher:

https://www.minecraft.net/en-us/download

Minecraft server / client установка (debian 11):

wget https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar
sudo apt-get install default-jre
sudo apt --fix-broken install
java -jar forge-1.19-41.1.0-installer


Рубрики
Debian \ apt \ update \ install \ dpkg

debian 11 / apt-mirror / gpg

Ссылки:

https://wiki.debian.org/ru/CreateLocalRepo
https://wiki.debian.org/DebianRepository/Setup
https://wiki.debian.org/DebianRepository/Setup?action=show&redirect=HowToSetupADebianRepository

https://low-level.wiki/mirrors/ubuntu_repos.html

https://computingforgeeks.com/creating-ubuntu-mirrors-using-apt-mirror/
http://www.linux-admins.net/2013/11/creating-official-debian-mirror-with.html
https://wiki.debian.org/DebianRepository/Setup

https://habr.com/ru/post/46314/

How to export and import keys with GPG
https://wiki.ubuntu.com/Mirrors/Scripts https://askubuntu.com/questions/1105932/18-04-local-mirror-missing-some-translations-en http://freecoder.ru/zametki-o-linux/apt #### patch error: i18n/Translation-en 404 Not Found https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932379

Репозитории debian 11:

Редактируем список репозиториев
vim /etc/apt/sources.list
-------------------------
deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free

deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free

deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

deb http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
-------------------------

Установка apt-mirror:

0. Ставим пакеты: 
apt update
apt install apt-mirror vim nginx gnupg


1. Редактируем настройки apt-mirror
vim /etc/apt/mirror.list
------------------------
############# config ##################
#
set base_path    /var/spool/apt-mirror
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  
# set postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

#deb http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-src http://ftp.us.debian.org/debian unstable main contrib non-free

# mirror additional architectures
#deb-alpha http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-amd64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-armel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-hppa http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-i386 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-ia64 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-m68k http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mips http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-mipsel http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-powerpc http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-s390 http://ftp.us.debian.org/debian unstable main contrib non-free
#deb-sparc http://ftp.us.debian.org/debian unstable main contrib non-free



### need repo
#

deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free

deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free

deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

deb http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free

#
#### need repo end

#clean
clean  http://deb.debian.org/debian
clean  http://deb.debian.org/debian-security
------------------------




2. Редактируем настройки nginx
vim /etc/nginx/conf.d/mirrors.conf
----------------------------------
server {
 listen 80;
 server_name mirror.b14esh.com;
 root /var/spool/apt-mirror;

 location / {
   autoindex on;
 }
}

----------------------------------


3. еще можно заменить дефолтный nginx
vim /etc/nginx/sites-available/default
--------------------------------------
root  /var/spool/apt-mirror;
--------------------------------------


4. После настройки nginx 
systemctl restart nginx.service


!!! Придется делать каждый раз после обновления репозитория, но проще добавить "[trusted=yes]"
5. Подпись репозитория
- Переходим в каталог root:
cd /root

- Создаем ключ:
#gpg --full-gen-key
gpg --gen-key

- Переходим в каталог репозитория:
cd  /var/spool/apt-mirror

- Ищем "Release.gpg":
find -name Release.gpg

./mirror/deb.debian.org/debian-security/dists/bullseye-security/Release.gpg
./mirror/deb.debian.org/debian/dists/bullseye-backports/Release.gpg
./mirror/deb.debian.org/debian/dists/bullseye-updates/Release.gpg
./mirror/deb.debian.org/debian/dists/bullseye/Release.gpg
./skel/deb.debian.org/debian-security/dists/bullseye-security/Release.gpg
./skel/deb.debian.org/debian/dists/bullseye-backports/Release.gpg
./skel/deb.debian.org/debian/dists/bullseye-updates/Release.gpg
./skel/deb.debian.org/debian/dists/bullseye/Release.gpg

- Подписываем репозиторий:
cd  /var/spool/apt-mirror/mirror/deb.debian.org/debian-security/dists/bullseye-security/
gpg --armor -o Release.gpg -sb Release
cd  /var/spool/apt-mirror/mirror/deb.debian.org/debian/dists/bullseye-backports/
gpg --armor -o Release.gpg -sb Release
cd  /var/spool/apt-mirror/mirror/deb.debian.org/debian/dists/bullseye-updates/
gpg --armor -o Release.gpg -sb Release
cd  /var/spool/apt-mirror/mirror/deb.debian.org/debian/dists/bullseye/
gpg --armor -o Release.gpg -sb Release
cd  /var/spool/apt-mirror/skel/deb.debian.org/debian-security/dists/bullseye-security/
gpg --armor -o Release.gpg -sb Release
cd  /var/spool/apt-mirror/skel/deb.debian.org/debian/dists/bullseye-backports/
gpg --armor -o Release.gpg -sb Release
cd  /var/spool/apt-mirror/skel/deb.debian.org/debian/dists/bullseye-updates/
gpg --armor -o Release.gpg -sb Release
cd  /var/spool/apt-mirror/skel/deb.debian.org/debian/dists/bullseye/
gpg --armor -o Release.gpg -sb Release

- Экспортируем ключ:
gpg --list-keys - смотрим какие есть ключи
gpg --export -a USER_NAME > /var/spool/apt-mirror/public.gpg




Использование репозитория:

#wget http://192.168.15.157/public.gpg
wget http://sever_name_IP/pubring.gpg
apt-key add public.gpg

Для использования репозитория нужно добавить его в файл /etc/apt/sources.list в виде следующей строки (в общем виде):
deb file:///путь_к_папке_репозитория/ ветка разделы

Например:
deb file:///home/repository/ squeeze main contrib non-free


Пример:
deb [trusted=yes] http://192.168.15.157/deb.debian.org/debian bullseye main contrib non-free
deb-src [trusted=yes] http://192.168.15.157/deb.debian.org/debian bullseye main contrib non-free
deb [trusted=yes] http://192.168.15.157/deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src [trusted=yes] http://192.168.15.157/deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb [trusted=yes] http://192.168.15.157/deb.debian.org/debian bullseye-updates main contrib non-free
deb-src [trusted=yes] http://192.168.15.157/deb.debian.org/debian bullseye-updates main contrib non-free
deb [trusted=yes] http://192.168.15.157/deb.debian.org/debian bullseye-backports main contrib non-free
deb-src [trusted=yes] http://192.168.15.157/deb.debian.org/debian bullseye-backports main contrib non-free

Рубрики
Debian \ apt \ update \ install \ dpkg

bmx 6 / bmx 7 / mesh / debian / checkinstall -D / deb

https://github.com/bmx-routing/bmx7

https://www.open-mesh.org/projects/open-mesh/wiki
https://www.open-mesh.org/projects/batman-adv/wiki
https://www.open-mesh.org/projects/batmand/wiki
https://github.com/bmx-routing/bmx6

https://habr.com/ru/post/40183/

https://eax.me/checkinstall/

https://www.dmosk.ru/instruktions.php?object=build-deb
https://intellect.icu/sborka-deb-paketov-iz-iskhodnikov-debian-11261
https://andreyex.ru/debian/kak-sobrat-pakety-debian-iz-ishodnogo-koda/
https://habr.com/ru/post/40183/
Собираем свой debian-пакет с файлами.

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

apt install gcc make libjson-c-dev zlib1g-dev libiw-dev libmbedtls-dev dpkg-dev devscripts checkinstall

bmx6:

git clone git://qmp.cat/bmx6.git # alternative: https://github.com/axn/bmx6.git
cd bmx6

#make
#sudo make install

checkinstall -D
apt install ./bmx6.deb

mbedtls:

Для криптографических операций требуется крипто библиотека mbed TLS или PolarSSL: 
наиболее протестировано с debian или mbedtls-2.4.0.

wget https://tls.mbed.org/download/mbedtls-2.4.0-gpl.tgz
tar xzvf mbedtls-2.4.0-gpl.tgz
cd mbedtls-2.4.0
#make
#sudo make install
# compile bmx7 with: make EXTRA_CFLAGS="-DCRYPTLIB=MBEDTLS_2_4_0"

checkinstall -D
apt install ./mbedtls-2.4.0.deb 

bmx7

cd /usr/src


git clone https://github.com/bmx-routing/bmx7.git
cd bmx7/src

make EXTRA_CFLAGS="-DCRYPTLIB=MBEDTLS_2_4_0"

sudo make install

bmx6 tool

!!! Только если соответствующая информация существует для запрошенного типа, она будет показана.

Добавить устройство в bmx6:
bmx6 dev=ovsbr0

Посмотреть устройства добавленные в bmx6:
bmx6 -c interfaces

Посмотреть статус: 
bmx6 -c status

Посмотреть соседей:
bmx6 -с originators

Посмотреть параметры bmx6:
bmx6 -c descriptions

Посмотреть параметры туннели:
bmx6 -c tunnels

Запустить клиентский процесс bmx6 на уровне отладки 8:
bmx6 -cd8

Пример как отфильтровать вывод команды bmx6:
bmx6 connect show=status show=interfaces show=links show=originators show=tunnels

bmx6 + ovs

0. ovs
ovs-vsctl add-br ovsbr0
ovs-vsctl add-port ovsbr0 ens3
ovs-vsctl add-port ovsbr0 ens4
ovs-vsctl add-port ovsbr0 ens5
ovs-vsctl add-port ovsbr0 ens6


3. /etc/network/interfaces
---------------------------
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

#source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto ens3
iface ens3 inet dhcp
 
auto ens4
iface ens4 inet manual
 
auto ens5
iface ens5 inet manual

auto ens6
iface ens6 inet manual


auto ovsbr0
iface ovsbr0 inet static
             address 10.0.0.1/24
             post-up bmx6 dev=ovsbr0
---------------------------
Рубрики
debian daemons \ демоны \ службы \ сервисы

debian \ iperf3 \ systemd \ systemctl

Ссылки:

https://iperf.fr/
https://www.dmosk.ru/instruktions.php?object=iperf

iperf примеры использования:

!!! Совместимость iPerf и iPerf3
!!! Клиент и сервер совместимы, но нужно знать, что по умолчанию, рабочий порт для iPerf — 5001, для iPerf3 — 5201.

Сервер:
iperf -s
iperf3 -s -p 8080 поднять сервер для теста скорости

Клиент:
iperf -c 10.0.0.1 - подключится к серверу для теста (стандартный порт 5201)
iperf3 -c 172.16.12.1 -p 8080 -t 180 проверить скорость в течении 180 секунд
iperf3 -c 10.0.0.1 -u - используем UDP
iperf3 -c 10.0.0.1 -p 443 - используем не стандартный порт 443
iperf3 -c 10.0.0.1 -t 30 -i 2 - проверка скорости в течение 30 секунд с интервалами по 2 секунды
iperf3 -c 10.0.0.1 -P 3 - несколько параллельных запросов
iperf3 -c 10.0.0.1 -n 3G - отправляем на проверку 3 Гб данных
iperf3 -c 10.1 -R t 30 - тут мы используем(-R), режим Reverse Mode для тестирования входящей скорости на клиенте (в этом случае сервер передает данные, а клиент принимает.

-P <число> (в данном примере тестирование будет выполняться в 2 потока)
-t <сек> длительность тестирования (по умолчанию 10 сек)
-i <сек> можно изменить интервал времени для вывода результатов
-n <байты>[KMG] объем трафика, который необходимо передать при тестировании
-u по умолчанию тестирование выполняется с помощью протокола TCP, но поддерживается также работа с протоколом UDP, -u включает эту поддержу
-b <биты>[KMG]  ограничение максимальной скорости 
-l <байты> устанавливает длину пакета

iperf3 -c 10.0.0.1 -R -n 500M -P 2 -i 3
iperf3 -Vc 10.0.0.1 -u -R -t 60 -b 100M -l 1400


Чаще всего используется вот так для UDP:
iperf3 -c 10.0.0.1 -u -t 0 -b 0 -P 4
-u - протокол UDP
-t - время теста, 0 бесконечно
-b - шейпинг скорости, 0 -  шейпинг отключён 
-P - кол-во потоков

А так для TCP:
iperf3 -c 10.0.0.1 -u -t 0 -b 0 -P 4
-u - протокол UDP
-t - время теста, 0 бесконечно
-b - шейпинг скорости, 0 - шейпинг отключён 
-P - кол-во потоков

vim /etc/systemd/system/iperfd.service

[Unit]
Description=iPerf Service
After=network.target

[Service]
Type=forking
PIDFile=/run/iperf3.pid
ExecStart=-/bin/iperf3 -s -D -I /run/iperf3.pid
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target

Описание параметров iperf3d.service:

Description — описание юнита
After указывает на юнит, после которого может загружаться наш сервис
Type — тип службы
PIDFile — путь к pid файлу, в котором хранится номер процесса
ExecStart — команда, которую нужно выполнить при старте сервиса (в данном примере запускается iPerf в режиме сервера как демон и создает pid-файл)
ExecReload — команда для перезапуска службы
Restart=always — опция, позволяющая автоматически перезапускать сервис, если он перестанет работать
опция WantedBy=multi-user.target позволяет установить для автозапуска службу в обычном многопользовательском режиме

systemctl

systemctl daemon-reload - перезапускаем systemd (иногда требуется после изменения и создания нового юнита)
systemctl enable iperf3d - добавляем в автозагрузку
systemctl start iperf3d - запускаем демон
systemctl status iperf3d - проверяем
Рубрики
Debian \ apt \ update \ install \ dpkg

debian 11 / install driver / Realtek RTL8821CE

Ссылки:

https://wiki.debian.org/InstallingDebianOn/Lenovo/ideapad%20340%20%28buster%29?highlight=%28RTL8821CE%29
https://www.linuxquestions.org/questions/linux-newbie-8/rtl8821ce-802-11ac-does-not-work-debian-11-a-4175699221/
https://usuariodebian.blogspot.com/2021/12/rtl8821ce-en-debian-11.html
https://github.com/tomaspinho/rtl8821ce

Install driver «Realtek RTL8821CE»

apt -y install firmware-realtek
apt -y install firmware-linux

sudo apt install git
git clone https://github.com/tomaspinho/rtl8821ce
sudo apt install bc module-assistant build-essential dkms
cd rtl8821ce
sudo m-a prepare
sudo ./dkms-install.sh

Рубрики
debian daemons \ демоны \ службы \ сервисы

Debian 10 / l2tp / console / KDE / client / server / xrdp

Ссылки:

https://sevo44.ru/xrdp-terminalnyj-server-linux/
https://ask-ubuntu.ru/questions/803859/2004-problema-podklyucheniya-xrdp-kde-plasma
https://fileenergy.com/linux/instruktsiya-po-ustanovke-i-nastrojke-terminalnogo-servera-na-baze-linux-debian-10-s-graficheskoj-obolochkoj
Удаленный рабочий стол Linux
https://habr.com/ru/company/ruvds/blog/312556/ https://setiwik.ru/kak-ustanovit-xrdp-na-ubuntu-20-04/ - черный экран https://ask.fedoraproject.org/t/networkmanager-insufficient-privileges-from-remote-login/7643 - insuffucient privileges network manager

Для работы клиента l2tp/ipsec в KDE:

!!! strongswan - пакет  IPSEC
!!! xl2tpd -  пакет L2TP
!!! libreswan - пакет для IPSEC

0. Установка в debian
apt install vim mc
apt install strongswan xl2tpd network-manager-l2tp libreswan

1. Перезапускаем daemon network-manager 
systemctl restart network-manager

2. Отключаем постоянные запросы паролей при настройке под учетной записью из группы admin
2.0
usermod -aG admin username

2.1 Политики polkit-1 такие полезные ...
vim /etc/polkit-1/localauthority/50-local.d/46-all-allow.pkla
-----------------------------------------------------------------------
[Allow ALL from group admin]
Identity=unix-group:admin
Action=*
ResultAny=yes
ResultInactive=yes
ResultActive=yes
-----------------------------------------------------------------------

3. Использование Network-manager в консоли: 
nmcli - network manager client
nmcli connection show - показать доступные соединения
nmcli connection  up [vpnName] - подключение к VPN из командной строки
nmcli connection down [vpnName] - отключение от VPN из командной строки
 
Пример:
nmcli connection up vpn.site.ru
nmcli connection dowm vpn.site.ru

Настройка сервера l2tp\ipsec:

0. Устанавливаем пакеты для работы ipsec:
apt install strongswan

1. Проверяем: 
/etc/ipsec.conf
---------------
conn rw-base
    fragmentation=yes
    dpdaction=clear 
    dpdtimeout=90s
    dpddelay=30s

conn l2tp-vpn
    also=rw-base
    ike=aes128-sha256-modp3072
    esp=aes128-sha256-modp3072
    leftsubnet=%dynamic[/1701]
    rightsubnet=%dynamic
    mark=%unique
    leftauth=psk
    rightauth=psk
    type=transport
    auto=add
---------------

2. Генерируем общий ключ:
openssl rand -base64 18


3. Общий ключ следует указать в файле /etc/ipsec.secrets, добавив в него следующую строку:
%any %any : PSK "mySharedKey"
Где mySharedKey - общий ключ, так как от него зависит безопасность вашей VPN-сети мы рекомендуем использовать 
в качестве ключа случайно сгенерированную строку из букв, цифр и спецсимволов. 


4. После внесения указанных настроек перезапустим службу:
!!! Имя демона Ubuntu называется strongswan-starter
systemctl restart strongswan

5. Устанавливаем пакеты для работы l2tp
apt install xl2tpd

6. Редактируем  /etc/xl2tpd/xl2tpd.conf
# auth file указывает на файл с данными для аутентификации
# pppoptfile - набор опций для PPP-соединения, которое используется внутри L2TP-туннеля
# name - имя сервера, которое будет использоваться для поиска данных аутентификации в файле chap-secrets
# local ip и ip range отвечают за локальный адрес сервера в VPN-сети и диапазон адресов для выдачи удаленным клиентам. 
# Здесь можно использовать два подхода: выдавать клиентам адреса из диапазона локальной сети офиса и включить ProxyARP
# в этом случае настраивать маршрутизацию на клиентах не требуется, они будут как-бы включены в общую сеть офиса на канальном уровне (L2) 
# либо выдавать адреса из непересекающегося диапазона и использовать маршрутизацию.
---------------------------------------
[global]
port = 1701
auth file = /etc/ppp/chap-secrets
access control = no
ipsec saref = yes
force userspace = yes

[lns default]
exclusive = no
ip range = 10.2.2.100-10.2.2.199
hidden bit = no
local ip = 10.2.2.1
length bit = yes
require authentication = yes
name = l2tp-vpn
pppoptfile = /etc/ppp/options.xl2tpd
flow bit = yes
-----------------------------------------

7. Настройка PPP
cd  /etc/ppp - переходим в каталог
cp options options.xl2tpd - копируем файл опций

8. Редактируем /etc/ppp/options.xl2tpd
# Если вы будете использовать ProxyARP то дополнительно раскомментируйте опцию: proxyarp
# Опции перечислены в порядке их следования, нужно раскомментировать их и указать нужное значение, если опция отсутствует, то ее следует добавить в конце файла.
# Также для Windows-клиентов можно передать настройку DNS-серверов, для этого добавьте опции: ms-dns 192.168.1.1
--------------------------------------
asyncmap 0
auth
crtscts
lock
hide-password
modem
mtu 1460
lcp-echo-interval 30
lcp-echo-failure 4
noipx
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
multilink
mppe-stateful
--------------------------------------

8. Для применения настроек  перезапускаем xl2tp
systemctl restart xl2tpd

9. Добавляем пользователей
# указываем логин
# имя службы, оно должно совпадать с тем, которое мы указали в опции name в xl2tpd.conf
# пароль 
# IP-адрес клиента, символ * обозначает что можно присвоить любой адрес из выбранного диапазона
vim /etc/ppp/chap-secrets
-------------------------
ivanov   l2tp-vpn   Pa$$word_1   *
petrov   l2tp-vpn   Pa$$word_1   10.2.2.99
-------------------------

10. настраиваем firewall
Для доступа к L2TP-серверу следует разрешить в брандмауэре входящие подключения к портам 
500 UDP
4500 UDP
!!! подключение к 1701 UDP, вопреки распространенному заблуждению, разрешать не следует

Диагностика:
ipsec statusall
ip xfrm state
ip xfrm policy

Настройки и установка xrdp:

0. Устанавливаем: 
apt install xrdp xorgxrdp ssl-cert- устанавливаем
1. Переконфигурируем:
dpkg-reconfigure xserver-xorg-legacy - переключаем разрешение для всех 
2. Редактируем выбор раскладки 
vim /etc/xrdp/xrdp_keyboard.ini
---------------------------
[default_rdp_layouts] # ищем и убеждаемся что файлы существуют
rdp_layout_us=0x00000409 # ищем и убеждаемся что файлы существуют
rdp_layout_ru=0x00000419 # ищем и убеждаемся что файлы существуют


[layouts_map_ru]
rdp_layout_us=ru,us
rdp_layout_ru=ru,us

[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
; model=pc105 при необходимости
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru
---------------------------  

3. Добавить пользователя xrdp в группу ssl-cert 
usermod -aG ssl-cert xrdp

. После настройки перезапустим xrdp 
service xrdp restart

Выпуск собственного сертификата для XRDP

0. Создаем  и выпускаем сертификаты
mkdir /etc/xrdp/certificate/
cd /etc/xrdp/certificate/
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650

1. Подключаем сертификаты отредактировав файл
!!! ищем строки  (certificate=) и (key_file=) и правим их
vim /etc/xrdp/xrdp.ini
----------------------
certificate=/etc/xrdp/certificate/cert.pem 
key_file=/etc/xrdp/certificate/key.pem
----------------------

2. Изменяем права для файла 
chown -R xrdp:xrdp /etc/xrdp/certificate/

3. После настройки перезапустим xrdp 
service xrdp restart

Запрет авторизации ROOT в XRDP

vim /etc/xrdp/sesman.ini
-------------------------
[Security]
# Авторизация root. true - разрешено false - запрещено
AllowRootLogin=false
-------------------------

Разрешаем перезагрузка системы пользователем XRDP:

!!!  Вместо auth_admin_keep указываем yes
vim /usr/share/polkit-1/actions/org.freedesktop.login1.policy
-------------------------------------------------------------

Reboot the system
Authentication is required for rebooting the system.
                
                        yes
                        yes
                        yes
                
org.freedesktop.login1.set-wall-message

-------------------------------------------------------------

insuffucient privileges network manager

vim /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy



   [...]
    
      auth_admin_keep
      yes
      yes
    

Более правильное решение insuffucient privileges network manager

vim /var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla
-----------------------------------------------------------------------
[Prevent foo from modifying all network states and settings]
Identity=unix-user:foo
Action=org.freedesktop.NetworkManager.*
ResultAny=yes
ResultInactive=yes
ResultActive=yes
-----------------------------------------------------------------------

Одна сессия для пользователя XRDP

!!! Подключатся к существующей сессии
vim /etc/xrdp/sesman.ini
------------------------
[Sessions]
;; X11DisplayOffset - x11 display number offset
; Type: integer
; Default: 10
X11DisplayOffset=10

;; MaxSessions - maximum number of connections to an xrdp server
; Type: integer
; Default: 0
# Выставляем количество пользователей для одновременной работе на сервере 
MaxSessions=3

;; KillDisconnected - kill disconnected sessions
; Type: boolean
; Default: false
; if 1, true, or yes, kill session after 60 seconds
# Не разрываем сеанс при отключении пользователя чтобы потом попасть в туже сессию 
KillDisconnected=false
------------------------

XRDP черный экран при подключении:

!!! Баг был при использовании использовании ubuntu, debian 10, debian 11
!!! В окружение KDE
!!! Нужно вставить следующие строки в файл /etc/xrdp/startwm.sh
!!! unset DBUS_SESSION_BUS_ADDRESS
!!! unset XDG_RUNTIME_DIR

0. vim /etc/xrdp/startwm.sh
------------------------
#!/bin/sh
# xrdp X session start script (c) 2015, 2017 mirabilos
# published under The MirOS Licence

if test -r /etc/profile; then
        . /etc/profile
fi

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

if test -r /etc/default/locale; then
        . /etc/default/locale
        test -z "${LANG+x}" || export LANG
        test -z "${LANGUAGE+x}" || export LANGUAGE
        test -z "${LC_ADDRESS+x}" || export LC_ADDRESS
        test -z "${LC_ALL+x}" || export LC_ALL
        test -z "${LC_COLLATE+x}" || export LC_COLLATE
        test -z "${LC_CTYPE+x}" || export LC_CTYPE
        test -z "${LC_IDENTIFICATION+x}" || export LC_IDENTIFICATION
        test -z "${LC_MEASUREMENT+x}" || export LC_MEASUREMENT
        test -z "${LC_MESSAGES+x}" || export LC_MESSAGES
        test -z "${LC_MONETARY+x}" || export LC_MONETARY
        test -z "${LC_NAME+x}" || export LC_NAME
        test -z "${LC_NUMERIC+x}" || export LC_NUMERIC
        test -z "${LC_PAPER+x}" || export LC_PAPER
        test -z "${LC_TELEPHONE+x}" || export LC_TELEPHONE
        test -z "${LC_TIME+x}" || export LC_TIME
        test -z "${LOCPATH+x}" || export LOCPATH
fi

if test -r /etc/profile; then
        . /etc/profile
fi

test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession

------------------------

1. Перезапускаем демон xrdp
sudo systemctl restart xrdp

Название подключенной локальной папки в XRDP

0. Редактируем файл
vim /etc/xrdp/sesman.ini
------------------------
FuseMountName=Mount_FOLDER
------------------------

1. Перезапускаем демон xrdp
sudo systemctl restart xrdp

Настройка вида окна авторизации XRDP

0. Редактируем файл 
vim  /etc/xrdp/xrdp.ini
-----------------------
ls_title=YOU SUPER SERVER # заголовок окна сервера
ls_top_window_bg_color=000000  # Цвет фона RGB
ls_logo_filename=/etc/xrdp/logo_xrdp.bmp #Логотип

; Session types # После этой строки ищем и убираем лишние сессии, оставляем только [Xorg]
-----------------------

1. Перезапускаем демон XRDP 
service xrdp restart

Отключение screensaver

Вариант первый, можно просто его удалить
apt-get remove xscreensaver

Вариант второй, можно настроить электропитание в настройках экрана

Рубрики
Debian \ apt \ update \ install \ dpkg

Debian 11 \ установка ключей для репозитория \ apt-key is deprecated \ игнорирование подписи в source.list \ deb [trusted=yes]

Ошибка:

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Программа apt-key устарела.
Для управления файлами ключей теперь используется  файлы в каталоге /etc/apt/trusted.gpg.d/

Установка ключа новым способом:

по ссылке:
curl -s URL/name.pub | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/ИМЯ.gpg --import
локально:
cat ФАЙЛ.pub | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/ИМЯ.gpg --import

Выдать разрешения на файл:
sudo chmod 644 /etc/apt/trusted.gpg.d/ИМЯ.gpg

Можно получить ключ с сервера ключей:
sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/rabbit.gpg --keyserver keyserver.ubuntu.com --recv 6B73A36E6026DFCA

sudo gpg --keyserver keyring.debian.org --recv-keys 0xDEADBEEF

sudo chmod 644 /etc/apt/trusted.gpg.d/rabbit.gpg

Посмотреть установленные:

gpg --list-keys --keyring /etc/apt/trusted.gpg.d/ФАЙЛ.gpg

Удалить ключ теперь можно так:

cd /etc/apt/trusted.gpg.d/
rm ИМЯ.gpg

Старый метод все еще работает

!!! может перестать работать в любой момент
apt-key list
apt-key add ИМЯ_КЛЮЧА
apt-key del ИДЕНТИФИКАТОР_КЛЮЧА


/etc/apt/trusted.gpg - тут хранит ключи apt-key добавленные командой (apt-key add)


Игнорирование подписи в source.list:

/etc/apt/sources.list
/etc/apt/sources.list.d/*.list
/etc/apt/sources.list.d/owncloud.list

###[trusted=yes]
deb [trusted=yes] http://download.bareos.org/bareos/release/17.2//Debian_9.0 /

apt-key adv \ подписывание ключей

#https://www.debian.org/events/keysigning.ru.html

#ubuntu
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E084DAB9

# debian 
gpg --keyserver keyring.debian.org --recv-keys 0xDEADBEEF
Рубрики
Debian \ apt \ update \ install \ dpkg

debian 10 upgrade to Debian 11

Подготовка:

!!! Максимально обновляем все пакеты 
apt update
apt upgrade -y 
apt dist-upgrade -y 
apt autoremove 
reboot

Редактируем файл списка пакетов:

!!! DFSG =  Debian Free Software Guidelines
!!! main состоит из DFSG-compliant пакетов, которым не требуется другое ПО из других зон. Эти пакеты считаются частью дистрибуции Debian
!!! contrib пакеты содержат DFSG-compliant ПО, но у них зависимостей из зоны main (возможно упакованы в non-free).
!!! non-free содержит ПО, которое не соответствует DFSG.

vim  /etc/apt/sources.list
-----------------------
deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free

deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free

deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

deb http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
-----------------------

Обновляем debian 10 до Debian 11:

!!! После редактирования файла etc/apt/sources.list
apt update
apt upgrade -y  
apt dist-upgrade -y 
apt autoremove 
reboot
Рубрики
Debian \ apt \ update \ install \ dpkg

Debian поиск и загрузка пакетов в ручную

!!! Заметим, что при работе с некоторыми браузерами вам придётся указать браузеру, что вы хотите сохранить информацию в файл. 
!!! Например, в Firefox или Mozilla вам нужно удерживать клавишу Shift при щелчке по URL.
!!! В chrome проблема с shift наблюдается.

https://packages.debian.org/ - вот тут можно найти любой официальный пакет



Рубрики
Debian

Debian \ 9 \ 10 \ 11 \ синхронизации времени \ systemd \ systemd-timesyncd

systemctl start systemd-timesyncd  - запустить демон  systemd-timesyncd
systemctl enable systemd-timesyncd - добавить в автозапуск

systemctl status systemd-timesyncd - проверить текущее состояние демона
systemctl restart systemd-timesyncd - перезапуск
journalctl -u systemd-timesyncd --since today - посмотреть лог на сегодня для демона systemd-timesyncd

systemctl stop systemd-timesyncd - остановить
systemctl disable systemd-timesyncd - отключит автозапуск

конфиг:

nano /etc/systemd/timesyncd.conf
--------------------------------
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.
 
[Time]
NTP=kom-dc01.holding.com kom-dc02.holding.com
#FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org
--------------------------------
Рубрики
debian daemons \ демоны \ службы \ сервисы

debian 11 / wireguard

Ссылки:

https://habr.com/ru/company/xakep/blog/699000/
https://www.wireguard.com/quickstart/
https://manpages.debian.org/unstable/wireguard-tools/wg-quick.8.en.html
https://www.procustodibus.com/blog/2021/03/wireguard-allowedips-calculator/

Сервер

0. Устанавливаем:
apt install wireguard wireguard-tools

1. Генерируем ключи
!!! Генерировать ключи также надо будет на клиенте
cd /etc/wireguard
umask 077; wg genkey | tee privatekey | wg pubkey > publickey

2. Создаем конфиг
/etc/wireguard/wg0.conf
-----------------------
## Set Up WireGuard VPN on Debian By Editing/Creating wg0.conf File ##
[Interface]
## My VPN server private IP address ##
Address = 10.0.0.1/24

## My VPN server port ## UDP
ListenPort = 51100

## VPN server's private key i.e. /etc/wireguard/privatekey ##
PrivateKey = YOU_PRIVAT_KEY

## Save and update this config file when a new peer (vpn client) added ##
## SaveConfig = true

[Peer]
## Desktop/client VPN public key ##
PublicKey = YOU_CLIENT_PUBLIC_KEY
 
## client VPN IP address (note  the /32 subnet) ##
AllowedIPs = 10.0.0.2/32


-----------------------

3. Запускаем и проверяем
systemctl start wg-quick@wg0
systemctl status wg-quick@wg0

Конфиг для клиента

[Interface]
## This Desktop/client's private key ##
PrivateKey =  YOU_PRIVAT_KEY
 
## Client ip address ##
Address = 10.0.0.2/24
 
[Peer]
## Debian 11 server public key ##
PublicKey = YOU_SERVER_PUBLIC_KEY
 
## set ACL ##
AllowedIPs = 10.0.0.0/24
 
## Your Debian 11 LTS server's public IPv4/IPv6 address and port ##
Endpoint = YOU_IP_ADDRESS_SERVER_WG:51100
 
##  Key connection alive ##
PersistentKeepalive = 20

пример конфига с правилами для интерфейсов

!!! в данном примере поднимается NAT и создаются правила в iptables
#`ip route | awk '/default/ {print $5; exit}'` - узнаем имя интерфейса который смотрит в интернет
#`ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` - узнаем ip интерфейса

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
PostUp = iptables -t nat -A POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE
PostUp = ip rule add from `ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` table main
PostUp = iptables -I FORWARD 1 -i `ip route | awk '/default/ {print $5; exit}'` -o wg0 -j ACCEPT
PostUp = iptables -I FORWARD 1 -i wg0  -o ` ip route | awk '/default/ {print $5; exit}'` -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE
PostDown = ip rule del from `ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` table main
PostDown = iptables -D FORWARD -i `ip route | awk '/default/ {print $5; exit}'` -o wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0  -o ` ip route | awk '/default/ {print $5; exit}'` -j ACCEPT

ListenPort = 51100
FwMark = 0xca6c
PrivateKey =  YOU_PRIVAT_KEY

[Peer]
PublicKey = YOU_CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25

[Peer]
PublicKey = YOU_CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.3/32
PersistentKeepalive = 25



iptables server

PostUp = iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
PostUp = iptables -I FORWARD 1 -i ens3 -o wg3public -j ACCEPT
PostUp = iptables -I FORWARD 1 -i wg3public  -o ens3 -j ACCEPT
PostUp = iptables  -A INPUT -p udp -m udp --dport 62001 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE
PostDown = iptables -D FORWARD -i ens3 -o wg3public -j ACCEPT
PostDown = iptables -D FORWARD -i wg3public  -o ens3 -j ACCEPT
PostDown = iptables  -D INPUT -p udp -m udp --dport 62001 -j ACCEPT

Как отправить весть трафик в тунель wg0 на клиенте

Самый простой способ использовать "ip route"
# ip route add 0.0.0.0/0 dev wg0 - вот так вот ничего не заработает
Используем трюк например как для openvpn и перенаравим весь трафик в wg0:
ip r a 0.0.0.0/1 dev wg0 
Использование /1 вместо /0 гарантирует, что он имеет приоритет над маршрутом /0 по умолчанию.
P.S не совсем так, просто маска по уже и трафик от сети 10/8 туда за летит. (если надо считайте маску под свои цели)

Также мы можем перенаправить лишь один IP в наш wg0
ip r a 195.201.201.32 dev wg0


Пример конфига для клиента с наворачиванием трафика в интерфейс wg0

[Interface]
Address = 10.0.0.4/24
DNS = 8.8.8.8, 8.8.4.4
PrivateKey = PRIVAT_KEY_CLIENT
PostUp = ip r a 0.0.0.0/1 dev wg0 
PostDown = ip r d 0.0.0.0/1 dev wg0 
[Peer]
PublicKey = PUBLIC_KEY_SERVER_WG
AllowedIPs = 0.0.0.0/0
Endpoint = IP_WG_SERVER:PORT_WG_SERVER
PersistentKeepalive = 25

PresharedKey

0. генерируем PresharedKey:
wg genpsk


1. Редактируем wg0 на клиентах и серверах и добавляем PresharedKey 
vim wg0.conf
--------------
...
[Peer]
## Desktop/client VPN public key ##
PresharedKey = YOU_GENERATION_PresharedKey
...
-------------


for linux all traffic to WG0

root@yoctoproject:/home# cat /etc/wireguard/wg0.conf
[Interface]
## This Desktop/client's private key ##
PrivateKey = PRIVAT_KEY_CLIENT

PostUp = ip route del default  dev enp1s0
PostUP = ip route add default  dev wg0
PostUp = ip route add IP_ADDRESS_WG_SERVER via IP_ADDRESS_GATEWAY_ROUTER_CLIENT
PostDown = ip route del IP_ADDRESS_WG_SERVER via IP_ADDRESS_GATEWAY_ROUTER_CLIENT dev enp1s0
PostDown = ip route add default via IP_ADDRESS_GATEWAY_ROUTER_CLIENT dev enp1s0

## Client ip address ##
Address = IP_ADDRES_CLIENT_FOR_WG
#DNS = 8.8.8.8, 8.8.4.4

[Peer]
## Debian 11 server public key ##
PublicKey = PUBLIC_KEY_WG_SERVER

## set ACL ##
AllowedIPs = 0.0.0.0/0

## Your Debian 11 LTS server's public IPv4/IPv6 address and port ##
Endpoint =IP_ADDRESS_WG_SERVER:PORT

##  Key connection alive ##
PersistentKeepalive = 25


Debian 11 генерация QR (каур кода) для wireguard

apt install qrencode 
qrencode -t ansiutf8 < wg0.conf
Рубрики
Debian \ apt \ update \ install \ dpkg

Debian 10 / установка пакетов из backports / например phpmyadmin

Источник

https://backports.debian.org/Instructions/

Делаем

0. nano /etc/apt/sources.list - настраиваем репозитории, добавляем репозиторий backports
-----------------------------
deb http://deb.debian.org/debian buster-backports main
-----------------------------
1. apt-get update - обновляем список пакетов
2. apt-get -t buster-backports install "package" - ставим нужный пакет "package"
apt -t buster-backports install phpmyadmin - устанавливаем пакет phpmyadmin

Рубрики
debian x-windows \ video

Debian chrome Kiosk

https://willhaley.com/blog/debian-fullscreen-gui-kiosk/
https://wiki.itsm.pw/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Ubuntu_%D0%B4%D0%BB%D1%8F_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BA%D0%B8%D0%BE%D1%81%D0%BA%D0%B0
https://raspberrypi.stackexchange.com/questions/38515/auto-start-chromium-on-raspbian-jessie-11-2015

Решение:

0. Добавляем пользователя
useradd -m kiosk-user

1. Ставим пакеты 
apt-get install sudo xorg chromium openbox lightdm

2. Редактируем lightdm, добавляем в конец
nano /etc/lightdm/lightdm.conf
------------------------------
[SeatDefaults]
autologin-user=kiosk-user
user-session=openbox
------------------------------

3. Создаем каталог
mkdir -p /home/kiosk-user/.config/openbox

4. Редактируем автостарт
nano /home/kiosk-user/.config/openbox/autostart
------------------------------------
chromium \
    --no-first-run \
    --disable \
    --disable-translate \
    --disable-infobars \
    --disable-suggestions-service \
    --disable-save-password-bubble \
    --start-maximized \
    --kiosk "https://www.google.com" &

------------------------------------
5. Права на файл 
chown kiosk-user.kiosk-user /home/kiosk-user/.config
chmod u+r /home/kiosk-user/.config/openbox/autostart

3. Если есть проблемы с видео и звуком добавьте пользователя в группы

sudo usermod -a -G audio kiosk-user
sudo usermod -a -G video kiosk-user

Рубрики
debian daemons \ демоны \ службы \ сервисы

debian 10 \ rc.local

Ссылки:

Debian 10 add rc.local
https://azrr.info/page/view/65-zastavlyaem-rabotat-rclocal-na-debian-10.html

Решение:

!!! Обратите внимание, что это неправильный способ , вероятно, следует создать сервис для вашего скрипта или приложения.
В последней версии Debian файл /etc/rc.local устарел, но мы можем добавить его обратно, 
используя systemd для тех сценариев или приложений, которые все еще зависят от него.
Сначала нам нужно создать файл сервиса:
cat <> /etc/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

После создайте rc.local снова:

cat <> /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 - задайте разрешения на запуск
systemctl enable rc-local - включите автозагрузку при старте системы
systemctl start rc-local - запустите 
systemctl status rc-local - проверьте состояние rc-local
Рубрики
debian daemons \ демоны \ службы \ сервисы

debian 10 \ webmin

Ссылки:

http://www.webmin.com/
http://www.webmin.com/download.html

Установка:

0. cd /opt
1. Скачиваем пакеты
webmin - главный пакет для управления сервером
virtualmin - доп пакет для VDS (посмотреть для развитию)
wget https://prdownloads.sourceforge.net/webadmin/webmin_1.920_all.deb
wget https://download.webmin.com/download/virtualmin/webmin-virtual-server_6.07.gpl_all.deb
2. Устанавливаем пакет 
dpkg -i webmin_1.920_all.deb
3. Для решения проблем после установки пакета может понадобится выполнить 
apt --fix-broken install
4. Для доступа в веб интерфейс открываем 
https://your_server_ip:10000 

Cloudmin

cd /opt
sudo wget http://cloudmin.virtualmin.com/gpl/scripts/cloudmin-kvm-debian-install.sh
sudo chmod +x cloudmin-kvm-debian-install.sh
./cloudmin-kvm-debian-install.sh

Белее правильная установка:

0. !!! Внимание репозиторий webmin работает не очень хорошо.
1. sudo vim  /etc/apt/sources.list
----cut-----
deb http://download.webmin.com/download/repository sarge contrib
----cut----
2. wget http://www.webmin.com/jcameron-key.asc
3. sudo apt-key add jcameron-key.asc
4. sudo apt update 
5. sudo apt install webmin
6. https://your_server_ip:10000  
Рубрики
Debian \ apt \ update \ install \ dpkg

Обновление Debian 9.0 Stretch до Debian 10 buster

Подготовка:

!!! Внимание обновление может сломать систему.
sudo aptitude search '~i(!~ODebian)' -  очистка системы от сторонних пакетов 

sudo apt update - обновим список обновлений
sudo apt dist-upgrade - запустим обновление

dpkg -C - проверим целостность базы данных пакетов

apt-mark showhold - проверим нет ли отложенных пакетов

dpkg --audit - проверим и исправим все проблемы

Настройка репозиториев:

0. cp /etc/apt/sources.list /etc/apt/sources.list_backup - делаем копию sources.list
1. Настраиваем sources.list в зависимости от наших пакетов
#---------------------------------------------
#If you also need the main.  For example, for Debian 10/Buster:
deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main

deb http://deb.debian.org/debian-security/ buster/updates main
deb-src http://deb.debian.org/debian-security/ buster/updates main

deb http://deb.debian.org/debian buster-updates main
deb-src http://deb.debian.org/debian buster-updates main

#----------------------------------------------
#If you also need the contrib and non-free components, add contrib non-free after main. For example, for Debian 10/Buster:

deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free

deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free

deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free

#----------------------------------------------
#If you also need the Backports, contrib, and non-free components, add buster-backports lines. For example, for Debian 10/Buster:
deb http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://deb.debian.org/debian buster-backports main contrib non-free
----------------------------------------------

Обновление:

apt update
apt list --upgradable - посмотреть список пакетов для обновления
apt-get upgrade  - обновить Debian
apt-get dist-upgrade  - обновить Debian
cat /etc/os_release - проверить версию ос после обновления