Установка и настройка серверной части NFS service

В рамках данной заметки рассмотрим процесс установки NFS сервера в локальной сети на базе Linux CentOS 7. Данная файловая шара мне потребовалась для работы с XenServer 6.5 (установка ОС на виртуальные машины с ISO NFS library).

Выполняем к командной строке (нужны привилегии супер пользователя) следующие операции. Сначала устанавливает требуемые пакеты:

sudo yum install nfs-utils nfs-utils-lib

Затем включаем установленную службу:

sudo systemctl enable rpcbind

sudo systemctl enable nfs-server

sudo  systemctl enable nfs-lock

sudo systemctl enable nfs-idmap

sudo systemctl start rpcbind

sudo systemctl start nfs-server

sudo systemctl start nfs-lock

sudo systemctl start nfs-idmap

После этого переходим к настройке каталога, которые будет использоваться для раздачи контента нашим NFS сервером. Рекомендуется делать NFS шару в «/var/nfs_name», чтобы не иметь проблем с записью файлов и назначением прав доступа. В моей ситуации по определенным причинам используется каталог «/home/nfs». Итак, создаем папку и назначаем права доступа:

sudo mkdir -p /home/nfs

sudo chmod -R 777 /home/nfs

После этого необходимо добавить в файл «/etc/exports’ информацию о предоставляемой шаре через NFS:

sudo nano /etc/exports

и добавляем строку:

/home/nfs 192.168.10.0/24(rw,sync,no_root_squash,no_all_squash)

При этом:

/home/nfs – расшариваемая директория

192.168.10.0/24 – IP адрес клиента (или, как в моем случае, возможность подключения для всей подсети)

rw – разрешение на запись

sync – синхронизация указанной директории

no_root_squash – включение root привилегий

no_all_squash — включение пользовательской авторизации

Выполняем в командной строке exportfs -a ,чтобы подключить этот каталог в список экспортируемых. В завершение настройки NFS сервера перезапускаем его:

sudo systemctl restart nfs-server

Теперь добавляем (открываем) порты NFS сервера в брандмауэре (firewalld) для корректной работы в сети:

firewall-cmd —permanent —add-port=111/tcp

firewall-cmd —permanent —add-port=54302/tcp

firewall-cmd —permanent —add-port=20048/tcp

firewall-cmd —permanent —add-port=2049/tcp

firewall-cmd —permanent —add-port=46666/tcp

firewall-cmd —permanent —add-port=42955/tcp

firewall-cmd —permanent —add-port=875/tcp

firewall-cmd —permanent —zone=public —add-service=nfs

firewall-cmd —permanent —zone=public —add-service=mountd

firewall-cmd —permanent —zone=public —add-service=rpc-bind

firewall-cmd —reload

Рубрика: Общее | Оставить комментарий

Samba и права на директории.selinux

Не мог понять почему по сети записи нет. Оказалось selinux блокирует все и вся.

chcon -R -t samba_share_t /home/share

Рубрика: Новости, Общее | Оставить комментарий

Polkitd и загрузка процессора

Заметил что при простое загрузка процессора 4-х ядерного ксеона 20-30%.

Грузит некоторый процесс polkitd. Эта такая замена sudo. Со временем загрузка растет ещё больше. Хотя ничего кроме операционки не загружено.

Виноват гном . Баг признан.

A workaround that I’ve been using is to remove /etc/xdg/autostart/org.gnome.SettingsDaemon.Account.desktop until the above mentioned bug is fixed. The only function you will lose is the notification of expiring account password.

Просто удалить файл.

Рубрика: Новости, Общее | Оставить комментарий

Как изменить имя хоста в CentOS 7 навсегда

С появлением CentOS 7 изменился синтаксис многих команд этой операционной системы. Я уже писал ранее как сменить консоль в CentOS, теперь это две разные инструкции для CentOS 6 и CentOS 7. В этой статье я расскажу как изменить имя хоста в CentOS 7 & RHEL 7.

Чтобы изменить имя хоста навсегда в CentOS 7 воспользуйтесь следующей командой:

# hostnamectl set-hostname New_HostName

где New_HostName — это новое имя хоста.

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

# scarletctl disable set-hostname

Перезапуск сервиса systemd-hostnamed

Чтобы все изменения вступили в силу желательно перезапустить службу (сервис) systemd-hostnamed:

# systemctl restart systemd-hostnamed

Как проверить имя хоста в CentOS 7

Чтобы увидеть имя хоста сервера в CentOS 7 воспользуйтесь командой hostnamectl:

Вы увидите примерно следующее:

# hostnamectl status
   Static hostname: sitename.tld
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ce4cc7f6d67d0056a8a68503a37d39ee
           Boot ID: 58599810ff8e4d6b882f4181b616ff46
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.10.1.el7.x86_64
      Architecture: x86-64
Рубрика: Linux, Новости, Общее | Оставить комментарий

Uptime

upime

22.06.16

и 24.06.16 отключили электричество на час не дав установить рекорд в 1000 дней.

27.12.18

Скоро переход на другой сервер.

Послений uptime.

судя по smart дисков сервер проработал:

9 Power_On_Hours 0x0032 041 041 000 Old_age Always — 43226

4,93 Года.

Рубрика: Общее | Оставить комментарий

Проверка действия SSL сертификата

echo | openssl s_client -servername ИМЯ -connect ХОСТ:ПОРТ 2>/dev/null | openssl x509 -noout -dates
Рубрика: Linux, Общее | Оставить комментарий

mdadm и cryptosetup или как правильно шифровать диски.

Команда создания массива:

mdadm —create /dev/md1 —raid-devices=2 —level=1 /dev/vda3 /dev/vdb3

id дисков и разделов:

blkid

Модули для grub если не может найти раздел:

insmod mdraid1x

insmod ext2

set prefix=(md/1)/boot/grub2

set root=md/1

load normal

Установка GRUB2

grub2-install /dev/vda

grub2-install /dev/vdb

 

Итак начинаем инсталляцию:

1) гружусь в rescue

Только для intel AMT

для загрузки в этом режиме нажимаем tab и подписываем следующие команды в загрузчик: xdriver=vesa nomodeset

2) удаляю на всякий таблицу разделов

dd if=/dev/zero of=/dev/sda bs=1k count=1

dd if=/dev/zero of=/dev/sdb bs=1k count=1

3) создаю разделы

parted -a opt /dev/vda mklabel gpt

parted -a opt /dev/vda mkpart primary 1MiB 5MiB

parted -a opt /dev/vda mkpart primary 5MiB 505MiB

parted -a opt /dev/vda mkpart primary 505MiB 1005MiB

parted -a opt /dev/vda mkpart primary 1005MiB -1

parted -a opt /dev/vda set 1 bios_grub on

parted -a opt /dev/vda set 2 raid on

parted -a opt /dev/vda set 3 raid on

parted -a opt /dev/vda set 4 raid on

второй диск размечаем gpt и копируем разделы с vda

parted -a opt /dev/vdb mklabel gpt

sgdisk -R /dev/vdb /dev/vda

sgdisk -G /dev/vdb

Разметка рейда:

1) Swap в raid 1

mdadm —create /dev/md0 —raid-devices=2 —level=1 /dev/sda2 /dev/sdb2

2) раздел boot и / . Предупреждение выскакивает но все равно ставлю v 1.2 и под бут.

1) mdadm —create /dev/md1 —raid-devices=2 —level=1 /dev/sda3 /dev/sdb3

mdadm —create /dev/md2 —raid-devices=2 —level=1 /dev/sda4 /dev/sdb4

3) Создаем файловую систему на рейде:

mkswap /dev/md0

mkfs.ext2 /dev/md1

mkfs.xfs /dev/md1

Затем грузимся в нормальном режиме.

Форматируем разделы(без этого в систему не добавляет) и ставим галку зашифровать.

 

Восстановление массива.

