Как я должен настроить/etc/host.allow на OpenBSD, чтобы только позволить данный IP?

Портативно:

set -f              # turn off globbing
IFS='
'                   # split at newlines only
cmd $(cat <file)
unset IFS
set +f

Или использование подоболочки для создания IFS и локальные изменения опции:

( set -f; IFS='
'; exec cmd $(cat <file) )

Оболочка выполняет полевое разделение и поколение имени файла на результате переменной или замены команды, которая не находится в двойных кавычках. Таким образом, необходимо выключить поколение имени файла с set -f, и настройте полевое разделение с IFS заставить только новые строки разделить поля.

Нет очень, чтобы быть полученным с конструкциями ksh или ударом. Можно сделать IFS локальный для функции, но нет set -f.

В ударе или ksh93, можно сохранить поля в массиве, если необходимо передать их нескольким командам. Необходимо управлять расширением в то время, когда Вы создаете массив. Затем "${a[@]}" расширяется до элементов массива, один на слово.

set -f; IFS=$'\n'
a=($(cat <file))
set +f; unset IFS
cmd "${a[@]}"
0
07.04.2014, 17:36
1 ответ

С реализацией OpenBSD tcpwrappers, Я думаю, что необходимо включать каждый из адресов в /etc/hosts.allow, который, с 10k записями, очень скоро станет очень громоздким.

ALL : ... 78.128.49.0/24 78.128.50.0/24 ... : deny

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

Если Вы имеете pf настроенный и выполнение, Вы могли бы найти легче заполнить таблицу от содержания Вашего файла адреса:

table <blockthese> persist file /etc/list-of-addresses-to-block

block in log quick on $ext_if from <blockthese> to any

Поиски против таблиц в pf быстры, и таблицы довольно эффективны с точки зрения использования памяти, поэтому если Вы действительно не ограничили суммы RAM на старой машине, это должно работать просто великолепно - это - стратегия, которую я использую на многочисленных хостах FreeBSD, и это работает очень хорошо.

0
28.01.2020, 05:03

Теги

Похожие вопросы