Черно-белые списки в IPFW

Листинг файла /etc/rc.conf

firewall_enable=»YES»
firewall_script=»/etc/rc.firewall»

Для начала создадим 2 обычных текстовых файла, содержащих списки «хороших» и «плохих» ip-адресов и сетей. Назовем их badip.cfg и goodip.cfg:

# cd /etc
# touch badip.cfg
# touch goodip.cfg

Заполняем файлы ip-адресами и сетями в формате CIDR, например:

# echo "10.10.10.10/24" > badip.cfg

Затем напишем небольшой скрипт addip.sh, который будет загружать ip-адреса из файлов в таблицы ipfw:

#!/bin/sh
##################
fwcmd="/sbin/ipfw"
goodip="/usr/local/etc/webmin/ipfw/allow"
badip="/usr/local/etc/webmin/ipfw/deny"
##################
$fwcmd -f table all flush # очищаем все таблицы
##################
cat $goodip |while read line; do
$fwcmd table 1 add $line
done
##################
cat $badip |while read line; do
$fwcmd table 2 add $line
done
##################

Редактируем скрипт ipfw, добавляя в него следующие строки:

cmd="/sbin/ipfw -q add"
ipfw -f table all flush
/usr/local/etc/webmin/ipfw/addip.sh
...
$cmd 0100 allow ip from "table(1)" to me # разрешаем доступ от "хороших" хостов и сетей
$cmd 0200 deny ip from "table(2)" to me  # баним всех "плохишей"

В дальнейшем, мы можем вносить изменения в файлы и, выполняя скрипт addip.sh, динамически менять содержимое таблиц ipfw, подгружая в них новую информацию.

Содержимое таблиц можно посмотреть командой:

# ipfw table 1 list

Полностью очистить таблицу можно так:

# ipfw table 1 flush



Полезный совет:
Во FreeBSD есть хорошая утилита at, которая позволяет однократно выполнить ту или иную команду в заданное время. Таким образом, настраивая фаервол удаленно, Вы можете подстраховать себя, введя отключение фаервола через указанное время. Например, вы настроили все правила и думаете — Сейчас я включу все, а вдруг потеряю доступ? Ответ — Легко может такое произойти. Но, используя утилиту at, мы себя подстрахуем:
Синстаксис у нее простой:
# at time
Используем его, введем:
at 23:55
ipfw -q -f flush
Что бы выйти из режима, нажмите CTRL+D
Job 10 will be executed using /bin/sh
Все. Можно включать наш фаервол, через 1 минуту он будет отключен автоматически и в случае чего Вы вернете себе доступ


Источник: http://www.dwolfix.ru/tablitsy-fayervola-ipfw.html

Примеры использования таблиц файрвола IPFW.

Очень удобно, если нужно заблокировать много ip адресов.

ipfw table 10 add 192.168.1.5		#добавление в таблицу
ipfw table 10 add 192.168.1.0/24	#добавление в таблицу подсеть
ipfw table 10 list			#посмотреть что в таблице
ipfw add deny ip from table(10) to me # Все с таблицы 50 ко мне
ipfw table 10 delete 192.168.1.5	#удаляем из таблицы
ipfw table 10 flush			#чистим всю таблицу

Добавляем виртуальных пользователей vsftpd на FreeBSD

Генерируем пароль:

openssl passwd -1 yoursecretpassword

Результат($1$5htlgrc7$FHf5uCbSol0oKKYN3upE0/), добавляем в файл /etc/vsftpd_login.db. Синтаксис файла:
Имя_юзера1:Пароль_юзера1
Имя_юзера2:Пароль_юзера2

Создать папку по имени пользователя в /home/Имя_юзера
права на нее выставить 755, владельцем сделать ftpuser‘а под которым работают виртуальные пользователи. Получить список всех пользователей:
cat /etc/passwd
.

Читать далее «Добавляем виртуальных пользователей vsftpd на FreeBSD»

Добавить жесткий диск в FreeBSD за 5 минут

Подробная инструкция с пояснениями

Выбор имени жесткого диска

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

geom disk list
01 - geom disk list

Или же вот такая команда:

camcontrol devlist
02 - camcontrol devlist

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

До установки нового устройства мы знали, что наша система установлена на ada0, значит по логике вещей наш новый диск ada1. Это вы можете определить по названию нового устройства, его серийному номеру или же объему.

Теперь проверим, имеется ли разметка на нашем новом диске

gpart show ada1
03 - gpart show ada1

Диск не имеет никакой разметки.

Удаление существующей разметки

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

gpart destroy -F ada1

Создание разметки GPT

Для начала мы должны создать разметку диска. Крайне рекомендую забыть о MBR и перейти на новую, более удобную и функциональную — GPT.

Создаем разметку GPT на диске, затем проверяем, что вышло:

gpart create -s gpt /dev/ada1
gpart show ada1
04 - gpart create gpt

Теперь у нас диск имеет разметку GPT. Из вывода можно увидеть, что абсолютно весь диск, начиная с LBA 34 и заканчивая LBA 8388541 пуст. LBA 0−33 — зарезервированы системой под таблицу разделов.

Допустим, нам необходимо создать два раздела на этом диске:

  • swap — раздел подкачки
  • data — раздел типа ufs для хранения каких либо, необходимых нам, данных.

Создание разделов (слайсов)

Если установка производится на современные жесткие диски, у которых размер сектора = 4 кб, то при создании разделов (партиций) необходимо использовать выравнивание. Можно поступить двумя способами: 1) если указываем параметры раздела в блоках, то номер блока вводить кратным 8, например: -b 40; 2) если указываем размер раздела в байтах, либо не указываем вообще начало и размер, использовать параметр -a 4k, который подгонит начало и конец раздела под секторы, размером 4 кб. Так как мы в данном примере производим тестовую установку на виртуальный жесткий диск, то этого можно не делать. В любом случае перед созданием разделов нужно точно знать размер сектора вашего накопителя, иначе это выльется жуткими тормозами в работе.

Теперь создадим разделы. Для этого существует команда gpart add с различными параметрами. Первый параметр -t — указывает на тип создаваемой файловой системы. В нашем случае будет использовано два типа: freebsd-swap и freebsd-ufs. Далее идут два необязательных параметра: -b — указывает на номер LBA, начиная с которого необходимо создать раздел. Если не указать данный параметр, то раздел будет создан автоматически с первого свободного LBA. -s — указывает на размер раздела в LBA. Размер одного блока LBA = 512 байт. Желательно указывать в количестве блоков LBA, но можно и в кило/мега/гига/… байтах (суффикс k/M/G). Если не указать данный параметр, то раздел будет создан до максимально возможного LBA в пределах пустой области. Также в качестве параметра можно указать метку раздела, например: -l swap1 — в этом случае будет создана метка /dev/gpt/swap1, по которой можно более удобно обращаться к разделу. Последним обязательным параметром идет путь к диску. В нашем случае: /dev/ada1.

Давайте создадим два раздела, а затем посмотрим, что у нас получилось. Первый раздел будем создавать без указания начального LBA, но с указанием размера 1 Гб (2097152 блоков). Второй раздел создадим без указания начального LBA и без указания размера — таким образом он будет создан на всем свободном пространстве.

gpart add -t freebsd-swap -s 2097152 /dev/ada1
gpart add -t freebsd-ufs /dev/ada1
gpart show ada1
05 - gpart add

Размер можно указывать в байтах, а не блоках. Это значительно удобней. Единственный минус — система не всегда может корректно рассчитать количество блоков. Возможны случаи, когда на диске останется пустовать некоторое количество блоков при указании размера раздела в байтах.

Создание файловой системы (форматирование)

Разделы типа swap форматировать нет необходимости. А вот разделы типа ufs перед использованием должны быть отформатированы. Правильнее сказать: на них должна быть создана файловая система.

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

newfs -U /dev/ada1p2
06 - newfs

В данном случае использовался параметр -U — он говорит о том, что в данной файловой системе должен использоваться механизм Soft Updates. Вы можете не использовать этот параметр, чтобы не включать данный механизм.

Монтирование

Следующим шагом будет монтирование разделов. Для начала, чтобы не забыть, добавим наши новые разделы в /etc/fstab. Мой файл после редактирования выглядит вот так:

07 - etc fstab

Я добавил две строки: первая монтирует swap, вторая монтирует новый раздел в каталог /mnt. На деле у вас должен быть какой-то более значимый каталог. Каталог /mnt служит для временно монтированных устройств.

Для того, чтобы перемонтировать все разделы согласно файла /etc/fstab, просто выполним команду:

mount -a
08 - mount a

Как видно из вывода, раздел /dev/ada1p2 смонтирован. Теперь посмотрим, что произошло с разделом SWAP. Выполним команду:

swapinfo
09 - swapinfo 1

Как видно, новый раздел SWAP не смонтирован. Чтобы смонтировался SWAP, необходимо его включить специальной командой:

swapon /dev/ada1p1
10 - swapon

Точно так же при помощи команды swapoff нужно отключать раздел SWAP перед тем, как произвести над ним какие-то действия.

На этом все действия по добавлению нового жесткого диска в систему завершены.

Краткая инструкция

Дано: жесткий диск /dev/ada1

Цель: удалить существующую разметку, создать новую разметку GPT, создать два раздела: подкачка и данные и подключить их к рабочей системе.

После каждого действия выполняйте gpart show, чтобы наблюдать за результатом. Последовательность действий:

  1. Удалить существующую разметку: gpart destroy -F ada1
  2. Создать новую разметку: gpart create -s gpt /dev/ada1
  3. Создать два раздела: подкачка и данные: gpart add -t freebsd-swap -s 2097152 /dev/ada1 gpart add -t freebsd-ufs /dev/ada1
  4. Создать файловую систему UFSv2 на втором разделе: newfs -U /dev/ada1p2
  5. Добавить в файл /etc/fstab строки для автомонтирования при загрузке: /dev/ada1p1 none swap sw 0 0 /dev/ada1p2 /mnt ufs rw 2 2
  6. Смонтировать новый раздел (команда монтирует все разделы из файла /etc/fstab): mount -a
  7. Включить в работу новый раздел swap командой: swapon /dev/ada1p1

На этом настройка завершена.

Ошибки при пропаже подключенного в FSTAB диска

При удалении диска прописанного в fstab система не загрузится нормально, перейдет в однопользовательский режим с доступом к корневому винту только на чтение. Для перевода диска с системой в обычный режим, запустить:
mount -a

Монтируем NTFS

Начиная с FreeBSD 10, Fuse — это часть ядра. Делаем так, чтобы он загружался с системными модулями, в /boot/loader.conf пишем:

fuse_load="YES"

Это сработает после перезагрузки. В текущем сеансе подгрузим этот модуль вручную

#kldload fuse

Проверить загружен ли модуль или нет можно командой

#kldstat

Если в списке будет присутствовать fuse.ko, значит всё хорошо.

#kldstat
Id Refs Address Size Name
1 3 0xffffffff80200000 1fa7c38 kernel
2 1 0xffffffff821a9000 1a7c8 fuse.ko

Далее мы должны определиться, как видит система флешку или внешний жёсткий диск:

#dmesg | grep da

Вывод будет примерно таким:

da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <JetFlash Transcend 16GB 1100> s/n 00H79BHRYGX22JBN detached
(da0:umass-sim0:0:0:0): Periph destroyed
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <JetFlash Transcend 16GB 1100> Removable Direct Access SPC-4 SCSI device
da0: Serial Number 00H79BHRYGX22JBN
da0: 40.000MB/s transfers
da0: 14870MB (30453760 512 byte sectors)
da0: quirks=0x12<NO_6_BYTE,NO_RC16>
da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
da1: <USB DISK 1.00> s/n 8968888304C9BB52 detached
(da1:umass-sim1:1:0:0): Periph destroyed
da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
da1: <USB DISK 1.00> Removable Direct Access SCSI-2 device
da1: Serial Number 8968888306C9BB52
da1: 40.000MB/s transfers
da1: 1999MB (4093952 512 byte sectors)
da1: quirks=0x2<NO_6_BYTE>

Видим, что в системе у нас две флешки с идентификаторами da0 и da1. В нашем примере мы будем использовать только флешку da0. Монтируем её следующей командой:

ntfs-3g /dev/da0 /mnt

/dev/da0 — это наша флешка, мы это выяснили в пункте 3.
/mnt — это точка монтирования. Она может быть любой.

Если появилась ошибка, монтируем раздел флешки. После ввода

ntfs-3g /dev/da0

жмём TAB и видим разделы флешки

da0 da0s1

И монтируем этот раздел

ntfs-3g /dev/da0s1 /mnt

Переходим в каталог, куда мы примонтировали флешку и видим там её содержимое:

#cd /mnt
#ll
total 13
drwxrwxrwx 1 root wheel 0 4 нояб. 17:23 System Volume Information/
-rwxrwxrwx 1 root wheel 9 4 нояб. 18:05 xxx.xxx*
-rwxrwxrwx 1 root wheel 22 4 нояб. 18:04 Архив ZIP - WinRAR.zip*
-rwxrwxrwx 1 root wheel 9904 4 нояб. 18:04 Лист Microsoft Office Excel.xlsx*