Загрузка в нормальном режиме. НО ошибка загрузки не может найти раздел.

проверяем что массив есть:

cat /proc/mdstat

Вставляем новый диск похожего объёма .

Грузимся в rescue

Только для intel AMT

для загрузки в этом режиме нажимаем tab и подписываем следующие команды в загрузчик: xdriver=vesa nomodeset

далее нажимаем 3

второй диск размечаем gpt и копируем разделы с sda

parted -a opt /dev/sdb mklabel gpt

sgdisk -R /dev/sdb /dev/sda

sgdisk -G /dev/sdb

Грузимся в нормальном режиме.НО ошибка загрузки не может найти раздел. Снова.

если он в режиме innactive то нужно его остановить. и заново собрать!

mdadm —detail /dev/md0

mdadm  —stop /dev/md0

mdadm: stopped /dev/md0

mdadm —assemble —force /dev/md0

mdadm —assemble /dev/md0

mdadm: /dev/md0 has been started with 1 drives (out of 2).

cat /proc/mdstat

md0 : active raid1 sda1[0] sdc1[2] sdb1[1]

2096064 blocks [2/1] [U_]

Добавляем свежеиспеченный жесткий диск

# mdadm —add /dev/md0 /dev/sdb1

 

Рубрика: Linux, Скрипты | Оставить комментарий

Intel AMT и Linux

и ещё обнаружил особенность intel AMT dhcp аренду надо давать на 30 минут или час.

 

Для того чтобы заработало intel amt нужно:

установить программу :

sudo apt-get install -y wsmancli

потом сформировать xml и отправить настройки в amt

# configure parameter
export AMT_HOST=192.168.254.10
export AMT_PASSWORD=Admin123$
export VNC_PASSWORD=P@ssw0rd
 
# set the vnc password
wsman put http://intel.com/wbem/wscim/1/ips-schema/1/IPS_KVMRedirectionSettingData -h ${AMT_HOST} -P 16992 -u admin -p ${AMT_PASSWORD} -k RFBPassword=${VNC_PASSWORD}
 
# enable KVM redirection to port 5900
wsman put http://intel.com/wbem/wscim/1/ips-schema/1/IPS_KVMRedirectionSettingData -h ${AMT_HOST} -P 16992 -u admin -p ${AMT_PASSWORD} -k Is5900PortEnabled=true
открытие порта для работы через VNC
# disable opt-in policy
wsman put http://intel.com/wbem/wscim/1/ips-schema/1/IPS_KVMRedirectionSettingData -h ${AMT_HOST} -P 16992 -u admin -p ${AMT_PASSWORD} -k OptInPolicy=false
 
# disable session timeout
wsman put http://intel.com/wbem/wscim/1/ips-schema/1/IPS_KVMRedirectionSettingData -h ${AMT_HOST} -P 16992 -u admin -p ${AMT_PASSWORD} -k SessionTimeout=0
отключение таймаута для vnc 
# enable KVM
wsman invoke -a RequestStateChange http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_KVMRedirectionSAP -h ${AMT_HOST} -P 16992 -u admin -p ${AMT_PASSWORD} -k RequestedState=2
 
# OPTIONAL: view settings
wsman get http://intel.com/wbem/wscim/1/ips-schema/1/IPS_KVMRedirectionSettingData -h ${AMT_HOST} -P 16992 -u admin -p ${AMT_PASSWORD}
 
затем запустить vnc Viewer
echo $password | xtightvncviewer $AMT_HOST -bgr233 -autopass


Рубрика: Linux, Новости, Общее, Скрипты | Оставить комментарий

MikroTik & OpenWRT & DNSCrypt

Взято отсюда https://habr.com/post/354710/
Данная статья рассчитана на пользователя, имеющего домашний роутер производства MikroTik, поэтому моменты, связанные непосредственно с компиляцией и сборкой, опущены, а примеры по MikroTik’у в картинках.Итак, вкратце, постановка задачи следующая: поднять в качестве виртуальной машины (гостя) на MetaROUTER урезанную версию OpenWRT и уже на нем поднять связку DNS + DNSCrypt, которую использовать для шифрованного обмена данными с внешними DNS серверами.

