Исправьте меня, если я был неправ, Вы хотите передать все исходящие пакеты от 10.0.0.0/24, но Вы хотите заблокироваться 10.0.0.23? Раз так измените свое правило на:
match out on $ext_if from 10.0.0.0/24 nat-to ($ext_if)
block drop out quick on $ext_if from 10.0.0.23
pass out on $ext_if from 10.0.0.0/24
Просто используйте quick
препятствовать тому, чтобы брандмауэр продолжил фильтровать (подобный break
на некоторых языках программирования).
http://www.openbsd.org/faq/pf/filter.html#quick
Быстрое Ключевое слово
Как обозначено ранее, каждый пакет оценен против фильтра ruleset сверху донизу. По умолчанию пакет отмечен для прохода, который может быть изменен любым правилом и мог изменяться назад и вперед несколько раз до конца правил фильтра. Последнее соответствие управляет "победами". Существует исключение к этому: быстрый вариант на правиле фильтрации имеет эффект отмены дальнейшей обработки правила и заставляет указанное действие быть выбранным. Давайте посмотрим на пару примеров:
Неправильно:
block in on fxp0 proto tcp to port ssh pass in all
В этом случае строка блока может быть оценена, но никогда не будет иметь никакого эффекта, поскольку это затем сопровождается строкой, которая передаст все.
Лучше:
block in quick on fxp0 proto tcp to port ssh pass in all
Эти правила оценены немного по-другому. Если строка блока будет подобрана, из-за быстрой опции, то пакет будет заблокирован, и остальная часть ruleset будет проигнорирована.
Я предполагаю, Вы не можете добавить некоторую огибающую переменную в Файле на рабочем столе, но можно достигнуть того, что Вы хотите путем создания того же файла на рабочем столе в корневом каталоге каждого пользователя.
Путь как:
~/.local/share/applications/
Эти файлы на рабочем столе являются определенными для пользователя. Можно даже добавить настольные каталоги также при желании.