Фильтр сетей на IPTABLES
LinAdmin 20 сентября, 2009 - 22:57
Приветствую всех гентушников!
У меня есть небольшая проблема...
Имеются 2 сети:
NET1 – сеть корпуса
NET2 – сеть интернет
надо сделать так чтобы юзерам была доступна NET1, а в NET2 попадали только те IP которые я указал, причем они должны еще шейпится. NET1 доступна всем без ограничений.
Вот мой скрипт настройки iptables:
#!/bin/bash # DEV_IN="eth1" fwscript="/etc/init.d/iptables" fwcmd=`which iptables` # Basic rules ${fwcmd} -F ${fwcmd} -t nat -F ${fwcmd} -t mangle -F ${fwcmd} -X tc qdisc del dev ${DEV_IN} root # Default policy ${fwcmd} -P INPUT ACCEPT ${fwcmd} -P OUTPUT ACCEPT ${fwcmd} -P FORWARD DROP # Create chains ${fwcmd} -N NET1 # Redirect all trafic in filter ${fwcmd} -A FORWARD -s 192.168.1.3 -j NET1 ${fwcmd} -A FORWARD -s 192.168.1.4 -j NET1 # Shaper tc qdisc add dev ${DEV_IN} root handle 1: htb default 99 tc class add dev ${DEV_IN} parent 1: classid 1:1 htb rate 10mbit ceil 10mbit tc class add dev ${DEV_IN} parent 1:1 classid 1:99 htb rate 256kbit ceil 256kbit tc qdisc add dev ${DEV_IN} parent 1:99 handle 99: sfq perturb 10 # Rule by default ${fwcmd} -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT ${fwcmd} -A FORWARD -j REJECT --reject-with icmp-net-prohibited ############################################################################## wgetcmd=`which wget` neturl="http://192.168.10.1/nets.txt" # ${wgetcmd} -c ${neturl} cat nets.txt | while read ip_addr; do if [ "${ip_addr}" ] ; then ${fwcmd} -A NET1 -d ${ip_addr} -j ACCEPT fi done ############################################################################## ${fwcmd} -t mangle -A POSTROUTING -s 192.168.1.4 -j MARK --set-mark 99 ${fwcmd} -t mangle -A POSTROUTING -d 192.168.1.4 -j MARK --set-mark 99 ${fwcmd} -A NET1 -s 192.168.1.3 -j ACCEPT ${fwcmd} -A NET1 -s 192.168.1.4 -j ACCEPT # ${fwcmd} -t nat -A POSTROUTING -o ${DEV_IN} -j MASQUERADE
Здесь в примере IP 192.168.1.4 шейпится, а 192.168.1.3 — нет.
Проблема в том что у IP 192.168.1.4 шейпится ВЕСЬ трафик, как этого избежать?
Заранее спасибо за ответ.
NightNord: теги [code]
, очевидно, придумали глупые инопланетяне?
»
- Для комментирования войдите или зарегистрируйтесь
Неужели никто не сталкивался
Неужели никто не сталкивался с такой проблемой?
Я пробовал сделать через маркиравки пакетов, но все пакеты попадающие в TC имеют одни и те же метки и TC эти пакеты благополучно фильтрует...
Если ничего не помогает, прочти наконец инструкцию...
А если помечать трафик на том
А если помечать трафик на том интерфейсе на котором требуется его шейпить?