Решить данную задачу стандартным способом, взяв исходники LEDE(OpenWRT) с поддержкой DNSCrypt, пропатчить KDE под FreeBSD под Mikrotik MetaROUTER и скомпилировать не удалось, поскольку либо ошибки при накладывании патча, либо при компиляции, либо сборка ведет себя не стабильно, ИМХО.

Решить задачу удалось методом последовательных приближений – взяв готовую, старую, но стабильную сборку OpenWRT АА 31411, часть пакетов доставить из репозитария, часть скомпилировать отдельно и немного доработать конфиги напильником.

Итак, берем готовый mikrotik-openwrt-dnscrypt (отдельно сборку OpenWRT можно взять здесь), разархивируем, по FTP или через буфер обмена (в проводнике скопировать, на роутере Files->Paste) заливаем на MikroTik файлы openwrt-mr-mips-rootfs-31411-basic.tar.gz и files.tar.gzСоздаем нового гостя, импортируя сборку в MetaROUTER (MetaROUTER->Import Image):

image

Добавляем новый eth интерфейс для гостя:

image

Чтобы максимально упростить запуск OpenWRT IP он получает по DHCP от MikroTik, для этого указываем добавлять гостевой инт. (у меня это vif19) в бридж (у меня это – bridge1), в котором также находится внутренний мастер инт. роутера (на моем примере немного иначе, но сути не меняет). Когда OpenWRT получит адрес, делаем его статическим в настройках DHCP сервера роутера и данный адрес указываем в настройках DHCP сервера как адрес DNS сервера для компьютеров (IP->DHCP server->Networks->DNS servers).

После создания гостя он в Disable. Делаем Enable, открываем Console (правой кнопкой на госте) или через командную строку в микртоике «metarouter console ИМЯ» выход  ctrl+A,  ждем примерно 75 сек, периодически запуская ifconfig, чтобы отловить момент подъема сетевого интерфейса и получения адреса (примерно так):

root@metarouter:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 02:8D:A2:1D:9D:73 
              inet addr:172.16.1.247  Bcast:172.16.1.255  Mask:255.255.255.255
При первом запуске поменять пароль на маршрутизаторе #passwd
Прежде чем двигаться дальше рекомендую потестить OpenWRT – подключиться телнетом, позапускать что-нибудь — ping, netstat и т.д. что бы убедится, что OpenWRT не падает в kernel panic.Если все хорошо — приступаем к ‘допиливанию’ (в консоли):

root@metarouter:/# cd /tmp
root@metarouter:/tmp# wget ftp://admin:passwd@router/files.tar.gz (где, router - IP адрес Mikrotik)
root@metarouter:/tmp# tar xzf files.tar.gz
root@metarouter:/tmp cd files
root@metarouter:/tmp/files# ./install.sh

Результат работы install.sh (на отсутствие ошибок)

PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=56 time=13.374 ms
64 bytes from 8.8.8.8: seq=1 ttl=56 time=15.320 ms
64 bytes from 8.8.8.8: seq=2 ttl=56 time=12.756 ms— 8.8.8.8 ping statistics — 3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 12.756/13.816/15.320 ms
Downloading openwrt.wk.cz/trunk/mr-mips/packages/Packages.gz.
Inflating openwrt.wk.cz/trunk/mr-mips/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/snapshots.
Installing libcap (2.22-1) to root…
Downloading openwrt.wk.cz/trunk/mr-mips/packages/libcap_2.22-1_mr-mips.ipk.
Configuring libcap.
Installing ntpdate (4.2.6p5-1) to root…
Downloading openwrt.wk.cz/trunk/mr-mips/packages/ntpdate_4.2.6p5-1_mr-mips.ipk.
Configuring ntpdate.
Installing libsodium (1.0.16-1) to root…
Multiple packages (libc and libc) providing same name marked HOLD or PREFER. Using latest.
Installing libpthread (0.9.33-104) to root…
Downloading openwrt.wk.cz/trunk/mr-mips/packages/libpthread_0.9.33-104_mr-mips.ipk.
Configuring libpthread.
Configuring libsodium.
Installing dnscrypt-proxy-resolvers (1.9.5+git-20171001-2d43be3-8) to root…
Multiple packages (libc and libc) providing same name marked HOLD or PREFER. Using latest.
Configuring dnscrypt-proxy-resolvers.
Installing dnscrypt-proxy (1.9.5-8) to root…
Multiple packages (libc and libc) providing same name marked HOLD or PREFER. Using latest.
Configuring dnscrypt-proxy.
Installing rng-tools (5-1) to root…
Multiple packages (libc and libc) providing same name marked HOLD or PREFER. Using latest.
Configuring rng-tools.
24 Apr 11:22:24 ntpdate[2321]: adjust time server 91.203.172.2 offset -0.010429 sec
cp: omitting directory ‘etc/config’

