Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Создание набора правил с использованием символьной подстановки



Некоторые опытные пользователи IPF создают файл правил, поддерживающий использование символьной подстановки. Основное преимущество использования такого подхода заключается в возможности изменения значения, присваиваемого символьному имени, в результате чего во всех правилах, содержащих эту символьную подстановку, будет использоваться новое значение. В начале скрипта вы можете поместить часто используемые переменные, а затем использовать их сразу в нескольких правилах. Ниже дан пример такого использования.

Синтаксис скрипта совместим с sh(1), csh(1), и tcsh(1).

Символьная подстановка предваряется знаком доллара: $.

Для присвоения значения символьным переменным знак $ не используется.

Присваиваемое символической переменной значение должно быть заключено в двойные кавычки (").

Начните файл правил примерно так:

############# Start of IPF rules script ########################

oif="dc0" # name of the outbound interface

odns="192.0.2.11" # ISP's DNS server IP address

myip="192.0.2.7" # my static IP address from ISP

ks="keep state"

fks="flags S keep state"

# You can choose between building /etc/ipf.rules file

# from this script or running this script "as is".

#

# Uncomment only one line and comment out another.

#

# 1) This can be used for building /etc/ipf.rules:

#cat > /etc/ipf.rules << EOF

#

# 2) This can be used to run script "as is":

/sbin/ipf -Fa -f - << EOF

# Allow out access to my ISP's Domain name server.

pass out quick on $oif proto tcp from any to $odns port = 53 $fks

pass out quick on $oif proto udp from any to $odns port = 53 $ks

# Allow out non-secure standard www function

pass out quick on $oif proto tcp from $myip to any port = 80 $fks

# Allow out secure www function https over TLS SSL

pass out quick on $oif proto tcp from $myip to any port = 443 $fks

EOF

################## End of IPF rules script ########################

Это все, что требовалось сделать. В данном примере сами правила не важны; важно то, как используется символьная подстановка. Если вышеприведенный пример помещен в файл /etc/ipf.rules.script, то набор правил можно перезагрузить, введя следующую команду:

# sh /etc/ipf.rules.script

С использованием в правилах символьной подстановки связана одна проблема: IPF не понимает символьную подстановку и не может обработать такой скрипт непосредственно.

Скрипт может использоваться одним из следующих двух способов:

• Уберите комментарий перед строкой, начинающейся с cat, и закомментируйте строку, начинающуюся с /sbin/ipf. Поместите строку ipfilter_enable="YES" в файл /etc/rc.conf как обычно, и запускайте скрипт после каждого его обновления для создания или обновления файла /etc/ipf.rules.

• Отключите IPFILTER в стартовых скриптах системы, поместив строку ipfilter_enable="NO" (это значение по умолчанию) в файл /etc/rc.conf.

Поместите скрипт, подобный нижеприведенному, в каталог /usr/local/etc/rc.d/. У него должно быть однозначно говорящее о его назначении имя, например ipf.loadrules.sh. Расширение.sh обязательно.

#!/bin/sh

sh /etc/ipf.rules.script

Права, установленные на этот файл, должны разрешать чтение, запись и выполнение владельцу root.

# chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh

Теперь, правила IPF будут загружаться при загрузке системы.





Дата публикования: 2015-01-10; Прочитано: 290 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...