Iptables vs. Gentoo
Kor 30 декабря, 2006 - 17:54
Решил поставить себе 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/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: Вот, типовой
Мать-перемать, НУ КОГДА УЖЕ ЭТО ВАРВАРСТВО КОНЧИТЬСЯ?!
sysctl слабо асилить?
+1
+1
Это бывает
Это бывает удобно делать именно таким способом когда есть несколько сетевых профилей, и, в одном из них, необходимо другое значение. Тогда просто используется\загружается другой конфиг в котором "echo 0". + таким образом все настройки сети оказываются в одном файле.
Вот именно! А к
Вот именно! А к данному случаю это имеет отношение???
Видимо
Ну кто ж его знает...
Сравните
Сравните уровень вопросов автора топика с уровнем на которм нужны сетевые профили!
А вдруг он свой
А вдруг он свой первый сервер поднимает? Или это ноут? :))
Ну-ну! Он бы не
Ну-ну!
Он бы не стал скромничать! :-)
а если 2 провайдерских канала
то как баллансировать?
и если у одного метрику ставить 0 а у другого интерфейса 1 - то что будет?