Мужик! с тобой всё понятно! :)
$UserHost/32 - вданном примере для каждого юзера
ВНИМАТЕЛЬНО ПРОЧТИ СКРИПТЫ И ПРОАНАЛИЗИРУЙ ИХ, ЗАТЕМ ЗАДАВАЙ ВОПРОСЫ...
у меня 2 скрипты..
в первой я указываю общие правила, а во второй работаю с каждым клиентом отдельно
те-же настройки у меня на домашнем сервере, тока
другие айпишники :))
и это работает между подсетями....
:)
вот первая я её назвал rc.ipchains
#!/bin/bash
# Some variables
HomePath=/etc/rc.d/
MyInetIface=ppp0
# flushing all rules
ipchains -F
ipchains -Z
# closing MASQUERADE automatically
ipchains -P input ACCEPT
ipchains -P forward ACCEPT
ipchains -P output ACCEPT
# enable loopback
#ipchains -A input -s 0/0 -d 127.0.0.1/8 -i lo0 -p all -j ACCEPT
#ipchains -A output -s 127.0.0.1/8 -d 0/0 -i lo0 -p all -j ACCEPT
#
#ipchains -A input -s 192.168.5.0/24 -d 192.168.5.1 3128 -i eth0 -p tcp -j DENY
#ipchains -A input -s 192.168.5.0/24 -d 192.168.5.1 3128 -i eth0 -p udp -j DENY
#ipchains -A output -d 192.168.5.0/24 -s 192.168.5.1 3128 -i eth0 -p tcp -j DENY
#ipchains -A output -d 192.168.5.0/24 -s 192.168.5.1 3128 -i eth0 -p udp -j DENY
# closing NETBIOS services
ipchains -A input -s 0/0 135:139 -i $MyInetIface -p tcp -j DENY
ipchains -A input -s 0/0 135:139 -i $MyInetIface -p udp -j DENY
ipchains -A output -d 0/0 135:139 -i $MyInetIface -p tcp -j DENY
ipchains -A output -d 0/0 135:139 -i $MyInetIface -p udp -j DENY
ipchains -A input -s 0/0 20001:29999 -d 0/0 -i $MyInetIface -p tcp -j DENY
ipchains -A output -s 0/0 20001:29999 -d 0/0 -i $MyInetIface -p udp -j DENY
ipchains -A input -d 0/0 20001:29999 -s 0/0 -i $MyInetIface -p tcp -j DENY
ipchains -A output -d 0/0 20001:29999 -s 0/0 -i $MyInetIface -p udp -j DENY
# closing other services
# telnet from internet
ipchains -A input -s 0/0 -i $MyInetIface 1:1 -p tcp -j DENY
# chains for TOTAL INTERNET TRAFFIC
ipchains -A input -s 0/0 -i $MyInetIface -p all -j ACCEPT
ipchains -A output -d 0/0 -i $MyInetIface -p all -j ACCEPT
# chains for users
$HomePath/userchains 192.168.0.1 192.168.0.1
$HomePath/userchains 192.168.0.2 192.168.0.1
$HomePath/userchains 192.168.0.5 192.168.0.1
$HomePath/userchains 192.168.0.8 192.168.0.1
$HomePath/userchains 192.168.1.2 192.168.1.1
$HomePath/userchains 192.168.1.5 192.168.1.1
$HomePath/userchains 192.168.1.8 192.168.1.1
$HomePath/userchains 192.168.1.9 192.168.1.1
$HomePath/userchains 192.168.1.10 192.168.1.1
$HomePath/userchains 192.168.1.20 192.168.1.1
вот вторая и её имя userchains....
#!/bin/bash
SourceIP=$1
DestIP=$2
echo "open chains for src ip -> $SourceIP dst ip -> $DestIP"
SourceIP=$SourceIP/32
DestIP=$DestIP/32
MyInetIface=ppp0
# if a directly connectiions to internet
#------------------------------------------------------------------------#
# input chains #
#------------------------------------------------------------------------#
#
#
#
ipchains -A input -s $SourceIP -d $DestIP 3128:3128 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 3128:3128 -p udp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 25:53 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 25:53 -p udp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 81:130 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d $DestIP 81:130 -p udp -j ACCEPT
#
#
#
ipchains -A input -s $SourceIP -d 0/0 21:130 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d 0/0 21:130 -p udp -j ACCEPT
ipchains -A input -s $SourceIP -d 0/0 140:65535 -p tcp -j ACCEPT
ipchains -A input -s $SourceIP -d 0/0 140:65535 -p udp -j ACCEPT
ipchains -A input -d $SourceIP -s 0/0 -i $MyInetIface -p all -j ACCEPT
#------------------------------------------------------------------------#
# output chains #
#------------------------------------------------------------------------#
# if thought server
# =================
#
ipchains -A output -d $SourceIP -s $DestIP 3128:3128 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 3128:3128 -p udp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 25:53 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 25:53 -p udp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 81:130 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s $DestIP 81:130 -p udp -j ACCEPT
#
# ======
#
ipchains -A output -d $SourceIP -s 0/0 21:130 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s 0/0 21:130 -p udp -j ACCEPT
ipchains -A output -d $SourceIP -s 0/0 140:65535 -p tcp -j ACCEPT
ipchains -A output -d $SourceIP -s 0/0 140:65535 -p udp -j ACCEPT
ipchains -A output -s $SourceIP -d 0/0 -i $MyInetIface -p all -j ACCEPT
# Masquerade
ipchains -A forward -s $SourceIP -d 0/0 -p all -i $MyInetIface -j MASQ
обе они лежат в /etc/rc.d/
настройки содраны прямо из линуха....