воскресенье, 23 августа 2020 г.

Установка свежей версии syslog-ng в CentOS7 из исходных кодов

Установка свежей версии syslog-ng в CentOS7 из исходных кодов

В CentOS7 в репозитарии имеется версия 3.5.6-3.el7
Последняя open source версия на https://github.com/syslog-ng/syslog-ng - это 3.28. Установим свежую версию syslog-ng с поддержкой redis из исходных кодов.

Удаляем rsyslog и syslog-ng, установленные из репозитация
# yum -y remove rsyslog
# yum -y remove syslog-ng


Устанавливаем необходимые пакеты для сборки syslog-ng из исходных кодов
# yum install git nano net-tools
# yum install automake autoconf-archive libtool redis
# yum install bison flex glib2-devel openssl-devel hiredis-devel.x86_64


Скачиваем syslog-ng из git и производим сборку в директорию /usr/local.
# cd /usr/src/
# git clone https://github.com/syslog-ng/syslog-ng.git
# cd syslog-ng/
# ./autogen.sh
# ./configure --prefix=/usr/local --enable-redis
# make
# make install

Установленная программа будет тут: /usr/local/sbin/syslog-ng, конфигурационный файл тут: /usr/local/etc/syslog-ng.conf
Проверяем установленную версию syslog-ng и модуль redis:
# /usr/local/sbin/syslog-ng -V
syslog-ng 3 (3.28.1.174.g98e5d10)
Config version: 3.29
Installer-Version: 3.28.1.174.g98e5d10
...
Available-Modules: add-contextual-data,affile,afprog,afsocket,afstomp,afuser,appmodel,azure-auth-header,basicfuncs,cef,confgen,cryptofuncs,csvparser,timestamp,dbparser,disk-buffer,examples,tfgetent,graphite,hook-commands,json-plugin,kvformat,linux-kmsg-format,map-value-pairs,pseudofile,redis,secure-logging,stardate,syslogformat,system-source,tags-parser,xml
...


Используем рекомендованный в CentOS конфигурационный файл, который скачался из git вместе с исходными кодами:
# mv /usr/local/etc/syslog-ng.conf /usr/local/etc/syslog-ng.confbackup
# cp /usr/src/syslog-ng/packaging/rhel/syslog-ng.conf /usr/local/etc/syslog-ng.conf

Правим конфигурационный файл.
# nano /usr/local/etc/syslog-ng.conf
Установленная версия syslog ожидает версию конфига 3.29, поэтому исправляем первую строчку в конфигурационном файле с
@version: 3.28
на
@version: 3.29
В разделе опции добавляем строку dns-cache(no), которая требуется в новой версии конфига syslog-ng
options {
    flush_lines (0);
    time_reopen (10);
    log_fifo_size (1000);
    chain_hostnames (off);
    use_dns (no);
    dns-cache(no);
    use_fqdn (no);
    create_dirs (no);
    keep_hostname (yes);
};

Добавляем конфигурацию для прослушивания сети и помещения сообщений в базу redis.
source net { udp(ip(0.0.0.0) port(514) log_msg_size(8000) ); };
destination d_net {
    redis(
        host(127.0.0.1)
        port(6379)
        command("rpush" "logs" "${R_YEAR}-${R_MONTH}-${R_DAY} ${R_HOUR}:${R_MIN}:${R_SEC}|${HOST}|${PRIORITY}|$MSGHDR${MSG}")
    );
};
filter f_net_10 {
    netmask(10.0.0.0/8);
};
filter f_net_172 {
    netmask(172.16.0.0/12);
};
log { source(net); filter(f_net_10); destination(d_net); };
log { source(net); filter(f_net_172); destination(d_net); };

Затем комментируем строку, подключения других конфигов (опционально)
#@include "/etc/syslog-ng/conf.d/*.conf"

Запускаем syslog-ng так: # /usr/local/sbin/syslog-ng -f /usr/local/etc/syslog-ng.conf
Проверяем прослушивание порта 514:
# netstat -ltupn | grep syslog
udp        0   0 0.0.0.0:514  0.0.0.0:*   1338/syslog-ng