Если ошибок не было перегружаем OpenWRT:

root@metarouter:/tmp/files# reboot

После перезагрузки OpenWRT (~75 сек) заходим в консоль и проверяем, что dnscrypt-proxy запустился:

root@metarouter:/# netstat -anp
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:5353          0.0.0.0:*               LISTEN      2150/dnscrypt-proxy
…

Проверяем работу DNSCrypt, например, что-нибудь разрезольвим:

root@metarouter:/# nslookup ya.ru
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost

Name:      ya.ru
Address 1: 2a02:6b8::2:242 ya.ru
Address 2: 87.250.250.242 ya.ru
По задумке автора тут должно было работать! НО!!!!
не работает потому что сервер к которому обращается dnscrypt не доступен или не работает.
Предлагаю следующее:
Отключить dnsmasq #/etc/init.d/dnsmasq disable
Зачем он там вообще?
Включить доступ по SSH #/etc/init.d/dropbear enable
Повесить dnscrypt на 53 порт и адрес 0.0.0.0
#vi /etc/rc.local исправить настройки и указать сервер dnscrypt.ca-1 или другой из списка /etc/config/dnscrypt-resolvers.csv
Отключить в этом файле другие dns серверы в файл /etc/resolv.conf
На компьютере перезапускаем сетевой инт., смотрим в его настройки, убеждаемся, что в качестве адреса DNS сервера получен адрес нашего OpenWRT.
Рубрика: Linux, Mikrotik | Оставить комментарий

dnscrypt-proxy на mint

Для установки последней версии нужно выполнить следующие команды:

add-apt-repository ppa:shevchuk/dnscrypt-proxy

apt update

apt install dnscrypt-proxy

и в файле /etc/dnsproxy-crypt/dnsproxy-crypt.toml расскоментировать строчку c серверами server_names.

В настройках установить dns 127.0.2.1

Mint 19 DNSCrypt Install Tutorial

Post by JeffF73 » Fri Jun 08, 2018 4:12 am

Finally after fighting with DNSCrypt-proxy installs not working I found a solution that has worked well for me on several different installs and systems. Running Linux Mint Cinnamon 19

Here is the website that I give credit to for step by step instructions that helped me get to a working state with DNSCrypt with some step by step modifications and changes below.
http://www.ubuntubuzz.com/2017/11/how-t … -1710.html

Before proceeding you might want to Backup with Timeshift for safety and fast way to get back if there is a problem

#1. Install DNSCrypt

Code: Select all

sudo apt-get install dnscrypt-proxy -y

#2. Install your favorite text editor

Code: Select all

sudo apt-get install xed -y

#3. Change Resolver to ‘cisco’
Change the text «ResolverName fvz-anyone» to ResolverName cisco
If you have issues with this code changing the ResolverName like I did you can use sudo xed /etc/dnscrypt-proxy/dnscrypt-proxy.conf and manually change it to your prefrerence

Code: Select all

sudo sed -i 's/fvz-anyone/cisco/g' /etc/dnscrypt-proxy/dnscrypt-proxy.conf

