пятница, 30 октября 2020 г.

Xubuntu (*buntu) 20.04 не видит сеть Windows

Исходные данные: 

Есть Xubuntu 20.04 LTS "из коробки" и сеть, преимущественно из Windows 10, которая не видится от слова совсем. 

Первоисточники:

Скормить Гуглю фразу "ubuntu 20.04 not see windows shares" (в русскоязычных источниках просто ничего, все уехали...).

https://ubuntuforums.org/showthread.php?t=2447575

https://askubuntu.com/questions/1230263/20-04-windows-network-empty

В итоге всего несколько строк было добавлено в исходный /etc/samba/smb.conf

В секции [global]

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   client min protocol = NT1
   server min protocol = NT1
   workgroup = REALNAME
   name resolve order = bcast lmhosts host wins
После перезапуска Самбы надо "дать постоять", чтоб собрались имена из бродкастов.




четверг, 11 июня 2020 г.

Конспект старого и большого /etc/dnsmasq.d/ltsp-server-dnsmasq.conf

Исходные данные: 

В связи с "созреванием" мысли о переходе на новую (5++) версию LTSP хочется задокументировать все то, хорошее что накопилось за годы эксплуатации текущей версии.

Собственно сам файл...


# Configures dnsmasq for PXE client booting.
# All the files in /etc/dnsmasq.d/ override the main dnsmasq configuration in
# /etc/dnsmasq.conf.
# You may modify this file to suit your needs, or create new ones in dnsmasq.d/.

# Log lots of extra information about DHCP transactions.
log-dhcp

# Router address (а их два, который "красный" не для всех)
dhcp-option=option:router,10.0.0.26
dhcp-option=tag:red,option:router,10.0.0.35

# Static route to VPN
dhcp-option=121,10.100.1.0/24,10.0.0.3

########## Ignoring unknown host for debugging
# dhcp-ignore=!known
########## IP ranges to hand out. Statics is in bottom

dhcp-range=10.0.1.128,10.0.1.254,2h
# If another DHCP server is present on the network, you may use a proxy range
# instead. This makes dnsmasq provide boot information but not IP leases.
# (needs dnsmasq 2.48+)

######### for debugging
#dhcp-range=10.0.0.0,proxy
#########

# The rootpath option is used by both NFS and NBD.
dhcp-option=17,/opt/ltsp/i386

# wpad option
dhcp-option=252,http://wpad/wpad.pac

# Define common netboot types.
dhcp-vendorclass=etherboot,Etherboot
dhcp-vendorclass=pxe,PXEClient
dhcp-vendorclass=ltsp,"Linux ipconfig"

# Set the boot filename depending on the client vendor identifier.
# The boot filename is relative to tftp-root.
dhcp-boot=net:pxe,/ltsp/i386/pxelinux.0
dhcp-boot=net:etherboot,/ltsp/i386/nbi.img
dhcp-boot=net:ltsp,/ltsp/i386/lts.conf

# Kill multicast.
dhcp-option=vendor:pxe,6,2b

# Disable re-use of the DHCP servername and filename fields as extra
# option space. That's to avoid confusing some old or broken DHCP clients.
dhcp-no-override

# We don't want a PXE menu since we're using a graphical PXELinux menu.
#pxe-prompt="Press F8 for boot menu", 3

# The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
# Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
pxe-service=X86PC, "Boot from network", /ltsp/i386/pxelinux

# A boot service type of 0 is special, and will abort the
# net boot procedure and continue booting from local media.
#pxe-service=X86PC, "Boot from local hard disk", 0

# Comment the following to disable the TFTP server functionality of dnsmasq.
# Чисто традиция, прекрасно работает.
#########
# enable-tftp
#########

# The TFTP directory. Sometimes /srv/tftp is used instead.
# tftp-root=/var/lib/tftpboot/

##############################################################################
# 10.0.0.0/255.255.254.0 (/23) Вся сеть
# 10.0.0.0 - 10.0.0.63 /255.255.255.192 (/26) Имеет выход наружу (известные хосты) 
#
# НЕ имеет выхода наружу 
# 10.0.0.64/255.255.255.192 (/26) + 10.0.0.128/255.255.255.128 (/25) + 10.0.1.0/255.255.255.128 (/25)
# В том числе
#   10.0.1.0/255.255.255.192 (/26) и все что перед 80 и 443 порт закрыт
#   10.0.1.64/255.255.255.192 (/26) вообще все заперто
#
# 10.0.1.128/255.255.255.128 (/25) Имеют выход наружу (кроме 80 и 443), не известные нам компы, нет доступа к обмену и
# другим нашим ресурсам, чисто интернет для обновлений.
#

# Несколько полезных строчек

# Отладочный терминал (для загрузки с альтернативного сервера)
# dhcp-host=00:22:4d:80:9a:b1,ignore

# Принтер
dhcp-host=00:c0:ee:bb:c1:72,            np-buh,        10.0.0.10       # Kyocera

# Альтернативный выход в мир
dhcp-host=00:25:22:c5:bb:5b, wh-security,   10.0.1.60, set:red       # 20200302 Security boss (DVR view)

# Типичный бездисковый клиент
dhcp-host=70:71:bc:f1:b6:ff,            ts-ter-tmp,    10.0.1.61       # 20200316 Therapy tempo print

# Комп с виндой
dhcp-host=00:00:f0:7f:77:4c,            wh-oper,       10.0.1.64       # 20150505 + whitelist notebook@operblock
Однако надо и остальные файлы сюда же дописать... Чуть позже. 

Дополнение от 03 сентября 2022


# DNS altering
dhcp-option=tag:ydns,option:dns-server,77.88.8.88,77.88.8.2

####
####
dhcp-host=a0:48:1c:ee:24:87,    ts-inf-4,               10.0.1.59, set:ydns     # 20220531


воскресенье, 10 мая 2020 г.

Centos 7 + VirtualBox + phpvirtualbox

Исходные данные: 

Для работы существующей VM нужно подготовить удобное и теплое место на основе CentOS. Поскольку VM уже живет в среде virtualbox, эту среду и организуем. Краеугольным камнем является phpVirtualbox, последняя версия "заточена" под virtualbox-5.0

Шпаргалка:
phpvirtualbox (старый, авторский, есть еще свежий форк, - его искать на по ссылке на virtualbox.org) - https://sourceforge.net/projects/phpvirtualbox/
phpVirtualBox installation on Debian Linux and Apache2 web server - https://linuxconfig.org/phpvirtualbox-installation-on-debian-linux-and-apache2-web-server
Установка VirtualBox с PhpVirtualBox на CentOS 7 - https://voipnotes.ru/blog/install-virtualbox-with-phpvirtualbox-on-centos-7/ - наиболее нам близко.
Виртуализация с использованием Ubuntu Server 16.04 и pHpVirtualBox 5.0.5 - https://habr.com/ru/post/319286/ - еще один прекрасный пример

На момент написания phpvirtualbox поддерживал только 5.0 версии virtualbox-а (который родной, упомянутый выше форк выглядит "немного сырым", но он поддерживает 5.2 на Centos7, относительно Centos 8 - никаких упоминаний). Проверено, с 5.2 "родной" не работает - изменилась структура данных, не может даже получить список VM. Установка virtualbox версии 5.0.x на CentOS 8 так же оказалась занятием не из легких (нет поддержки соотв. ядер в dkms, теоретически можно скомбинировать нечто среднее из 5.2 и 5.0, но может и...). С практической точки зрения проще поставить CentOS 7 + virtualbox-5.0, а сэкономленные силы направить на избавление от virtualbox  в принципе (одна мутная лицензия на ext. pack этого требует!).

В /etc/selinux/config ставим
SELINUX=disabled
И ПЕРЕЗАГРУЖАЕМСЯ (можно создать примерно 5 правил... но что-то лень)

На новой голой системе
yum install screen mc wget
Теперь собственно virtualbox.
cd /etc/yum.repos.d/
wget http://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo
cd
wget www.virtualbox.org/download/oracle_vbox.asc
rpm -import oracle_vbox.asc
yum search virtualbox
покажет 6 разных версий. Выбираем и устанавливаем 5.0
yum install VirtualBox-5.0.x86_64
Теперь нам нужно поставить исходники ядра чтоб пересобрать модули (что бы было этого не сделать заранее - ядра в зависимостях virtualbox чего-то нет...). Ну и php+httpd заодно.
yum install httpd php php-devel php-common php-soap php-gd
yum groupinstall 'Development Tools'
yum install SDL kernel-devel kernel-headers
/sbin/rcvboxdrv setup ожидаемо выдает ошибку.
вот тут - https://superuser.com/questions/499059/unable-to-install-virtualbox-specify-kern-dir-directory-installing-vir
можно почерпнуть мудрости.
Например помогает обновление
после успешного завершения
/sbin/rcvboxdrv setup
проверяем
vboxmanage list vms
должен просто завершаться без ошибок.

Теперь extantion pack (в нем RDP)
cd
wget http://download.virtualbox.org/virtualbox/5.0.40/Oracle_VM_VirtualBox_Extension_Pack-5.0.40-115130.vbox-extpack
vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.40-115130.vbox-extpack

Очистка...
rm *vbox*

Добавим юзера
useradd vbox -g vboxusers -m -N
и пароль ему зададим отдельно
paaswd vbox

В каталоге /etc/default создадим файл virtualbox и пропишем нашего юзера, от имени которого будет работать "родной" web-сервис
VBOXWEB_USER=vbox
LOAD_VBOXDRV_MODULE=1
SHUTDOWN=poweroff
Обязательна только первая строка, но опыт *buntu рекомендует и остальные две.

Наконец скачиваем phpvirtualbox-5.0.x по ссылке https://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-5.0-5.zip/download
разворачиваем архив в /var/www/html/vbox
копируем
cp config.php-example config.php
и вносим в него имя (vbox) и пароль, боле ничего.

Немножко настраиваем httpd (если раньше сервер не был настроен)
в /etc/httpd/conf/httpd.conf прописываем Listen...  ServerName...
меняем владельца
cd /var/www
chown -R apache:apache html
Запускаем все
systemctl enable vboxweb-service
systemctl start vboxweb-service
systemctl start httpd.service
systemctl enable httpd.service
И местный firewall будем считать низложенным
systemctl disable firewalld
systemctl stop firewalld
Ну по адресу/vbox должно быть...







четверг, 13 февраля 2020 г.

Xubuntu 16.04 + NetworkManager + KVM

Для запуска KVM или контейнеров нужно "отцепить" физический интерфейс и "прицепить" его через мост.

Первоисточники. https://www.linux.org.ru/forum/admin/14728853 и
https://www.cyberciti.biz/faq/how-to-add-network-bridge-with-nmcli-networkmanager-on-linux/

Имеем настольный комп. Автоматически созданное "Проводное соединение 1" через интерфейс с именем enp1s1.

Смотрим что там есть. Именно их мы и увидим.

nmcli d show enp1s1
nmcli conn show

Собственно создание
nmcli con add ifname br0 type bridge con-name br0
nmcli con modify br0 bridge.stp no
nmcli -f bridge con show br0
nmcli con add type bridge-slave ifname enp1s1 master br0

Переключение
nmcli conn down "Проводное соединение 1"
nmcli conn up br0

Проверка
ifconfig
ping 8.8.8.8

P.S.
Должны быть установлены bridge-utils.