Здравствуйте. Возникла такая проблема. Установлен netams на opensuse 10.3 . Все вроде бы работает, но одна проблема. Почему то не считается mail трафик(25, 110) На сервере стоит почтовый локальный сервер cyrus+postfix, почта забирается fetchmail'ом и раздается уже через cyrus пользователем. Может быть как-то нужно было в iptables добавить чтобы почта через netams шла?конфиг нетамса
#NeTAMS version 3.3.5 (build 2916.1) compiled by root@prospect
#configuration built Mon May 12 16:11:54 2008
#begin
#global variables configuration
debug none
language ru
user oid 08FFAA name xxx real-name "xxx" crypted $1$$LnPluENHELhZhQ4yHSFOx1 email admin@local permit all
#services configuration
service server 0
login local
listen 20001
max-conn 6
service processor
lookup-delay 60
flow-lifetime 180
policy oid 0EC229 name ip target proto hopopt
policy oid 0B4377 name www target proto tcp port 80 81 8080 3128
policy oid 0CDC0C name mail target proto tcp port 25 110
policy oid 0A5454 name icq target proto tcp port 5190
policy oid 05B41A name FTP target proto tcp port 21
restrict all pass local pass
unit group oid 01748E name CLIENTS acct-policy ip www mail icq FTP
unit user oid 0B33A2 name user4 ip 10.0.0.12 password ghjcgtrn parent CLIENTS acct-policy ip www mail icq FTP
unit user oid 035AC8 name user3 ip 10.0.0.5 password ghjcgtrn parent CLIENTS acct-policy ip www mail icq FTP
unit user oid 06A4FB name user2 ip 10.0.0.6 password ghjcgtrn parent CLIENTS acct-policy ip www mail icq FTP
unit user oid 039746 name user1 ip 10.0.0.7 password ghjcgtrn parent CLIENTS acct-policy ip www mail icq FTP
unit user oid 02CF6A name samba ip 10.0.0.100 acct-policy ip www mail icq FTP
unit net oid 004CA5 name LAN ip 10.0.0.0 mask 255.0.0.0 acct-policy ip www mail icq FTP
unit host oid 0FF59E name server ip 10.0.0.1 acct-policy ip www mail icq FTP
service storage 1
type mysql
accept all
service data-source 1
type ip-traffic
source ipq
rule 1 "INPUT -p all -j QUEUE"
rule 2 "FORWARD -p all -j QUEUE"
rule 3 "OUTPUT -p all -j QUEUE"
service quota
policy ip
notify soft {owner}
notify hard {owner}
notify return {owner}
service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp-server localhost
service html
path /srv/www/netams
run 5min
url http://10.0.0.1/netams/
htaccess yes
client-pages all
account-pages none
service scheduler
oid 08FFFF time 5min action "html"
#end
Скрипт для iptables который нашел на сайте нетамс для запуска под opensuse
#! /bin/sh
#
# /etc/init.d/iptables
#
### BEGIN INIT INFO
# Provides: iptables
# Required-Start: $network
# X-UnitedLinux-Should-Start: $network
# Required-Stop: $network
# X-UnitedLinux-Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Load iptables rules
# Description: Loads iptables rules
### END INIT INFO
# X-SuSE-Dep-Only
# Указываем пути
IPT="/usr/sbin/iptables"
IPT_SAVE="/usr/sbin/iptables-save"
IPT_REST="/usr/sbin/iptables-restore"
# Внешний сетевой интерфейс
INET_DEV="eth0"
# Внутренний сетевой интерфейс
LAN_DEV="eth1"
# Открытые порты для LAN (TCP)
OPENPORTS_INT_TCP="21,22,110,80,27015"
# Открытые порты для LAN (UDP)
OPENPORTS_INT_UDP="53"
start_fw()
{
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter # Активация IP Spoofing Protection
#echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Игнорирование Broadcast Request
# Модули
/sbin/modprobe ip_queue # Необходимо для работы Netams
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ip_nat_irc
#/sbin/modprobe ip_conntrack_irc
## Правила iptables
##
# Определяем политики по умолчанию
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
# Создаем цепочки
$IPT -N input_int
$IPT -N input_ext
#$IPT -N forward_int
#$IPT -N forward_ext
# Пакеты на входе
$IPT -A INPUT -i lo -j ACCEPT # Разрешаем прохождение трафика через петлевой интерфейс
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #
$IPT -A INPUT -i $LAN_DEV -j input_int # Перейти к цепочке input_int если пакет из LAN
$IPT -A INPUT -i $INET_DEV -j input_ext # Перейти к цепочке input_ext если пакет из Интернета
$IPT -A INPUT -j input_ext # Перейти к цепочке input_ext если пакет не из LAN или Интернет
$IPT -A INPUT -j DROP #
# Пакеты на выходе
$IPT -A OUTPUT -o lo -j ACCEPT # Разрешаем прохождение трафика через петлевой интерфейс
$IPT -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT #
# Правила input_int
$IPT -A input_int -p ALL -s ! 192.168.10.0/24 -j DROP # Принимаем пакеты только из этой подсети
$IPT -A input_int -m state --state INVALID -j DROP # Отбрасываем пакеты которые не могут быть идентифицированы
$IPT -A input_int -p icmp -s 192.168.10.0/24 -j ACCEPT # Пинг из LAN
$IPT -A input_int -p tcp -m multiport --dport $OPENPORTS_INT_TCP -j ACCEPT # Открытые порты TCP
$IPT -A input_int -p udp -m multiport --dport $OPENPORTS_INT_UDP -j ACCEPT # Открытые порты UDP
$IPT -A input_int -p ALL -j DROP #
# Правила input_ext
$IPT -A input_ext -m state --state INVALID -j DROP # Отбрасываем пакеты которые не могут быть идентифицированы
$IPT -A input_ext -p icmp -j ACCEPT # Принимать icmp из Интернет
$IPT -A input_ext -j DROP # Все остальное отбрасываем
# Транзитные пакеты
#$IPT -A FORWARD -p icmp -j ACCEPT # Пропускаем icmp из LAN в Интернет
$IPT -A FORWARD -p ALL -j QUEUE # Заворот пакетов в Netams
# NAT
$IPT -t nat -A POSTROUTING -s 10.0.0.0/8 -o $INET_DEV -j MASQUERADE
}
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Flushing Firewall rules "
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
rc_status -v
echo -n "Clearing Firewall rules "
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
rc_status -v
$IPT -Z
echo -n "Loading Firewall rules "
start_fw
rc_status -v
touch /var/lock/subsys/iptables
;;
stop)
echo -n "Flushing Firewall rules "
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
rc_status -v
echo -n "Clearing Firewall rules "
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
rc_status -v
echo -n "Resetting built-in chains to default ACCEPT policy "
$IPT -P INPUT ACCEPT && $IPT -P OUTPUT ACCEPT && $IPT -P FORWARD ACCEPT
rc_status -v
;;
save)
echo -n "Saving current rules to $RULES: "
$IPT_SAVE -c > $RULES
rc_status -v
;;
restart|force-reload)
$0 start
rc_status
;;
status)
echo "Checking the status of the Firewall "
$IPT -L || rc_failed 3
;;
*)
echo "Usage: $0 {start|stop|save|status|restart|reload}"
exit 1
;;
esac
# Set exit status
rc_exit