роутер с двумя сеиев.картами
мой скрипт
в account.conf список ip-адресов
#!/bin/bash ipt="/sbin/iptables" HOSTS=`cat /etc/rc.d/account.conf`
INET_IF='eth1' INET_IP='192.168.14.99'
tcp_port="21,22,25,80,443" udp_port="53,67,68,137,138,139"
$ipt -F $ipt -t nat -F $ipt -X
$ipt -P INPUT DROP $ipt -P OUTPUT DROP $ipt -P FORWARD DROP
# rules for router $ipt -A INPUT -i $INET_IF -p tcp -m multiport --dports $tcp_port -j ACCEPT $ipt -A INPUT -i $INET_IF -p udp -m multiport --dports $udp_port -j ACCEPT $ipt -A INPUT -i $INET_IF -p icmp -j ACCEPT $ipt -A OUTPUT -o $INET_IF -p tcp -m multiport --dports $tcp_port -j ACCEPT $ipt -A OUTPUT -o $INET_IF -p udp -m multiport --dports $udp_port -j ACCEPT $ipt -A OUTPUT -o $INET_IF -p icmp -j ACCEPT
addrule(){ $ipt -N allw_$1 $ipt -N t_in_$1 $ipt -N t_out_$1 $ipt -F t_in_$1 $ipt -F t_out_$1 $ipt -A INPUT -p tcp -m multiport --dports $tcp_port -s $2 -j allw_$1 $ipt -A INPUT -p udp -m multiport --dports $udp_port -s $2 -j allw_$1 $ipt -A INPUT -p icmp -s $2 -j allw_$1 $ipt -A FORWARD -d $2 -i $INET_IF -j t_in_$1 $ipt -A FORWARD -s $2 -o $INET_IF -j t_out_$1 $ipt -A OUTPUT -p tcp -m multiport --dports $tcp_port -d $2 -j allw_$1 $ipt -A OUTPUT -p udp -m multiport --dports $udp_port -d $2 -j allw_$1 $ipt -A OUTPUT -p icmp -d $2 -j allw_$1 # $ipt -A allw -j LOG $ipt -A allw_$1 -j ACCEPT $ipt -A t_in_$1 -j ACCEPT $ipt -A t_out_$1 -j ACCEPT $ipt -t nat -A POSTROUTING -s $1 -o $INET_IF -j SNAT --to-source $INET_IP }
for HOST in $HOSTS do addrule $HOST $HOST done
вопросы: 1. качаю для примера с локальн.сети провайдера файл размером ~ 500 Кб, в цепочке t_in_ip приблизительно в два раза больше (~ 1000кБ), в чем может быть ошибка?
2. при включении форвардинга ( /proc/sys/net/ipv4/ip_forward=1) выдает сообщение Neighbor table overflow, при этом форвардинг работает. Наверное нужно увеличить какой-то параметр в /proc/sys/net, какой или дело в чем-то другом?
3. Как сделать, чтобы логи iptables выводились только в /var/log/message, а то у меня выводиться и в файл и на консоль (забыл где какой параметр исправить)?
Огромное спасибо