Страница 1 из 1

При запуске ipfw выдает ошибку bad command `if'

Добавлено: 2013-10-18 15:41:58
Oleg_M
Добрый день.
Помогите пожалуйста устранить ошибку при старте ipfw, с какого то перепугу заругался на стандарно прописанную строку в конфиге

Код: Выделить всё

Line 36: bad command `if'
вот текст на который собственно заругалось:
Файл rc.firewall

Код: Выделить всё

# Suck in the configuration variables.
if [ -z "${source_rc_confs_defined}" ]; then
<------>if [ -r /etc/defaults/rc.conf ]; then
<------><------>. /etc/defaults/rc.conf
<------><------>source_rc_confs
<------>elif [ -r /etc/rc.conf ]; then
<------><------>. /etc/rc.conf
<------>fi
fi
Немножко коментария:
1. Файрвол подымаю на штатном ipfw
2. Дефолтный конфиг решил не затирать как это обычно делают, а дописать к нему свои правила (почитал что в нем уже настроено и решил что эти правила очень полезны и некоторые из них не описаны в инструкциях админов)
3. в rc.conf дописал:

Код: Выделить всё

###################################
# Назначение интерфейсов для ipfw #
###################################
iif="wlan0"<---># Inside interface (внутренний)
oif="rl0"<-----># Outside interface (внешний)

firewall_enable="YES"
firewall_type="/etc/rc.firewall"
firewall_logging="YES" 
П.С.
Не судите строго, я только начал работать в юниксе

Re: При запуске ipfw выдает ошибку bad command `if'

Добавлено: 2013-10-18 15:50:40
FreeBSP
grep firewall_ /etc/defaults/rc.conf
там комеенты почитать надо

Re: При запуске ipfw выдает ошибку bad command `if'

Добавлено: 2013-10-18 16:35:18
Oleg_M
в нем:

Код: Выделить всё

##############################################################
### Define source_rc_confs, the mechanism used by /etc/rc.* ##
### scripts to source rc_conf_files overrides safely.       ##
##############################################################

if [ -z "${source_rc_confs_defined}" ]; then
        source_rc_confs_defined=yes
        source_rc_confs () {
                local i sourced_files
                for i in ${rc_conf_files}; do
                        case ${sourced_files} in
                        *:$i:*)
                                ;;
                        *)
                                sourced_files="${sourced_files}:$i:"
                                if [ -r $i ]; then
                                        . $i
                                fi
                                ;;
                        esac
                done
        }
fi
Может этот скрипт мне нужно было скопировать в /etc/rc.conf или тот который приведен в конфиге файрвола?

Re: При запуске ipfw выдает ошибку bad command `if'

Добавлено: 2013-10-18 17:39:42
Oleg_M
Закомпилил скрипт в конфиге файрвола и тот запустился, но правила не применились

Код: Выделить всё

# ipfw show
00100     0       0 allow ip from any to any via lo0
00200     0       0 deny ip from any to 127.0.0.0/8
00300     0       0 deny ip from 127.0.0.0/8 to any
00400     0       0 deny ip from any to ::1
00500     0       0 deny ip from ::1 to any
00600     0       0 allow ipv6-icmp from :: to ff02::/16
00700     0       0 allow ipv6-icmp from fe80::/10 to fe80::/10
00800     0       0 allow ipv6-icmp from fe80::/10 to ff02::/16
00900     0       0 allow ipv6-icmp from any to any ip6 icmp6types 1
01000     0       0 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
65535 56574 6922675 allow ip from any to any
Что я делаю не так, где на сервере нужно подправить?

Re: При запуске ipfw выдает ошибку bad command `if'

Добавлено: 2013-10-18 18:12:12
Oleg_M
Ну с первой ошибкой разобрался, нужно было писать:

Код: Выделить всё

firewall_script="/etc/rc.firewall"
firewall_flags=""
Теперь осталось разобраться почему применились такие права, а не те которые я ему прописал.

Re: При запуске ipfw выдает ошибку bad command `if'

Добавлено: 2013-10-18 18:53:44
Oleg_M
Вычитал почему, потому что это просто набор правил и его нельзя использовать как конфиг для запуска