Теперь на флешку можно записывать файлы и читать их с неё. Для того, чтобы отмонтировать флешку, сначала покинем каталог, куда она примонтирована. Например,

#cd /

А после этого, воспользуемся командой

#umount /mnt

Использование /etc/fstab - таблицы ФС для монтирования:

При  ntfs-3g обязательно использовать опцию late

воспользуемся опцией mountprog=<program> и заменим ntfs-3g на ntfs в /etc/fstab:

# Device Mountpoint FStype Options Dump Pass#
/dev/da0p1 /ExtHDD ntfs rw,mountprog=/usr/local/bin/ntfs-3g,late 0 0

Dump - утилитой dump(8) снимать специальные архивные копии для ФС. 0 - не снимать.
Pass - порядок проверки fsck. 0 - файловую системы не нужно проверять
Если у вас произошла ошибка при монтировании, та что ниже:

noauto  - не монтировать автоматически при загрузке ОС.
теперь должно быть без ошибок:

% mount /dev/da0p1

или если использовали опцию late(опция указывает на то что раздел не будет смонтирован при mount -a, а только при mount -al ):

% mount -avl

Размонтировать(форсировано)

% umount -f /ExtHDD


Смонтируем вручную с umask=002 и UID=1001(gx1) и GID=0(wheel):

% mount_ntfs-3g -o rw,locale=ru_RU.UTF-8,umask=002,uid=1001,gid=0 \ /dev/ad4s2 /windows % cd /windows/ % mkdir -p /windows/TEST/TEST-NTFS % :> /windows/TEST/TEST-NTFS/test-ntfs % ls -ld /windows/TEST/TEST-NTFS drwxrwxr-x 1 gx1 wheel 0 13 ноя 17:42 /windows/TEST/TEST-NTFS/ % ls -l /windows/TEST/TEST-NTFS/test-ntfs -rwxrwxr-x 1 gx1 wheel 0 13 ноя 17:42 /windows/TEST/TEST-NTFS/test-ntfs*

Хм...,на директорию правильно, а на файл должно быть -rw-rw-r--.
Ну да ладно.

Локальная документация:
file:///usr/local/share/doc/ntfs-3g/README.FreeBSD

Дополнительные ссылки:
http://www.tuxera.com/community/
http://wiki.slavka.kiev.ua/index.php/Tools/mountntfs

NTFS-3G site: http://ntfs-3g.org/
FUSE site: http://fuse.sourceforge.net/
fuse4bsd site: http://fuse4bsd.creo.hu/

Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=14951.

Источники:

https://blog.denisbondar.com/post/freebsd-add-new-hdd

https://try2fixkb.ru/linux/freebsd-11-mount-ntfs-3g


FreeBSD, установка и настройка fail2ban

обн. 05.06.2023 Fail2Ban — простой локальный сервис, который просматривает логи на предмет попытки подоброать пароли к ssh, ftp, http-сервисам. Если такие попытки найдены, fail2ban блокирует ip-адрес источника. Сервис очень гибко настраивается, способен оповещать по email, писать лог, сбрасывать блокировку через заданное время и прочее. Читать далее «FreeBSD, установка и настройка fail2ban»

Смена ИМЕЙ кода на модеме E352

Начну с конца. После нескольких часов проб набрел на указатель:


на е352 с 11 прошивкой IMEI at командами не поменять!!!

И все же, Домовой с форпэдэа помог. Запросил старый и новый имей, и в ответ прислал прогу для перепрошивки :

Это не помогло в моем случае:

Метод с DATALOCK работает только на модемах с процессором HISILICON и версия ПО в таких модемах начинается с цифры 21 или 22 как эта Firmware 21.156.00.00.143 А также версия железа Hardware CH2E303SM
Метод с модификацией прошивки HEX редактором через заморозку процесса работает
только на моделях Huawei Е1550 и Е173 с определенным размером микросхемы памяти и типом процессора QUALCOMM и версией железа CD1E153M
Грубо говоря это модифицированные прошивки для Е1550 11.609.18.00.00.B418 и для Е173 11.126.85.00.209.B427
Под другие модели и модемы прошивки никто не модифицировал.
Соотвественно на Е173 с ПО 11.126.16.17.209 или 21.017.01.00.21 21.015.01.00.21 такой метод не работает
Смена IMEI на модели Е150 Е153 E156 E160 E170 E177 E171 E173 E1750 E180 E367 E352 E392 и т.д. работает метод генерации скрипта разрешающего перезапись области в которой хранится IMEI

