LINUX.ORG.RU
ФорумAdmin

Не запускаются команды в сценарии


0

0

Ничего не понимаю...Занялся настройкой iptables, начал пробовать модифицировать сценарий rc_firewall из документа Iptables Tutorial 1.1.19 и обнаружил что стандартные команды сценария, например /sbin/depmod -a и sbin/modprobe ip_tables вызывают сообщения об ошибке. При этом эти же команды выполненные не в сценарии, введенные с консоли отрабатывают нормально...

Я не силен в сценариях оболочки и предполагаю свою идиотскую, ламерскую ошибку, однако... не нахожу ее. Прошу оказать посильную помощь...

Вот вывод на консоль:

[root@hpec_router ~]# bash rc_firewall.2 Определение переменных зоны Internet - отработано... отработано Определение переменных зоны LAN отработано Определение переменных для локального интерфейса отработано Установить путь к iptables... отработано Загрузка модулей... Запуск depmod... 'sbin/depmod: malformed/unrecognized option '-A depmod 3.1 -- part of module-init-tools depmod -[aA] [-n -e -v -q -V -r -u] [-b basedirectory] [forced_version] depmod [-n -e -v -q -r -u] [-F kernelsyms] module1.o module2.o ... If no arguments (except options) are given, "depmod -a" is assumed

depmod will output a dependancy list suitable for the modprobe utility.

Options: -a, --all Probe all modules -n, --show Write the dependency file on stdout only -V, --version Print the release version -h, --help Print this usage message

The following options are useful for people managing distributions: -b basedirectory --basedir basedirectory Use an image of a module tree. -F kernelsyms --filesyms kernelsyms Use the file instead of the current kernel symbols. Запуск modprobe... not found.le ip_tables not found.le ip_conntrack not found.le iptable_filter not found.le iptable_mangle not found.le iptable_nat not found.le ipt_LOG not found.le ipt_limit not found.le ipt_state Ставим 1 в /proc/sys/net/ipv4/ip_forward ... : Нет такого файла или каталогаys/net/ipv4/ip_forward [root@hpec_router ~]#

Сценарий я сильно сократил и упростил, чтобы нагляднее выявить странные эффекты и вот сценарий который это все делает: #!/bin/sh echo "Определение переменных зоны Internet - отработано..." INET_IP="192.168.7.1" INET_IFACE="eth1" INET_BROADCAST="192.168.7.255" echo "отработано" # echo "Определение переменных зоны LAN" LAN_IP="192.168.3.2" LAN_IP_RANGE="192.168.3.0/24" LAN_IFACE="eth2" echo "отработано" echo "Определение переменных для локального интерфейса" LO_IFACE="lo" LO_IP="127.0.0.1" echo "отработано" echo "Установить путь к iptables..." IPTABLES="/usr/sbin/iptables" echo "отработано" echo "Загрузка модулей..." echo "Запуск depmod..." /sbin/depmod -A echo "Запуск modprobe..." /sbin/modprobe ip_tables /sbin/modprobe ip_conntrack /sbin/modprobe iptable_filter /sbin/modprobe iptable_mangle /sbin/modprobe iptable_nat /sbin/modprobe ipt_LOG /sbin/modprobe ipt_limit /sbin/modprobe ipt_state echo "Ставим 1 в /proc/sys/net/ipv4/ip_forward ..." echo "1" > /proc/sys/net/ipv4/ip_forward

anonymous

Ужасное представление...неверно выбрал...попробуем так

вывод на консоль:

[root@hpec_router ~]# bash rc_firewall.2
Определение переменных зоны Internet - отработано...
отработано
Определение переменных зоны LAN
отработано
Определение переменных для локального интерфейса
отработано
Установить путь к iptables...
отработано
Загрузка модулей...
Запуск depmod...
'sbin/depmod: malformed/unrecognized option '-A
depmod 3.1 -- part of module-init-tools
depmod -[aA] [-n -e -v -q -V -r -u]
[-b basedirectory] [forced_version]
depmod [-n -e -v -q -r -u] [-F kernelsyms] module1.o module2.o ...
If no arguments (except options) are given, "depmod -a" is assumed

depmod will output a dependancy list suitable for the modprobe utility.


Options:
-a, --all Probe all modules
-n, --show Write the dependency file on stdout only
-V, --version Print the release version
-h, --help Print this usage message

The following options are useful for people managing distributions:
-b basedirectory
--basedir basedirectory Use an image of a module tree.
-F kernelsyms
--filesyms kernelsyms Use the file instead of the
current kernel symbols.
Запуск modprobe...
not found.le ip_tables
not found.le ip_conntrack
not found.le iptable_filter
not found.le iptable_mangle
not found.le iptable_nat
not found.le ipt_LOG
not found.le ipt_limit
not found.le ipt_state
Ставим 1 в /proc/sys/net/ipv4/ip_forward ...
: Нет такого файла или каталогаys/net/ipv4/ip_forward
[root@hpec_router ~]#

Сценарий:

#!/bin/sh
echo "Определение переменных зоны Internet - отработано..."
INET_IP="192.168.7.1"
INET_IFACE="eth1"
INET_BROADCAST="192.168.7.255"
echo "отработано"
#
echo "Определение переменных зоны LAN"
LAN_IP="192.168.3.2"
LAN_IP_RANGE="192.168.3.0/24"
LAN_IFACE="eth2"
echo "отработано"
echo "Определение переменных для локального интерфейса"
LO_IFACE="lo"
LO_IP="127.0.0.1"
echo "отработано"
echo "Установить путь к iptables..."
IPTABLES="/usr/sbin/iptables"
echo "отработано"
echo "Загрузка модулей..."
echo "Запуск depmod..."
/sbin/depmod -A
echo "Запуск modprobe..."
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
echo "Ставим 1 в /proc/sys/net/ipv4/ip_forward ..."
echo "1" > /proc/sys/net/ipv4/ip_forward

anonymous
()
Ответ на: комментарий от anonymous

Re^2: Не запускаются команды в сценарии

Попробуй убрать depmod и modprobe нафиг. В современных ядрах вроде всё нужное автоматом подгружается.

Разумеется, если ядро самосборное, то надо проверить, что те модули, на отсутствие которы ругается modprobe включены при компиляции.

gaa ★★
()
Ответ на: комментарий от anonymous

в asplinux вообще-то для этих целей файлик /etc/sysconfig/iptables существует и цельный сервис iptables - зачем огород такой городить?;)

novitchok ★★★★★
()
Ответ на: комментарий от anonymous

да, и вот это:
> Ставим 1 в /proc/sys/net/ipv4/ip_forward
делается изящнее:
[sanja@amigo firefox]$ cat /etc/sysctl.conf|grep 'ip.forward'
net.ipv4.ip_forward = 1
после этого sysctl -p один раз
почитай редхатово-федоровые руководства, что-ли, да и у асповцев на
офсайте доков толковых море

novitchok ★★★★★
()
Ответ на: комментарий от anonymous

Вы случаем ваш файл в виндозном редакторе не открывали? Может там какие лишние символы есть?

mky ★★★★★
()
Ответ на: комментарий от mky

об этом знаю...открывал в простеньком программистком редакторе PSPad, однако отслеживаю наличие/отсутствие паразитных символов

anonymous
()
Ответ на: комментарий от novitchok

что касается сервиса в ASPLinux, то - да, он таки есть в нем, но сконфигурен весьма грубо и небезопасно, а мне нужна некоторая специфика, которой там нет

anonymous
()

linux # depmod -А
depmod: malformed/unrecognized option '-А'
depmod 3.3-pre11 -- part of module-init-tools
depmod -[aA] [-n -e -v -q -V -r -u]
      [-b basedirectory] [forced_version]
depmod [-n -e -v -q -r -u] [-F kernelsyms] module1.ko module2.ko ...
If no arguments (except options) are given, "depmod -a" is assumed

depmod will output a dependancy list suitable for the modprobe utility.


Options:
        -a, --all            Probe all modules
        -A, --quick          Only does the work if there's a new module
        -n, --show           Write the dependency file on stdout only
        -e, --errsyms        Report not supplied symbols
        -V, --version        Print the release version
        -v, --verbose        Enable verbose mode
        -h, --help           Print this usage message

The following options are useful for people managing distributions:
        -b basedirectory
            --basedir basedirectory    Use an image of a module tree.
        -F kernelsyms
            --filesyms kernelsyms      Use the file instead of the
                                       current kernel symbols.
linux #

и 

linux # depmod -A
linux #

угадайте что

mutronix ★★★★
()
Ответ на: комментарий от mutronix

честно - не понимаю, сам не могу понять в чем дело...в чем разница? внешне то все одинаково...ёёёёёёёёёёёёёёё неужели кириллица?!!!!

anonymous
()
Ответ на: комментарий от anonymous

Проблема решена - были таки паразитные символы!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.