Проверяем запущенную службу:
# ps ax | grep syslog
 1357 ?  S    0:00 supervising syslog-ng
 1358 ?  Ssl  0:00 /usr/local/sbin/syslog-ng -f /usr/local/etc/syslog-ng.conf

При старте сервиса могут быть предупреждения, которые связаны с версией конфигурационного файла. Лечится исправлением первой строчки (@version: 3.28 на @version: 3.29) в конфиг файле:
[2020-08-22T18:01:13.166587] WARNING: Configuration file format is too old, syslog-ng is running in compatibility mode. Please update it to use the syslog-ng 3.29 format at your time of convenience. To upgrade the configuration, please review the warnings about incompatible changes printed by syslog-ng, and once completed change the @version header at the top of the configuration file; config-version='3.28'
 [2020-08-22T18:01:13.331169] WARNING: The internal_queue_length stat counter has been renamed to internal_source.queued. The old name will be removed in future versions; config-version='3.28'

При отсутствии строчки dns-cache(no) при запуске будет ошибка:
[2020-08-22T18:01:13.328914] WARNING: With use-dns(no), dns-cache() will be forced to 'no' too!;
При незапущенном REDIS будет выходить ошибка. При запущенном REDIS ошибка не возникает:
[2020-08-22T18:07:41.059045] REDIS server error during connection; driver='d_elis#0', error='Connection refused', time_reopen='10'

Для запуска syslog создадим сервис.
# touch /usr/lib/systemd/system/syslog-ng.service
# chmod 664 /usr/lib/systemd/system/syslog-ng.service
# nano /usr/lib/systemd/system/syslog-ng.service

 Содержимое файла:

[Unit]
Description=System Logger Daemon
Documentation=man:syslog-ng(8)
After=network.target redis.service

[Service]
Type=notify
Sockets=syslog.socket
ExecStart=/usr/local/sbin/syslog-ng -F -f /usr/local/etc/syslog-ng.conf -p /var/run/syslogd.pid
ExecReload=/bin/kill -HUP $MAINPID
StandardOutput=journal
StandardError=journal
Restart=on-failure

[Install]
WantedBy=multi-user.target


# systemctl daemon-reload
# systemctl start syslog-ng.service
# systemctl enable syslog-ng.service


среда, 15 июля 2020 г.

Установка Linux LUBUNTU на тонкий клиент HP t520

Установка Linux LUBUNTU на тонкий клиент HP t520

На тонких клиентах по умолчанию установлена ОС Windows Embedded, сменить которую не так просто.

Для того что бы установить на тонкий клиент полноценную, пусть и легковесную систему Linux, необходимо внести изменения в BIOS.
Для доступа в BIOS после включения устройства, нужно сразу нажимать клавишу ESC. Получим меню BIOS.
 

Нажимаем клавишу F10  - «Bios Setup»
Переходим в меню Security -> Secure Boot Configuration. Получим предупреждение страшного красного цвета.
 

Продолжаем, нажав клавишу F10. В появившемся меню устанавливаем:
Legacy Support = Disable
Key Ownership = Custom Keys
 

Нажимаем клавишу F10
Затем переходим в меню BIOS: Storage -> Boot Order. Здесь необходимо изменить порядок загрузки – на первое место установить «USB Hard Drive» (по умолчанию стоит «USB Floppy/CD»).
Для перемещения пунктов в списке, устанавливаем на нужном пункте стрелку, нажимаем ENTER. Пункт подсветиться. Стрелками перемещаем пункт в списке. Снова нажимаем ENTER для применения.
 

Нажимаем клавишу F10.
Вставляем загрузочную флешку с дистрибутивом LINUX.
Переходим в пункт меню File -> Save and Exit. Выбираем yes (по умолчанию) и нажимаем ENTER.
Теперь тонкий клиент должен загрузиться с флешки.

При загрузке с флешки с Linux LUBUNTU имеем меню загрузчика.
 