Сообщение отредактировал Domovoj — 28.11.18, 15:07

Программа* (Soft)— это программа управления модемом для установки на компьютер с ОС Windows, без записи в память модема.
Прошивка** (Dashboard) — это та же программа управления модемом, но подготовленная для записи в память модема:

Запись iso-образа на флешку

Etcher — это молодая кроссплатформенная (Windows, MacOS и Linux) программа для записи iso-образа с дистрибутивом на флешку или микро SD-карту.

Supported Operating Systems

  • Linux (most distros)
  • macOS 10.9 and later
  • Microsoft Windows 7 and later


Etcher в настоещее время находится в интенсивной разработке, но даже в бета-версии, программа исправно выполняет свою функцию «писателя» iso-образа. Я записал с его помощью iso-образ на флешку с дистрибутивом ChaletOS и затем установил на жёсткий диск.

Как установить и использовать Etcher в Linux?

 В настоящее время ещё не созданы .deb или .rpm установочные пакеты для Linux, но вы можете скачать файл .appimage для систем Linux 32 или 64-bit с сайта разработчика www.etcher.io.

Сохранить загружаемый файл:

Затем перейти в папку с файлом ( я сохранил в папку Загрузки) следующей командой в терминале:

cd ~/Загрузки/

Для систем 32-bit:

Сделать файл исполняемым:

chmod a+x Etcher-linux-x86.AppImage

И запустить программу следующей командой:

sudo ./Etcher-linux-x86.AppImage

Для систем 64-bit выполняем в той же последовательности:

chmod a+x Etcher-linux-x64.AppImage

sudo ./Etcher-linux-x64.AppImage

Когда программа запустится, найдите у себя загруженный iso-образ с дистрибутивом:

Вставьте флешку/SD-карту в порт компьютера:

Нажмите кнопку Flash для записи образа:

И дождитесь окончания записи:

Всё. Образ записан. Теперь вы можете использовать флешку/SD-карту с дистрибутивом, как установочные:

Источник: https://github.com/resin-io/etcher

Удачи. Автор: Владимир Долгирев на суббота, мая 21, 2016

Скачать:

Схема сети — чем рисовать

..два инструмента, которыми чаще всего пользуюсь. Также попробую сформулировать мысль, когда и каким инструментом лучше пользоваться.

1) Microsoft Visio

Это наверно первое, что может придти в голову. Это фактически стандарт для рисования схем. Тут и не поспоришь. Инструмент действительно очень функциональный. Более того, иногда при приеме молодых инженеров на работу, некоторые компании чуть ли не обязательным условием ставят «умение работать в Visio». Я бы добавил, что если вы рисуете схему для какой-то компании, то вы обязаны использовать Visio. Скорее всего им захочется иметь возможность вносить правки и тут уже никто не будет разбираться, что за программу вы использовали. Большинство компаний хотят видеть свои схемы именно в Visio-формате.
Большой плюс Visio — огромное количество дополнительных иконок и фигур. Многие вендоры (Cisco, VMware, Check Point, Fortinet и т.д.) сами делают эти иконки для Visio и выкладывают их в открытый (либо закрытый) доступ. К примеру иконки Cisco можно посмотреть здесь.
Несколько скриншотов программы:
C недавнего времени доступна online версия:
Есть один минус — утилита платная. Я знаю, что это мало кого останавливает, но все же. Плюс, как мне кажется, для рядовых задач этот инструмент слишком «мощный». Когда вам нужно быстро «накидать» простенькую схему, то можно вполне обойтись более простым инструментом…

2) Draw.io

На текущий момент это мой любимый инструмент для отрисовки схем. Схемы я затем использую в своих книгах, курсах, статьях и т.д. Изначально это online-платформа которая работает из любого браузера:
Главное удобство — этот сервис интегрируется с Google Drive, а значит все созданные вами схемы будут в одном месте и доступны в любое время. Сам интерфейс и функционал очень напоминает Visio, поэтому особых проблем в навигации не возникнет. Сервис — бесплатный.
Относительно недавно была представлена и десктопная версия. Доступно несколько операционных систем:
Главный минус — маленький набор иконок. Cisco-фигуры хоть и присутствуют, но довольно старого дизайна. При этом нет никаких проблем, если добавлять иконки в png формате.
Хотел бы повториться, что я использую данный сервис исключительно для «своих» схем. Если мне нужно отправить схему заказчику, то я использую только Visio.