#4. Change DNSCrypt Local IP and Port
These codes Change 127.0.2.1 to 127.0.0.1 on both sockets in dnscrypt-proxy.socket.
If you have issues with these codes changing the DNS and port like I did you can use sudo xed /lib/systemd/system/dnscrypt-proxy.socket and manually change it to your prefrerence Credit to the fixed code goes to naishoya @ https://gist.github.com/anonymous/a8e04 … 8cbfedd60a

Code: Select all

sudo grep '127' /lib/systemd/system/dnscrypt-proxy.socket
sudo sed -i 's/127.0.2.1:53/127.0.0.1:53/g' /lib/systemd/system/dnscrypt-proxy.socket
sudo grep '127' /lib/systemd/system/dnscrypt-proxy.socket

#5. Reload Daemon for DNSCrypt Configuration

Code: Select all

sudo systemctl daemon-reload

#6. Restart DNSCrypt Service

Code: Select all

sudo systemctl stop dnscrypt-proxy.socket
sudo systemctl start dnscrypt-proxy

#7. Disable Default System’s DNS Service

Code: Select all

sudo systemctl disable systemd-resolved.service
sudo rm -v /etc/resolv.conf
sudo systemctl stop systemd-resolved.service

#8. Network Manager will recreate /etc/resolv.conf after a restart. This issue will prevent DNSCrypt working after a restart.
The fix was posted on the previous website in the comments section. Credit goes to genzj and Ngalim Siregar
To prevent Network Manager create /etc/resolv.conf after restart you can add dns=none in /etc/NetworkManager/NetworkManager.conf in [main].

Code: Select all

sudo xed /etc/NetworkManager/NetworkManager.conf

#9. Now go to your Network Manager «Wifi or Ethernet connection»
To edit your connection and go to «IPV4 Settings» Tab
Method: Change from «Automatic (DHCP)» to «Automatic (DHCP) Address Only»
Go down to DNS Servers: Add «127.0.0.1» without quotes (Note: If you changed the DNS IP to your own preferred preference in step #4. Change DNSCrypt Local IP you will need to match it here in Network Manager)

#10. Restart Network Manager

Code: Select all

sudo service dnscrypt-proxy start
sudo service network-manager restart
sudo systemctl restart NetworkManager.service

Restart Cinnamon should work for the first time. If not do a full system restart

If you have no network connection after following all the steps above go back to step #4. Change DNSCrypt Local IP and Port to something like 127.0.0.1:53 or 127.0.0.2:53 sudo xed /lib/systemd/system/dnscrypt-proxy.socket Also go back to step #9 and change your Network DNS to the one you choose to change it to above.

Go to
dnsleaktest.com and do a test. All should work fine
You can also go to https://welcome.opendns.com/ to check if Opendns is working properly

Bash Code

Code: Select all

#!/bin/bash
sudo apt-get install dnscrypt-proxy -y
sudo sed -i 's/fvz-anyone/cisco/g' /etc/dnscrypt-proxy/dnscrypt-proxy.conf
sudo apt-get install xed -y
sudo grep '127' /lib/systemd/system/dnscrypt-proxy.socket
sudo sed -i 's/127.0.2.1:53/127.0.0.1:53/g' /lib/systemd/system/dnscrypt-proxy.socket
sudo grep '127' /lib/systemd/system/dnscrypt-proxy.socket
sudo systemctl daemon-reload
sudo systemctl stop dnscrypt-proxy.socket
sudo systemctl start dnscrypt-proxy
sudo systemctl disable systemd-resolved.service
sudo rm -v /etc/resolv.conf
sudo systemctl stop systemd-resolved.service

# Add "dns=none" in /etc/NetworkManager/NetworkManager.conf in [main] section without the quotes.
sudo xed /etc/NetworkManager/NetworkManager.conf

sudo service dnscrypt-proxy start
sudo service network-manager restart
sudo systemctl restart NetworkManager.service
Рубрика: Linux | Оставить комментарий