MYCSS

2018-09-12

Мережева ізоляція jails через vnet та private bridge members

За допомогою jails є можливість ізолювати процеси у окремому середовищі.
Але якщо jails сконфігуровані з vnet=on і  jails використовують  той самий інтерфейс то  усі jails підключаються до мережі через створення epairs і додавання їх до спільного bridge.
Це дозволяє  спілкуватися jails через мережу, але якщо це не потрібно ?
То можна налаштувати через системні налаштування можливість застосувати правила firewall до bridge або bridge members, це по замовчування вимкнено.
Є завдання не дозволити мережеве спілкування окремим jails за допомогою функціоналу PRIVATE members of brigde.
A private interface does not forward any traffic to any other port that is also designated as a private interface. The traffic is blocked unconditionally so no Ethernet frames will be forwarded, including ARP packets.
private bridge member

2018-09-05

Завантажжeння через USB для OPNsense проблема GPT


Працював давно вже  OPNsense на старенькій машині i386 де IDE диск 8Гб.
Почалася почалась проблема з диском, вирішив перевстановити, на новий такий же старий диск :)
Але наткнувся на проблему створити завантажувальний USB диск з дистрибутиву https://opnsense.org/download.
Беру образ IMG: OPNsense-18.7-OpenSSL-vga-i386.img.bz2 записую через rufus 3.1, все проходить гаразд.
Завантажуюсь - і зразу  проблема з GPT, і перезавантаження.
Гаразд, спробую образ для DVD  OPNsense-18.7-OpenSSL-dvd-i386.iso.bz2, rufus каже підтримується цей формат.
Спроба згідно документації інший метод:
physdiskwrite -u OPNsense-18.7-OpenSSL-vga-i386.img
Результат той самий - проблема GPT.
Один з топіків фoруму opnsense.org спробував з робити диск з самої oopnsense або freebsd чи linux за допомогою  dd.
Гаразд, піднімаю VMware Player, підключаю пристрій USB контролер і потім підмонтовую USB диск, завантажуюсь з нього через ISO, встановлюю на віртуальний диск, дозволяю SSH, і через WinSCP записую образ OPNsense-18.7-OpenSSL-vga-i386.img у теку  користувача /root, далі через PUTTY підключаюсь до консолі SSH, через dmsg  визначаю пристрій для USB у мене це /dev/da0. І записую образ на USB disk.
dd if=OPNsense-18.7-OpenSSL-vga-i386.img of=/dev/da0 bs=16k
По закінченню бачу помилку:
GEOM: da0: the secondary GPT header is not in the last LBA.
Вирішую глянути на таблицю GPT.
gpart list da0
Показує що є проблема. Спробую відновити:
gpart recover da0
gpart list da0
Все гаразд тепер після відновлення.
Перевіряю завантаженням з USB диска у VMWare player. Так як це не можливо засобами player, використовую iso що дозволяє завантажуватися з USB всередині віртуальної машини Plop Boot Manager.
Система завантажилася...

2018-04-19

FreeNAS, ZFS, User Quota, Samba

Task: Apply ZFS user quota to Smaba

Source:

zpool with samba user home folders: poolz2/samba/users

Allow request about quota for everyone:
zfs allow everyone userquota,userused poolz2/samba/users

Set usrer quota 120G for domain user : DOMAIN\username
zfs set userquota@"DOMAIN\username"=120G poolz2/samba/users

Tune SAMBA,  /usr/local/etc/smb4.conf:
get quota command = /mnt/poolz2/home/scripts/quota_get.sh %U %D

Reload SAMBA:
killall -HUP smbd 
Or change via GUI of FreeNAS
Example of GUI of SMB Services (FreeNAS11.2), add quota.

Soulution:

Script for get quota data: /mnt/poolz2/home/scripts/quota_get.sh
#!/bin/sh
rtype=$4
if [ "${rtype}" == -1 ]; then
 exit
fi
username=$1
if [ ! -z  "$username" ]; then
  domainname=$2
  requestpath=${PWD}
  DATASETNAME=`/bin/df -l ${requestpath} | /usr/bin/tail -n 1 | /usr/bin/awk '{ print $1 };'`
  info=`/sbin/zfs userspace -Hp ${DATASETNAME}  | /usr/bin/grep -i ${domainname}'\\\\'${username}`
  usedbytes=`echo ${info}| /usr/bin/awk '{ printf "%.f", $4/1024 };'`;
  quotabytes=`echo ${info}| /usr/bin/awk '{ if ( $5 == "none" ) { print "0"} else { printf "%.f", $5/1024 }  };'`;
  if [ "$quotabytes" != 0 ]; then
   echo 2 $usedbytes $quotabytes $quotabytes $usedbytes $quotabytes $quotabytes
  fi
fi
exit

Example of GUI of Sharing SMB (FreeNAS11.2).
Easy script for define default quota for all users. I plan run it just by cron.
#!/bin/sh

USERS_DATASET=poolz2/samba/users
DOMAINNAME=SOMEDOMAIN
DEFAULT_QUOTA=80G

