Iptables vs. Gentoo

Решил поставить себе Iptables делаю все по доку Подробная настройка iptables(ru-wiki)
и на первом же скрипте по доку /var/lib/iptables/rules-save впал в ступор ,не понятно куда его
надо прописывать в какой файл ,я прописал его в этот файл /var/lib/iptables/rules-save он
выдает мне ошибку на первую же строчку IPTABLES='/sbin/iptables'.
По нятно что скрипты в этом файле прописывать нельзя ,тогда встает вопрос где в gentoo
должны прописываься скриты для iptables ?

В файле

В файле /var/lib/iptables/rules-save назодятся не скрипты, а правила. Напишите подробнее, что вы хотите замутить? :-)

Я хотелбы с

Я хотелбы с помощь iptables вести подсчет трафика входящего и исходящего
Так как я в iptables совсем новичок то не могу понять куда эти скрипты
и правила надо прописывать ,в доке про это ни чего не говорится, как
в gentoo работает iptables(где все это лежит и прописывается).

Если у вас

Если у вас статические правила, то их надо запихнуть в этот файл. Формат правил? Например "-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT". Т.е. вся командная строка без имени команды(iptables).
Если вам надо формировать правила динамически(при помощи bash скрипта), то его надо прописать в /etc/conf.d/local.start и настроить зависимости.

ИМХО, лучше обойтись статическими правилами.

Мне кажеться

Мне кажеться причина в неточном переводе данной статьи на русский язык. Если посмотреть вариант этой статьи на английском языке, то весь скрипт записываеться в файл firewall.sh, а не в /var/lib/iptables/rules-save
И пропущенно следушее:
chmod +x firewall.sh
./firewall.sh

Идея в том, что

Идея в том, что вы сначала пишете весь код в любой файл содержащий

#!/bin/sh
IPTABLES='/sbin/iptables'
...

Затем делаете файл исполняемым:

chmod +x ./myconf

запускаете

./myconf

и если всё нормально, сохраняете

/etc/init.d/iptables save

и, в дальнейшем, пользуетесь

/etc/init.d/iptables (start|stop)

наконец добавляете в автозапуск

rc-update add iptables default

Большое

Большое спасибо теперь я понял как ето работает.
Спасибо всем обязательно попробую ваши рекомендации.

Вот, типовой

Вот, типовой скрипт, которым я пользуюсь. Запиши его в файл, поправь, сделай его исполняемым, запусти.
#!/bin/bash

IPTABLES='/sbin/iptables'

# Определяем интерфейсы
INET='eth2'
STAN='eth1'
LOC='lo'

# Включаем форвардинг ip в ядре.
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

# Сбросить правила и удалить цепочки
$IPTABLES -F
$IPTABLES -X

# Включаем маскарадинг для разрешения доступа в интернет
#$IPTABLES -t nat -A POSTROUTING -o $INET -j MASQUERADE
#$IPTABLES -t nat -A POSTROUTING -o $STAN -j MASQUERADE

# Форвардить сетевой трафик с $INTIF1 на интернетовский интерфейс $EXTIF
#$IPTABLES -A FORWARD -i $INTIF2 -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT

#Локальные пакеты
$IPTABLES -A INPUT -i $LOC -s 192.168.10.1/255.255.255.255 -j ACCEPT
$IPTABLES -A INPUT -i $LOC -s 10.10.21.3/255.255.255.255 -j ACCEPT
$IPTABLES -A INPUT -i $LOC -s 172.16.0.1/255.255.255.255 -j ACCEPT
$IPTABLES -A INPUT -i $LOC -s 127.0.0.1/255.255.255.255 -j ACCEPT

#echo -e " - Разрешаем доступ к SSH серверу"
$IPTABLES -A INPUT --protocol tcp --dport 22 -j ACCEPT

#пингование с Ленки
$IPTABLES -A INPUT --protocol icmp -s 10.10.20.37/255.255.255.255 -j ACCEPT

#"Доступ на ftp"
$IPTABLES -A INPUT --protocol tcp --dport 7070 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 7500 -j ACCEPT

#NOD32 updates
$IPTABLES -A INPUT --protocol tcp --dport 9000 -j ACCEPT

#DC++
$IPTABLES -A INPUT --protocol tcp --dport 7400 -j ACCEPT
$IPTABLES -A INPUT --protocol udp --dport 7400 -j ACCEPT

#Torrent
$IPTABLES -A INPUT --protocol udp --dport 7501:7600 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 7501:7600 -j ACCEPT

#HTTP наружу
#$IPTABLES -A OUTPUT --protocol tcp --dport 80 -j ACCEPT

#echo -e " - Разрешаем доступ к notebook"
$IPTABLES -A INPUT -s 192.168.10.70/255.255.255.255 -j ACCEPT
$IPTABLES -A OUTPUT -d 192.168.10.70/255.255.255.255 -j ACCEPT

#Доступ к проксе
$IPTABLES -A INPUT -s 10.10.20.37 --protocol tcp --dport 808 -j ACCEPT
$IPTABLES -A INPUT -s 172.16.0.3 --protocol tcp --dport 808 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 808 -j ACCEPT

#DNS
$IPTABLES -A INPUT --protocol udp --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT --protocol udp --dport 53 -j ACCEPT

#DHCP
$IPTABLES -A INPUT --protocol udp --dport 67 -j ACCEPT
$IPTABLES -A INPUT --protocol udp --dport 68 -j ACCEPT
$IPTABLES -A OUTPUT --protocol udp --dport 67 -j ACCEPT
$IPTABLES -A OUTPUT --protocol udp --dport 68 -j ACCEPT

# Блокируем все прочие попытки доступа
$IPTABLES -A INPUT -s 10.10.0.0/255.255.0.0 -j DROP
$IPTABLES -A FORWARD -s 10.10.0.0/255.255.0.0 -j DROP
$IPTABLES -A INPUT -m state --state NEW,INVALID -j DROP
$IPTABLES -A FORWARD -m state --state NEW,INVALID -j DROP

/etc/init.d/iptables save
/etc/init.d/iptables stop
/etc/init.d/iptables start

Re: Вот, типовой

olegon написал(а):
# Включаем форвардинг ip в ядре.
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

Мать-перемать, НУ КОГДА УЖЕ ЭТО ВАРВАРСТВО КОНЧИТЬСЯ?!
sysctl слабо асилить?

+1

+1

Это бывает

Это бывает удобно делать именно таким способом когда есть несколько сетевых профилей, и, в одном из них, необходимо другое значение. Тогда просто используется\загружается другой конфиг в котором "echo 0". + таким образом все настройки сети оказываются в одном файле.

Вот именно! А к

Вот именно! А к данному случаю это имеет отношение???

Видимо

Ну кто ж его знает...

Сравните

Сравните уровень вопросов автора топика с уровнем на которм нужны сетевые профили!

А вдруг он свой

А вдруг он свой первый сервер поднимает? Или это ноут? :))

Ну-ну! Он бы не

Ну-ну!
Он бы не стал скромничать! :-)

а если 2 провайдерских канала

то как баллансировать?
и если у одного метрику ставить 0 а у другого интерфейса 1 - то что будет?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".