>>
>>>If I have understand you, you have to use packet filters....
>>>PF, IPFW for example.
>>>So, what system you have installed on your server? (Os, version, other
>>>software?)
>>
>>Linux server 2.6.15-1.2054_FC5
>>iptables
>
>Can you show me iptables rules? It is very few ammount of
>information you have provided...
>
>Maybe one rule deny another, or one rule is working nonproperly?....
#!/bin/bash
#Машина в офисе
office=192.168.1.2
#Машина администратора
admin=192.168.1.18
#Адреса роутера
server0=192.168.1.1
server1=10.3.2.111
server2=172.18.1.1
# Адрес файлового архива с mp3 и video
video_serv=172.18.1.2
# Интерфейс смотрящий на клиентов
iface_cli=eth0
# Интерфейс смотрящий во внешний мир
iface_world=eth1
# Интерфейс смотрящий на архив
iface_int=etheth2
#Порты, на которых работает конфигуратор и авторизатор
conf_port=4444
user_port1=4444
user_port2=4443
# Разрешаем форвардинг пакетов между интерфейсами
# Эта штука необязательна, просто в некоторых дистрибутивах
# по умолчанию форвардинг разрешен, а в некоторых - запрещен
# Если мы подстрахуемся, хуже не бкдет
echo "1" > /proc/sys/net/ipv4/ip_forward
# Очищаем правила файрвола
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
# Политика по умолчанию DROP: всем всё запрещено
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
# Разрешаем пингам ходить всюду и всегда
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A FORWARD -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# Разрешаем всё на локальном интерфейсе
iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT
iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT
# Разрешить серверу общаться со внешним миром
iptables -t filter -A INPUT -i $iface_world -j ACCEPT
iptables -t filter -A OUTPUT -o $iface_world -j ACCEPT
# Разрешить видео-серверу обращаться во внешним миром и роутером
iptables -t filter -A INPUT -s $video_serv -j ACCEPT
iptables -t filter -A FORWARD -s $video_serv -j ACCEPT
iptables -t filter -A FORWARD -d $video_serv -j ACCEPT
iptables -t filter -A OUTPUT -d $video_serv -j ACCEPT
# DNS. Замечу, ДНС работает и по TCP и по UDP
iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
# SSH
iptables -t filter -A INPUT -p tcp -s $office -d $server0 --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d $office -s $server0 --sport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp -s $admin -d $server0 --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d $admin -s $server0 --sport 22 -j ACCEPT
# Stargazer configurator
iptables -t filter -A INPUT -p tcp -s 192.168.1.0/24 -d $server0 --dport $conf_port -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d 192.168.1.0/24 -s $server0 --sport $conf_port -j ACCEPT
# UDP stargazer InetAccess
iptables -t filter -A INPUT -p udp -s 192.168.1.0/24 --sport $user_port2 -d $server0 --dport $user_port1 -j ACCEPT
iptables -t filter -A OUTPUT -p udp -d 192.168.1.0/24 --dport $user_port1 -s $server0 -j ACCEPT
#Маскарад
iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE