не выполняется скрипт для iptables (в чем может быть проблема?)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Sendo
Сообщения: 31
ОС: Mandriva 2007, FreeBSD 6.2

не выполняется скрипт для iptables

Сообщение Sendo »

Здравствуйте!

Был написан скрипт с настройками для iptabples, помещен в /etc/init.d/ для автоматической загрузки, но скрипт выполняется лишь вот на сколько:

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

Код:
#cat  main.rules.iptables
****************main.rules.iptables****************
#!/bin/sh
iptables --flush
iptables -t nat --flush
clear
###########################################################################
#
# 1. Configuration options.
#
#
# 1.1 Internet Configuration.
#
INET_IP="10.10.12.33"
INET_IFACE="rl1"
#
# 1.2 Local Area Network configuration.
#
#
LAN_IP="192.168.0.100"
LAN_IP_RANGE="192.168.0.0/24"
LAN_IFACE="rl0"
# 1.4 Localhost Configuration.
#
LO_IFACE="lo"
LO_IP="127.0.0.1"
#
# 1.5 IPTables Configuration.
IPTABLES="iptables"
###########################################################################
#
# 2. Module loading.
#
/sbin/depmod -a

далее ни один модуль не может загрузиться и ни одна команда не выполняется.
модули - not found
команды - comand not found
знающие люди предположили, что возможно дело с инициализацией переменной IPTABLES в строке IPTables Configuration - перепроверил, ошибок нет (русских символов в написании), прописал явный путь IPTABLES="/sbin/iptables" (нашел через whereis, где находится модуль iptables), но получаю лишь "нет такого файла или каталога /sbin/iptables", хотя он есть (проверял).
Может у кого какие идеи будут на этот счет?
Спасибо сказали:
fornike
Сообщения: 246

Re: не выполняется скрипт для iptables

Сообщение fornike »

Включены ли в ядре все необходимые модули NetFilter`а ?
Конкретно для строчки: iptables -t nat --flush
нужно включить в ядре модули Full NAT.
Находятся они здесь:
│ -> Networking
│ -> Networking support (NET [=y])
│ -> Networking options
│ -> Network packet filtering framework (Netfilter) (NETFILTER
│ -> IP: Netfilter Configuration
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: не выполняется скрипт для iptables

Сообщение Uncle_Theodore »

А на какой операционной системе это все происходит? У тебя написано FreeBSD в профайле...
Спасибо сказали:
Sendo
Сообщения: 31
ОС: Mandriva 2007, FreeBSD 6.2

Re: не выполняется скрипт для iptables

Сообщение Sendo »

Uncle_Theodore писал(а):
02.07.2007 23:24
А на какой операционной системе это все происходит? У тебя написано FreeBSD в профайле...

Mandriva 2007 spring.
В профайле действительно стоит FreeBSD, поскольку сервер пока функционирует под ней, но собираюсь перейти на Линукс в ближайшее время из-за отсутствия во Фре нормальной поддержки роутинга мультикаста (mrouted и иже с ними с кисками моего провайдера не дружат).


fornike писал(а):
02.07.2007 22:31
Включены ли в ядре все необходимые модули NetFilter`а ?
Конкретно для строчки: iptables -t nat --flush
нужно включить в ядре модули Full NAT.
Находятся они здесь:
│ -> Networking
│ -> Networking support (NET [=y])
│ -> Networking options
│ -> Network packet filtering framework (Netfilter) (NETFILTER
│ -> IP: Netfilter Configuration


посмотрю. спасибо.
Спасибо сказали:
Аватара пользователя
S7a1k3r
Сообщения: 159
Статус: Белгородский LUG
ОС: Arch Linux

Re: не выполняется скрипт для iptables

Сообщение S7a1k3r »

меня вот эта строка смущает

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

IPTABLES="iptables"


может быть лучше указать

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

IPTABLES=/sbin/iptables

?
без кавычек.
Спасибо сказали:
Sendo
Сообщения: 31
ОС: Mandriva 2007, FreeBSD 6.2

Re: не выполняется скрипт для iptables

Сообщение Sendo »

Всем спасибо за ответы, предположения. Разобрался. Скрипт писал под Виндой в текстовом редакторе, а потом переносил в Линуху. Оказалось тупо в конце каждой строки по лишнему символу - пробелу..
Кстати, скрипт прекрасно работает даже если не прописывать путь

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

IPTABLES=/sbin/iptables
, а указывать просто

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

IPTABLES="iptables"
, а вот в случае

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

IPTABLES="/sbin/iptables"
выдает ошибку.

Таким образом, работает одинаково и так

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

IPTABLES=/sbin/iptables
и так

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

IPTABLES="iptables"
Спасибо сказали: