Некоторые команды управления postfix MTA

Посмотреть активные настройки Postfix:
postconf -d
Посмотреть сколько сообщений в очереди:
mailq | grep Requests
Посмотреть конкретно что в очереди:
mailq
Пнуть очередь на немедленную доставку:
postsuper -r ALL; postfix flush
Пнуть конкретное письмо по ID:
postsuper -r ID
Удалить письмо по ID:
postsuper -d ID
Удаление группы писем от определенного FROM (на примере MAILER-DAEMON):
FreeBSD:
mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | xargs -I{} -n1 postsuper -d {}
Linux:
mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | xargs -I{} -n1 /usr/sbin/postsuper -d {}
Удаление группы писем от определенного FROM в статусе REQUIRE:
mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | tr -d '*' | xargs -I{} -n1 postsuper -d {}

Исключение пакетов из операции в yum (RHEL)

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

Есть два способа.

1) Единоразово – когда запускаете yum, использовать опцию –exclude:

yum –exclude=package* update
yum –exclude=php* update
yum –exclude=*rrd* update
yum –exclude=kernel*,*snmp,perl* update

2) Добавить необходимые пакеты в исключения в конфигурационном файле /etc/yum.conf :
exclude=php* kernel*

Выглядеть это будет примерно так:
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
exclude=php* kernel*

Теперь эти пакеты исключатся из обработки любыми командами yum.

Как загрузиться в single-user режим с загрузчиком grub в Linux

Бывают ситуации, когда нужно включить/перезагрузить сервер в режиме single-user, в котором не загружаются драйвера и нет возможности работать в многопользовательском режиме – что-то вроде Безопасного режима Windows. Например, если на сервере не правильная сетевая конфигурация и он после включения сразу же будет конфликтовать с другими серверами по IP, то в single-user режиме сеть не поднимется и можно будет исправить конфигурацию.

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

и во время отсчета нажать любую клавишу (кроме Enter), чтобы зайти в интерактивное меню. Важно не пропустить момент, т.к. таймаут по-умолчанию составляет 3 секунды, по истечении которых система загрузится в ядро и с параметрами по-умолчанию.

Далее выбираем нужный пункт (версию ядра) стрелками вверх, вниз и нажимаем [a] 

В конце строки параметров загрузки ядра добавляем пробел [Space] и опцию single

Нажимаем [Enter] чтобы загрузиться в нужное ядро с параметром single.

Источники:

  1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/installation_guide/s1-rescuemode-booting-single

Oracle Linux 6: How to install specific Unbreakable Kernel (UEK) version

If you need to install specific unbreakable kernel (UEK) version for Oracle Linux 6.x you need to complete the following steps:

In this example we will use Oracle Linux 6.8 and our goal is to install 4.1.12-61.1.14 kernel version.

You need to edit /etc/yum.repos.d/public-yum-ol6.repo repository file and search there for UEKx record, where x is the linux release family (4 is the latest for now) and add ‘archive‘ to the path of repository, because by default repository contains only the most recent uek packages:

[public_ol6_UEKR4]
name=Latest Unbreakable Enterprise Kernel Release 4 for Oracle Linux $releasever ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL6/UEKR4/archive/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=$uekr4

Next you need to install correct packages (assuming that we need to build kernel modules in the future):

yum clean all
yum install kernel-uek-4.1.12-61.1.14.el6uek.x86_64 kernel-uek-devel-4.1.12-61.1.14.el6uek.x86_64 kernel-uek-headers.x86_64

Next, boot into the new kernel version.

Links:

  1. https://yum.oracle.com/oracle-linux-6.html – You can browse and take repository  address from the tab address bar for repository file.
  2. https://yum.oracle.com/oracle-linux-7.html

ESXi Host and vCenter Server 6.0 to 6.5 update to solve kernel BUG at drivers/net/vmxnet3/vmxnet3_drv.c:1322

Постановка задачи.

Опишу вначале суть проблемы.

Виртуальная машинка под управлением Oracle Linux 6.8 стала самопроизвольно перезагружаться (кернел паник) с ошибкой в логе падения /var/crash/127.0.0.1-yyyy-mm-dd-hh:mm:ss/vmcore-dmesg.txt:

[67476.761292] kernel BUG at drivers/net/vmxnet3/vmxnet3_drv.c:1322!
[67476.761314] invalid opcode: 0000 [#1] SMP

Поиск навёл на статью KB Vmware, в которой говорится, что в версии ESXi 6.5 U1 этот баг с драйвером виртуальной карточки типа vmxnet3 был устранён. Как вариант для решения этого бага поможет замена виртуальных карточек с VMXNET3 на E1000, но мне нужен был железный вариант, поэтому нависла угроза апгрейда 🙂

На тот момент хозяйство для виртуализации представляло из себя следующее:

  1. Основной хост ESXi 6.0
  2. Бекапный хост ESXi 6.5
  3. VCSA vCenter Server 6.5

После изучения темы апгрейдов сформировался следующий план:

  1. Сначала нужно проапгрейдить vCenter Server 6.5 -> 6.5 U1, это необходимое условие перед обновлением хостов.
  2. Обновить бекапный хост 6.5 -> 6.5 U1
  3. Далее нужно перенести VCSA (виртуальная машина с vCenter Server) с основного хоста на бекапный и обновить основной хост 6.0 -> 6.5 U1

Рассмотрим подробнее каждый шаг.

1. vCenter Server 6.5 -> 6.5 U1

Для начала необходимо сделать снапшот и/или бекап VCSA, просто на всякий случай. Также у VSCA должен быть доступ в Интернет, иначе обновляться придётся с диска CD-ROM.

Есть несколько методов апгрейда:

  • через esxcli на самом хосте (ssh)
  • на Windows машине с помощью PowerCLI
  • с помощью появившейся, если не ошибаюсь, в 6.5 версии веб-утилиты VAMI – VMware vSphere Appliance Management.

Руководствуясь принципом KISS обновлять будем через VAMI.

Для доступа к ней, необходимо в браузере зайти на https://your_vsca_ip_or_domain:5480. Обратите внимание, что credentials в данном случае не такие, как для управления инфраструктурой – нужно использовать пользователя и пароль к ОС VSCA. Обычно это root и пароль, который вы указывали при начальной настройке VSCA.

В появившемся окне делаем действия в порядке, как на скриншоте:

Т. е. Выбираем слева вкладку Update, нажимаем Check Update, откроется список, в котором выбираем Check Repository. Дожидаемся окончания проверки. Нажимаем Install Updates, Install Updates. После этого принимаем Лиц. соглашение и скрестив пальцы ждем окончания процесса обновления. По окончании, нажимаем Ок, идём на вкладку Summary, жмем Reboot и подтверждаем перезагрузку:vCenter Appliance загружается и инициализируется довольно долго, минут 5, может быть 10. Поэтому не переживайте, если ОС уже загрузилась, но в браузере выдает ошибки при попытке зайти в интерфейс управления инфраструктурой – подождите.

2. Обновление бекапного хоста ESXi 6.5 -> 6.5 U1

Этот процесс довольно простой, т. к. версия релиза такая же, как и у нужного нам апдейта.

Заходим на флеш-версию интерфейса: https://your_vsca_ip_or_domain/vsphere-client/?csp

Идем в Host and Clusters:

Важно: останавливаем (выключаем, не пауза) все виртуальные машины на хосте перед обновлением!

Выбираем нужный нам хост мышкой и идём на вкладку Update Manager.

Здесь необходимо вначале прикрепить baseline к хосту, для этого нажимаем вначале Scan for Updates, ставим все галочки и Ok. Внизу появится прогресс процесса проверки обновлений, дожидаемся окончания.

Теперь нажимаем Attach Baseline и выбираем Critical Host Patches и Non-Critical Host Patches. Названия говорят сами за себя. Подтверждаем. Можно для верности сделать еще раз Scan for Updates.

Теперь выбираем Stage Patches на вкладке Update Manager.

Выбираем baseline’ы, далее выбираем наш хост и патчи, которые хотим установить.

Собственно для установки патчей нажимаем Remediate на вкладке Update Manager.

Выбираем снова нужные baseline. Затем хост, затем патчи, в Advanced Options можно запланировать апдейт, я ничего не менял и на шаге 5 также всё оставил по дефолту. Соглашаемся и ждем окончания обновления.

3. Обновление основного хоста ESXi 6.0 -> 6.5 U1

VSCA в моём случае находилось на основном хосте и чтобы не рубить ветку, на которой сижу, я решил перенести VSCA на бекапный хост. Воспользовался для этого репликацией в Nakivo Backup & Replication. Рассказ об этой софтине – отдельная тема. В общем, потушил я VSCA на основном хосте и запустил на бекапном.

С этим апдейтом всё оказалось несколько сложнее, т к версия релиза установленного ESXi и патча не совпадают. Тут простым пропатчиванием уже не отделаешься. Нужно апгрейдить. А для апгрейда необходим установочный образ гипервизора, который берем с сайта vmware.

Моя задача еще осложнилась тем, что на сервере установлена карточка Solarflare, драйверов для которой по-умолчанию нет в установочном образе, но они есть в виде VIB и offline bundle на сайте производителя. И эти отсутствующие драйвера необходимо добавить в имейдж.

Для добавления драйверов в установочный образ vmware нам понадобится Windows машина. Ранее использовалась утилита ESXi-Customizer с удобный интерфейсом добавления бандлов, но она уже не поддерживается c 2015 года и для подготовки образа для установки вручную с сд-диска на сервер эта утилита еще подходит, но вот для vCenter – нет, он не принимает образ, созданный ESXi-Customizer. Поэтому будем мучаться с консолью PowerCLI.

Выполняем следующие шаги:

  1. Скачиваем и устанавливаем PowerCLI.
  2. Скачиваем offline bundle драйвер для нужного нам железа. Для Solarflare он находится здесь.
  3. Скачиваем Offline bundle установочного образа vmware с сайта vmware. В моём примере мне нужен был HP customized образ, с драйверами для HP серверов. Внимательно – скачиваем .zip, не .iso!
  4. Создаем отдельную папку (для удобства и копируем туда оффлайн бандлы драйвера и установочного образа. В моем примере буду использовать папку E:\vmware\test.

    Заходим в свойства .zip файлов и нажимаем Unblock – так мы сможем оперировать ими в PowerCLI, запущенной не под Администратором.
  5. Запускаем PowerCLI консоль из Пуск, дожидаемся инициализации.
  6. Добавляем установочный образ, указав путь к нему командой:
     PowerCLI C:\> Add-EsxSoftwareDepot -DepotUrl E:\vmware\test\update-from-esxi6.5-6.5_update01.zip

    Вы увидите похожий результат:

    Depot Url
     ---------
     zip:E:\vmware\test\update-from-esxi6.5-6.5_update01.zip?index.xml
  7. Проверяем, что образ добавлен, должен быть в списке:
    PowerCLI C:\> Get-EsxImageProfile
    
    Name Vendor Last Modified Acceptance Level
    ---- ------ ------------- ----------------
    ESXi-6.5.0-20170701001s-no-... VMware, Inc. 7/7/2017 5:3... PartnerSupported
    ESXi-6.5.0-20170702001-no-t... VMware, Inc. 7/7/2017 5:3... PartnerSupported
    ESXi-6.5.0-20170701001s-sta... VMware, Inc. 7/7/2017 5:3... PartnerSupported
    ESXi-6.5.0-20170702001-stan... VMware, Inc. 7/7/2017 5:3... PartnerSupported
  8. Образ read-only, поэтому для начала нам его необходимо клонировать. Нужно получить имя командой:
    PowerCLI C:\> Get-EsxImageProfile | Select Name
    
    Name
    ----
    ESXi-6.5.0-20170701001s-no-tools
    ESXi-6.5.0-20170702001-no-tools
    ESXi-6.5.0-20170701001s-standard
    ESXi-6.5.0-20170702001-standard
  9. На этом шаге необходимо определиться с тем, какой имейдж клонировать (лучше standard, параметр -CloneProfile), а также с именем нового имейджа (параметр -Name) и названием вендора (параметр -Vendor). Мой пример:
    PowerCLI C:\> New-EsxImageProfile -CloneProfile ESXi-6.5.0-20170702001-standard -Name Test_ESXi_6.5_with_SFC -Vendor TestCorporation
    
    Name Vendor Last Modified Acceptance Level
    ---- ------ ------------- ----------------
    Test_ESXi_6.5_with_SFC TestCorporation 7/7/2017 5:3... PartnerSupported
  10. Для проверки посмотрим еще раз список имейджев, отметив в нём наличие нашего нового:
    PowerCLI C:\> Get-EsxImageProfile | Select Name,Vendor
    
    Name Vendor
    ---- ------
    ESXi-6.5.0-20170701001s-no-tools VMware, Inc.
    ESXi-6.5.0-20170701001s-standard VMware, Inc.
    ESXi-6.5.0-20170702001-no-tools VMware, Inc.
    Test_ESXi_6.5_with_SFC TestCorporation
    ESXi-6.5.0-20170702001-standard VMware, Inc.
  11. Теперь нужно добавить бандл с нашим драйвером примерно также, как и с образом:
    PowerCLI C:\> Add-EsxSoftwareDepot -DepotUrl 'E:\vmware\test\SF-114406-DH-5_(SF-111982-LS-8)_Solarflare_VMware_ESXi_5.5___6.0___6.5_driver_(Offline_Bundle).zip'
    
    
    Depot Url
    ---------
    zip:E:\vmware\test\SF-114406-DH-5_(SF-111982-LS-8)_Solarflare_VMware_ESXi_5....
  12. Узнаем, сколько пакетов находится в нашем бандле командой:
    PowerCLI C:\> Get-EsxSoftwarePackage -SoftwareDepot 'E:\vmware\test\SF-114406-DH-5_(SF-111982-LS-8)_Solarflare_VMware_ESXi_5.5___6.0___6.5_driver_(Offline_Bundl
    e).zip'
    
    Name Version Vendor Creation Date
    ---- ------- ------ ------------
    net-sfc 4.10.4.1000-1OEM.550.0.0.13... Solarflare 1/20/2017...
  13. Теперь мы можем добавить пакет к нашему образу, используя полученное только что имя в параметре -SoftwarePackage:
    PowerCLI C:\> Add-EsxSoftwarePackage -SoftwarePackage net-sfc -ImageProfile Test_ESXi_6.5_with_SFC
    
    Name Vendor Last Modified Acceptance Level
    ---- ------ ------------- ----------------
    Test_ESXi_6.5_with_SFC TestCorporation 2/2/2018 10:... PartnerSupported

    Если у вас несколько пакетов, повторите команду для всех пакетов.

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

    add-esxsoftwarepackage : VIB VFrontDe_bootbank_net51-r8169_6.011.00-2vft.510.0.0.799733’s acceptance level is
    community, which is not compliant with the ImageProfile acceptance level partner
    At line:1 char:1

    Нужно поменять acceptance level командой:

    PowerCLI C:\> Set-EsxImageProfile -Name new6.5realtek -AcceptanceLevel community

  14. Проверим, есть ли наш пакет в образе, для этого определим переменную и вызовем свойство viblist двумя командами, как показано ниже:
    PowerCLI C:\> $ip = Get-EsxImageProfile -Name Test_ESXi_6.5_with_SFC
    PowerCLI C:\> $ip.viblist
    
    Name Version Vendor Creation Date
    ---- ------- ------ ------------
    ne1000 0.8.0-16vmw.650.1.26.5969303 VMW 7/7/2017 ...
    vmkplexer-vmkplexer 6.5.0-0.0.4564106 VMW 10/27/201...
    sata-ata-piix 2.12-10vmw.650.0.0.4564106 VMW 10/27/201...
    net-usbnet 1.0-3vmw.650.0.0.4564106 VMW 10/27/201...
    i40en 1.3.1-5vmw.650.1.26.5969303 VMW 7/7/2017 ...
    ...
    net-sfc 4.10.4.1000-1OEM.550.0.0.13... Solarflare 1/20/2017...
    ...
  15. Будет длинный список, в котором должен быть наш пакет или несколько, если добавляли не один. Можно упростить поиск путем выборки по вендору, как показано ниже:
    PowerCLI C:\> $ip.viblist | Where-Object {$_.vendor -like "Solarflare*"}
    
    Name Version Vendor Creation
     Date
    ---- ------- ------ ------------
    net-sfc 4.10.4.1000-1OEM.550.0.0.13... Solarflare 1/20/2017...
  16. Теперь нужно экспортировать наш образ собственно в файл .iso для установки/апдейта ESXi хоста. Указываем имя образа и путь к .iso файлу:
    PowerCLI C:\> Export-EsxImageProfile -ImageProfile Test_ESXi_6.5_with_SFC -FilePath E:\vmware\test\ESXi_HPE_6.5_with_SFC.iso -ExportToIso

    Ждем окончания операции и проверяем, что файл создался на диске:

Всё, образ есть, теперь его можно добавить в vCenter. Возвращаемся в веб-морду vCenter и на вкладке Update Manager, где мы устанавливали патчи нажимаем Go to Admin View.

Здесь у меня уже добавлен образ, но вам следует его добавить нажав вначале ESXi Images:

А затем Import ESXi Image, выбрать созданный нами ранее образ и загрузить его:

Идем на вкладку Hosts Baselines и нажимаем + New Baseline, выбираем тип Host Upgrade и вводим имя и описание:

Далее выбираем загруженный нами образ ESXi:

И завершаем процедуру. По окончании, наш новый baseline должен появится в списке в группе Custom на вкладке Hosts Baselines.

Возвращаемся в Update Manager хоста, который хотим апгрейдить и выбираем Attach Baseline, как делали ранее с патчами, только на этот раз выбираем наш новосозданный baseline в группе Upgrade Baselines:

И повторяем процедуру как в пункте 2: Check for Updates, Stage Patches, Remediate. Только вместо патчей выбираем наш апгрейд.

Когда апгрейд закончится и хост снова появится в инвентаре vCenter Server, можете установить патчи на него описанным в пункте 2 способом, чтобы хост был последней версии.

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

Источники:

  1. https://tinkertry.com/easy-upgrade-to-vcsa-65u1
  2. http://blog.myvmx.com/2016/04/custom-esxi-image-iso-using-powercli.html
  3. https://www.v-front.de/p/esxi-customizer.html
  4. http://www.vmwarearena.com/how-to-upgrade-esxi-6-0-to-esxi-6-5-using-vmware-update-manager/
  5. http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.powercli.cmdletref.doc%2FNew-EsxImageProfile.html
  6. https://www.virten.net/vmware/vmware-esxi-image-profiles/#esxi6.7

Cisco AnyConnect Secure Mobility Client profiles

Есть не совсем очевидная настройка для Cisco AnyConnect Secure Mobility Client – профили. Нужны они для того, чтобы не вводить каждый раз адрес VPN. Удобно, если периодически приходится переключаться между разными VPN.

Профили для ОС Windows находятся в файле (если его нет – создайте):

C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\profiles.xml

Для ОС Linux/Mac путь: /opt/cisco/anyconnect/profile/profiles.xml

Формат такой:

<?xml version=”1.0″ encoding=”UTF-8″?>
<AnyConnectProfile xmlns=”http://schemas.xmlsoap.org/encoding”>
<ServerList>
<HostEntry>
<HostName>VPN1</HostName>
<HostAddress>177.177.177.177</HostAddress>
<User>username</User>
<SecondUser></SecondUser>
<Domain></Domain>
<Group>usergroup</Group>
<ProxyHost></ProxyHost>
<ProxyPort></ProxyPort>
<SDITokenType>none</SDITokenType>
<ControllablePreferences>
<LocalLanAccess>true</LocalLanAccess>
</ControllablePreferences>
</HostEntry>
<HostEntry>
<HostName>VPN2</HostName>
<HostAddress>178.178.178.178</HostAddress>
<User>user2</User>
<Domain></Domain>
<Group></Group>
<ProxyHost></ProxyHost>
<ProxyPort></ProxyPort>
<SDITokenType>none</SDITokenType>
<ControllablePreferences>
<LocalLanAccess>true</LocalLanAccess>
</ControllablePreferences>
</HostEntry>
</ServerList>
</AnyConnectProfile>

Для каждого подключения создается <HostEntry> … </HostEntry>, где теги:

  • <HostName> – просто название подключения, которое будет удобно вам
  • <HostAddress> – доменное имя или IP-адрес хоста, к которому подключаемся

Остальные настройки вроде юзернейма к сожалению не работают. Клиент по-умолчанию использует имя пользователя и группы последнего подключения, который хранится в C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\preferences.xml.

 

 

 

 

Linux. Распределение прерываний

Посмотреть распределение прерываний по ядрам в ОС Linux можно командой:

cat /proc/interrupts

Вы должны увидеть нечто следующее:

Где:

  • Первый столбец — номер прерывания
  • CPU0 .. CPUx — счетчик обработанных прерываний по процессорным ядрам
  • PCI-MSI-edge — тип прерывания
  • Последний столбец — название устройства

Как видите, все прерывания по-умолчанию обрабатываются ядром 0. Что не всегда хорошо.

Перенести обработку прерываний на другие ядра можно как в примерах ниже:

# CPU0
echo 1 >/proc/irq/45/smp_affinity
echo 1 >/proc/irq/46/smp_affinity
echo 1 >/proc/irq/47/smp_affinity
# CPU1
echo 2 >/proc/irq/48/smp_affinity
echo 2 >/proc/irq/49/smp_affinity
# CPU2
echo 4 >/proc/irq/50/smp_affinity
echo 4 >/proc/irq/51/smp_affinity
# CPU3
echo 8 >/proc/irq/52/smp_affinity
echo 8 >/proc/irq/53/smp_affinity

Где цифра после echo определяет маску для используемых ядер. Например, использовать только ядро 0 это будет выглядеть 00000001 в двоичной системе исчисления. Ядро 2 – 00000100. 0 и 2 соответственно 00000101, что соответствует 5 в десятичной системе.

Этот метод действует до перезагрузки. Чтобы сохранить настройки и после перезагрузки просто добавляем эти команды в файл /etc/rc.local – это скрипт, автоматически выполняющий своё содержимое при загрузке ОС.

Источники:

  1. https://cesbo.com/ru/linux/interrupts/

Remmina в Debian 9

Есть очень удобный клиент удаленного подключения для ОС Linux – remmina. Удобен он тем, что позволяет сохранять подключения по ssh, RDP, VNC etc со всеми настройками и открывать их одним кликом:

Но в Debian 9 с этой программой небольшая проблемка. В stable ветке её просто напросто нет в репозитории, а в testing она работает не правильно из-за другой версии библиотеки vte3, которую поменять нельзя, т. к. это поломает гном… 🙂

Но выход есть всегда. И он описан на гитхабе [1].

UPD: лучше ставить из экспериментальной ветки Debian, читайте ниже.

Вначале устанавливаем Snap:

aptitude install snapd

Далее устанавливаем саму remmina (–edge говорит, что нужно установить последнюю версию, которая нам и нужна, без этого префикса установится та же, что и в testing Debian и которая не работает):

snap install remmina –edge

Также можно добавить некоторые расширения:

snap connect remmina:avahi-observe :avahi-observe
snap connect remmina:cups-control :cups-control 
snap connect remmina:mount-observe :mount-observe

Теперь нужно как-то по удобнее запускать remmina ибо по-умолчанию она в gnome shell не интегрируется. Для этого копируем remmina.desktop:

aptitude install locate
updatedb
locate remmina.desktop
cp /snap/remmina/161/meta/gui/remmina.desktop /usr/share/applications/

Также необходимо отредактировать этот файл, прописав там правильный путь к бинарнику:

Exec=/snap/bin/remmina

Вообще структура каталогов для snap в Debian выглядит следующим образом:

/snap/
├── bin (здесь лежат бинарники программ, установленных через snap)
├── core (базовые файлы snap)
└── remmina (а это папка с файлами приложения, в данном случае установлена только remmina, а если будут еще приложения – они будут здесь также)

Перезаходим в gnome shell – теперь remmina должна появиться в Activities.

UPD:

Как показала практика, remmina из snap глючит. Версия 1.2.х есть только в ветке experimental и чтобы её установить идем на страницу пакета. Здесь внизу в секции Download выбираем нужную архитектуру и копируеи ссылку на зеркало, например – amd64http://ftp.us.debian.org/debian/pool/main/r/remmina/remmina_1.2.0-rcgit.20-1_amd64.deb

Заходим в консоль, загружаем пакет по скопированной ссылке и устанавливаем его:

wget http://ftp.us.debian.org/debian/pool/main/r/remmina/remmina_1.2.0-rcgit.20-1_amd64.deb
dpkg -i remmina_1.2.0-rcgit.20-1_amd64.deb

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

Selecting previously unselected package remmina.
(Reading database … 157173 files and directories currently installed.)
Preparing to unpack remmina_1.2.0-rcgit.20-1_amd64.deb …
Unpacking remmina (1.2.0-rcgit.20-1) …
dpkg: dependency problems prevent configuration of remmina:
remmina depends on libssh-4 (>= 0.6.1); however:
Package libssh-4 is not installed.
remmina depends on remmina-common (= 1.2.0-rcgit.20-1); however:
Package remmina-common is not installed.

dpkg: error processing package remmina (–install):
dependency problems – leaving unconfigured
Processing triggers for gnome-menus (3.13.3-9) …
Processing triggers for desktop-file-utils (0.23-2) …
Processing triggers for mime-support (3.60) …
Processing triggers for man-db (2.7.6.1-2) …
Errors were encountered while processing:
remmina

В моём случае не хватало двух пакетов: libssh-4 и remmina-common. Ищем указанные пакеты на сайте пакета remmina experimental в секции Other Packages Related to remmina и помеченные dep, загружаем их описанным выше образом через wget и устанавливаем с помощью dpkg. Также можно установить плагины для rdp и vnc – они есть там в списке.

Радуемся нормальной реммине.

  1. https://github.com/FreeRDP/Remmina/wiki
  2. https://snapcraft.io/docs/snaps/structure
  3. https://packages.debian.org/en/experimental/remmina

Динамический порт (Ephemeral port)

Динамический порт, или Эфемерный порт — временный порт, открываемый соединением межсетевого протокола транспортного уровня (IP) из определённого диапазона программного стека TCP/IP.

Т. е. это локальный порт, присваемый TCP-соединению операционной системой. Например, вы подключаетесь по ssh к удаленной машине на порт 22. Это удаленный порт, а для обмена данными нужен еще локальный порт, который присваивается ОС автоматически, причем случайным образом из определенного диапазона. Этот диапазон можно узнать в ОС Linux посмотрев файл:

cat /proc/sys/net/ipv4/ip_local_port_range

Изменить этот диапазон можно командой (например, нам нужен диапазон 49152..65535):

echo “49152 65535” > /proc/sys/net/ipv4/ip_local_port_range

Tinyproxy

Иногда нужен доступ в интернет для компьютера компА, который этот доступ не имеет. Но имеет доступ к другому компьютеру компБ, который – в свою очередь – уже имеет доступ в интернет. Для того, чтобы и на компА получить доступ в интернет, нужно установить на компБ прокси сервер и в настройках приложений на компА указывать, что они должны соединяться через этот прокси. Для ОС Linux очень удобный вариант прокси сервера типа http -это tinyproxy, который установить и запустить можно за считанные минуты.

Схема:

КомпА -> КомпБ -> Интернет

1. Устанавливаем tinyproxy.

a) Для Debian, Ubuntu:

apt-get install tinyproxy

б) Для  RHEL, CentOS, Oracle Linux etc.

Добавляем дополнительный EPEL репозиторий в CentOS6 командой:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/$(arch)/epel-release-6-8.noarch.rpm)

И устанавливаем сам пакет:

yum update

yum install tinyproxy

2. Для начала tinyproxy необходимо настроить.

Настройки прокси-сервера tinyproxy находятся в файле /etc/tinyproxy/tinyproxy.conf 

Port – настройка указывающая порт, на котором по умолчанию работает прокси. Порт по умолчанию: 8888. В целях безопасности его можно сменить, к примеру на 3129.

Timeout – время в мс, в течении которого сессия будет разорвана сервером в случае неактивности.

MaxClients – количество пользователей, одновременно работающих с сервером. Для личного пользования прокси-сервером достаточно установить значение 10.

Allow – параметр Allow позволяет добавить список разрешенных IP, с которых можно подключаться к прокси. Этот параметр по-умолчанию задан только для localhost.

Если, к примеру требуется добавить доступ с двух компьютеров с IP: 8.8.8.8 и 9.9.9.9 , необходимо внести два параметра:

Allow 8.8.8.8/32

Allow 9.9.9.9/32

3. Запускаем tinyproxy командой

service tinyproxy start

Источники:

1. https://blog.ukrnames.com/administrirovanie/nastrojka-proksi-servera-tinyproxy-za-neskolko-minut