Народ, кто нить гонял iptables под дебианом?
Я создал файл iptables.rules
#!/bin/bash
# Местонахождение iptables
IPTABLES=/sbin/iptables
# Сбрасываем все правила
$IPTABLES -F
$IPTABLES -t nat -F
# Дропим INPUT и FORWARD. OUTPUT дропить не надо, иначе не будет выхода наружу
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
# Пишем разрешающие правила
$IPTABLES -A INPUT -i lo -j ACCEPT
# Это для ответов (уже установленного соединения)
#$IPTABLES -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешим входящие udp и icmp
#$IPTABLES -A INPUT -p udp -j ACCEPT
$IPTABLES -A INPUT -p icmp -j ACCEPT
# ТЕПЕРЬ ОСТАЛОСЬ ОТКРЫТЬ НУЖНЫЕ TCP ПОРТЫ
# Обращения извне к НАШЕЙ машине, а не наоборот.
# Правила для FTP-сервера (21 порт и tcp соединение)
$IPTABLES -A INPUT -i eth0 -p tcp -m multiport --port 21 -j ACCEPT
# Правила для SSH-соединений (22 порт и tcp/udp соединение)
$IPTABLES -A INPUT -i eth0 -p tcp -m multiport --port 22 -j ACCEPT
# Правила для NameServer (35 порт и tcp/udp соединение)
$IPTABLES -A INPUT -i eth0 -p tcp -m multiport --port 35 -j ACCEPT
$IPTABLES -A INPUT -i eth0 -p udp -m multiport --port 35 -j ACCEPT
# Правила для Apache-cервера (80 порт и tcp соединение)
$IPTABLES -A INPUT -i eth0 -p tcp -m multiport --port 80 -j ACCEPT
# Правила для MySQL-cервера (3306 порт и tcp соединение)
$IPTABLES -A INPUT -i eth0 -p tcp -m multiport --port 3306 -j ACCEPT
и применяю его с помощью ./iptables.rules
правила мприменяются, это показывает
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere multiport ports ftp
ACCEPT tcp -- anywhere anywhere multiport ports ssh
ACCEPT tcp -- anywhere anywhere multiport ports 35
ACCEPT udp -- anywhere anywhere multiport ports 35
ACCEPT tcp -- anywhere anywhere multiport ports www
ACCEPT tcp -- anywhere anywhere multiport ports mysql
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Но пара проблем
1
ACCEPT 0 -- anywhere anywhere
это кто
2
как мне сделать, чтобы правила применялись до момента инициализации сетевых настроек, тк я почитал, типо
"оздаешь в /etc/iptables.rules правила для iptables, а потом прописываешь в /etc/network/interfaces в начале строку:
pre-up iptables-restore /etc/iptables.rules."
но не прокатываеи, тогда сетевые интерфейсы не поднимаются вообще
способ второй -
"Когда все заработает делаем
/etc/init.d/iptables save
эта команда запишет вывод iptables-save в /var/lib/iptables/rules-save
который будет подхватываться при загрузке, ессно для этого надо сделать
rc-update add iptables default
Все, теперь свой скрипт спрячь подальше до того момента, пока не захочешь че нить поменять, он уже не нужен."
не прокатывает, тк в init.d нет iptables, попытался через sbin/iptables - но он не знает никаких команд на save
вообщем-как заставить правила применялись вовремя и правильно