/sbin/zfs allow everyone userquota,userused ${USERS_DATASET}
mountpoint=`/bin/df  -l ${USERS_DATASET} | /usr/bin/tail -n 1 | /usr/bin/awk '{ print $6 };'`
for file in ${mountpoint}/*; do
    USERNAME=$(/usr/bin/basename "$file")
    LOGON=${DOMAINNAME}\\${USERNAME}
    QUOTA=`/sbin/zfs get -H "userquota@${LOGON}" ${USERS_DATASET} | /usr/bin/awk '{ print $3 };'`
    #echo ${LOGON} : ${QUOTA}
    if [ "$QUOTA" == "none" ];then
        /sbin/zfs set "userquota@${LOGON}=${DEFAULT_QUOTA}" ${USERS_DATASET}
        #echo Was set default quota ${DEFAULT_QUOTA} for ${LOGON}
    fi
done

#/sbin/zfs userspace ${USERS_DATASET}

More:

2018-03-15

Нотатка для себе. FreeBSD, UPS, NUT.

Є сервер FreeBSD 11.1, ДБЖ (UPS) Cyber Power Systems CP1500AVRLCD.
Програма NUT  має підтримку даного пристою.

Підтримка програмою NUT ДБЖ  "Cyber Power Systems CP1500AVRLCD"
Пошук підключеного пристрою через USB.
#dmesg | grep usbus
ugen0.2: <CPS CP 1500C> at usbus0

2018-03-13

FreeBSD шифрування файлової системи ZFS з використанням віддалених ключів



Нотатка для себе.
Необхідно створити систему котра використовує шифрування дисків, zfs кореневу файлову систему, і для шифрування використовуються ключі що зберігаються на віддаленому сервері.

Моя система має 3 диски, один диск (Flash/SSD) завантажувальний з файловою системою ZFS (ZROOT). Та 2 диски для шифрованого zfs пулу котрі  повинні замінити собою перший диск для запису

На перший диск встановлено  було операційну систему FreeBSD 11.1 майстром встановлення з вибором ZFS Boot.

2018-01-18

pfSense install FreeBSD packages

Re: 2.3 - How to install other FreeBSD packages / repositories?
« Reply #7 on: August 01, 2016, 07:20:04 am »
This does work in pfSense 2.3.2:
1. Make sure "enabled" key is set to "yes" in /etc/pkg/FreeBSD.conf
2. Change "enabled: no" to "enabled: yes" in /usr/local/etc/pkg/repos/FreeBSD.conf
3. Change "enabled: no" to "enabled: yes" in /usr/local/etc/pkg/repos/pfSense.conf for FreeBSD repo
4. Now you're able to install packages from FreeBSD official repo

https://forum.pfsense.org/index.php?topic=109827.msg644067#msg644067

2017-12-21

Нотатка. FreeNAS. Jails та VLAN

Використовуючи у FreeNAS ізольовані Jails для ізольованих служб, на-кшталт ownCloud, з'ясував що потрібно обов'язково визначати інтерфейс у налаштуванні відповідного jail  якщо мережевий інтерфейс є з VLAN і використовується VIMAGE .
файлі iface
Робити це треба не через графічний інтерфейс, а у файлі конфігурації відповідного jail, у файлі iface у теці /mnt/{ZFSPOOL}/jails/.{NAME_JAIL}.meta.
Після цього в графічному інтерфейсі можна побачити зміну значення NIC.
Advanced GUI jail
Після перезавантаження у мене почали іти пакети з jail через VLAN інтерфейс.

2017-11-26

Нотатка. Віддалене керування живленням сервера через IPMI.

Стався випадок коли локальний сервер шлюз маршрутизатор вимкнувся. І що робити?
Віддалений доступ при цьому заблокований.
Тому на всяк такий випадок, до з'ясування причини вимкнення, налаштував віддалений моніторинг стану живлення через  IPMI, і у випадку якщо він вимкнутий запускаю команду ввімкнення.
Для керування використовую  внутрішній сервер з freebsd, встановлюю пакунок ipmitool, і створюю запит:
ipmitool -H 192.168.1.1 -U admin -P admin chassis power status
Chassis Power is on

Тепер формую скрип котрий за розкладом cron кожні 15 хв. буде перевіряти чи ввімкнений сервер.
#!/bin/sh
>state=$(/usr/local/bin/ipmitool -H 192.168.1.1 -U admin -P admin chassis power status| grep 'is off')
if [ ! -z "$state" ]
then
 /usr/local/bin/ipmitool -H 192.168.1.1 -U admin -P admin chassis power on | /usr/bin/logger -p user.notice -t "Power control [GW was off]".
fi

Якщо потрібне керування з операційної системи Windwos то потрібен пакунок з проекту http://ipmiutil.sourceforge.net, завантажую ipmiutil-3.0.7-win64.zip.

Статус:
ipmiutil.exe reset -n  -N 192.168.1.1 -U admin -P admin
Ввімкнення:
ipmiutil.exe reset -u  -N 192.168.1.1 -U admin -P admin
Для безпеки рекомендую на сторінці керуванням BMC сервера додати спеціального користувача:

Користувачі iKVM
Спеціальний користувач для керування живленням
І використовувати цього користувача у запитах замість admin.

Якщо після оновлленя Java у Вас не має поступу до ip-KVM

Час іде,  світ розвивається, і захищається. Тому Java принципово і глобально вирішило заборонити використання не надійні методи з'єднання та шифрування.
Так  як більшість IP-KVM використовують для підключення Java клієнти, а програмне забезпечення у IP-KVM не своєчасно оновлене, то у підключенні до сервера IP-KVM буде відмовлено за причини використання застарілого методу MDwithRSA.
Про відмовлення у з'єднанні
 Але якщо сильно треба, то за матеріалами Zhaojun's Blog,  то тимчасово можна відмінити це обмеження, відредагувавши файл "C:\Program Files (x86)\Java\jre1.8.0_151\lib\security\java.security" для версії Java 8 update 151.
Знайшовши файл рядок: jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024

Значення у файлі конфігурації
 І змінити можна закоментувати цей рядок, або придбати MD5.
Змінення файлу конфігурації

Інші посилання : Если после обновления Java не работает ip-KVM

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready