Bug 9042

Summary: features need: fw#profile and resolv.conf#profile
Product: Sisyphus Reporter: Marat Khayrullin <xmm>
Component: etcnetAssignee: Mikhail Efremov <sem>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P4 CC: ldv, rider, sem, shaba, vseleznv
Version: unstable   
Hardware: all   
OS: Linux   

Description Marat Khayrullin 2006-02-08 16:52:02 MSK
Очень не хватает возможности грузить разный набор правил fw в зависимости от
профайла и тоже самое для resolv.conf
Comment 1 Denis Ovsienko 2006-02-10 11:24:41 MSK
Для resolv.conf я исправлю, а fw зависит от hiddenman.
Comment 2 Andrew Kornilov 2006-02-10 13:40:14 MSK
Гм. А оно разве автоматически не произойдет? Я надеялся на это :) Просто профили
еще ни разу не использовал, нужно разбираться, как они работают. Если мне кто-то
покажет,что нужно, то сделаю.
Comment 3 Marat Khayrullin 2006-02-10 14:43:48 MSK
(In reply to comment #2)
> Гм. А оно разве автоматически не произойдет? Я надеялся на это :) Просто профили
> еще ни разу не использовал, нужно разбираться, как они работают. Если мне кто-то
> покажет,что нужно, то сделаю.

/etc/net/profile:
office

cd /etc/net/ifaces/eth0
cp -R fw fw#office
mv -R fw fw#home
отредактировать fw#home/filter/*

/etc/init.d/network switchto home
проверить разницу iptables -nvL -t filter
хорошо бы чтобы использовались правила из fw, если fw#<profile> отсутствует
Comment 4 Denis Ovsienko 2006-02-13 04:53:42 MSK
Для каталогов знак # специального значения не имеет.
Comment 5 Denis Ovsienko 2006-02-14 17:26:29 MSK
В файле /etc/net/scripts/ifup-common можно видеть следующее:

# handle resolver config
MYRESOLVCONF=`profiled_filename $MYIFACEDIR/resolv.conf`
if [ -s $MYRESOLVCONF ]; then
        rm -f /etc/resolv.conf
        cp $MYRESOLVCONF /etc/resolv.conf
        [ -x "$RESOLV_POSTIN_CMD" ] && $RESOLV_POSTIN_CMD $RESOLV_POSTIN_ARGS
        print_progress
fi

Я создал конфигурацию и проверил -- это работает. Касательно профилей и
каталогов решение было принято давно. Основание для этого --- невозможность
определить, какой файл использовать в том случае, если присутствуют файлы
dir/file#profile и dir#profile/file. Даже если для этого случая определить
порядок, то ничего хорошего из этого не выйдет: dir#profile будет являться
полной копией dir, в которой нельзя будет использовать ветвление по профилям
(так как если используется dir#profile, то имя профиля --- константа).
Текущая схема на мой взгляд достаточно эффективна. Она вводилась именно для
того, чтобы избежать копирования конфигурации целыми каталогами, вместо этого
позволив выделить отличия от умолчательного варианта.