Выбираем Start Lubuntu и нажимаем ENTER. Произойдет загрузка ОС LUBUNTU в LIVE режиме. Для установки ОС в систему кликаем по иконке «Install Ubuntu»
 

Откроется меню установки LUBUNTU.
Выбираем язык установки и нажимаем «Далее».
Выбираем регион (например Europe / Samara) и нажимаем «Далее».
Выбираем раскладку клавиатуры English (US) / Default и нажимаем «Далее».
Затем выбираем ручную разметку диска и нажимаем «Далее».
Формируем новую таблицу разделов. Создаем два раздела:
Первый раздел размером 512М с файловой системой FAT32 и сточкой монтирования /boot/efi.
Разделу установить флаги boot и esp.
Второй раздел с оставшимся местом с файловой системой EXT4 и точкой монтирования /.
  


Далее в меню инсталлятора нужно задать имя пользователя, имя машины и нажать «Далее».
Затем в появившемся окне проверить параметры установки и нажать «Установить». Подтвердить действие.
 

После не очень длительного процесса установки на экране должно появиться сообщение о завершении:
 

Нажимаем «Перезагрузить», система должна загрузиться уже в рабочем режиме с внутреннего диска. При этом флешку можно сразу не вынимать, первая загрузка после установки должна пройти с жесткого диска тонкого клиента.

вторник, 14 июля 2020 г.

Настройка сети на ПК с LUBUNTU

Настройка сети на ПК с LUBUNTU

Проверка названия интерфейсов:
$ ip a                                                                                                             
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000                                 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00                                                                   
    inet 127.0.0.1/8 scope host lo                                                                                          
       valid_lft forever preferred_lft forever                                                                              
    inet6 ::1/128 scope host                                                                                                
       valid_lft forever preferred_lft forever                                                                              
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000                       
    link/ether c8:cb:b8:1a:58:01 brd ff:ff:ff:ff:ff:ff                                                                      
    inet 10.10.49.226/24 brd 10.10.49.255 scope global noprefixroute enp1s0                                                 
       valid_lft forever preferred_lft forever                                                                              
    inet6 fe80::cacb:b8ff:fe1a:5801/64 scope link
       valid_lft forever preferred_lft forever


Проверка наличия в системе сетевых адаптеров:
$ lshw -C network
WARNING: you should run this program as super-user.
  *-network                
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: enp1s0
       version: 0c
       serial: c8:cb:b8:1a:58:01
       size: 100Mbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 duplex=full firmware=rtl8168g-2_0.0.1 02/06/13 ip=10.10.49.226 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
       resources: irq:31 ioport:e000(size=256) memory:fea00000-fea00fff memory:d0800000-d0803fff
  *-network
       description: Network controller
       product: BCM43228 802.11a/b/g/n
       vendor: Broadcom Inc. and subsidiaries
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 00
       width: 64 bits                                                                                                       
       clock: 33MHz                                                                                                         
       capabilities: bus_master cap_list                                                                                    
       configuration: driver=bcma-pci-bridge latency=0                                                                      
       resources: irq:33 memory:fe900000-fe903fff                                                                           
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.        


Для прописывания статического IP адреса на интерфейсе в UBUNTU используется утилита netplan
Файл конфигурации находиться в директории /etc/netplan/. Он может иметь разное имя, у меня назывался так: 01-network-manager-all.yaml
# nano /etc/netplan/01-network-manager-all.yaml
Пример файла конфигурации для статического интерфейса:
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp1s0:
      addresses: [10.10.49.226/24]
      gateway4: 10.10.49.254
      dhcp4: no
      dhcp6: no
      nameservers:
        addresses: [10.10.50.2,46.20.64.1]


Проверка конфигурации netplan, выполняется командой:
# netplan try
Если в файле конфигурации есть ошибки, утилита покажет место ошибки, если ошибок нет, то выдаст предупреждение с обратным отсчетом применения. Для применения настроек нужно нажать ENTER.
Do you want to keep these settings?
Press ENTER before the timeout to accept the new configuration
Changes will revert in 117 seconds
Configuration accepted.