>>> кроме того можно все делать через --set-mark и без цепочек и с
>>> чётким определением кого куда.
>> Совершенно верно. Но думаю, по адресам намного удобнее сделать.
> По адресам, если привязывать адреса к макам в dhcp, то имена хостов
> не записываются в зоны bind.
> можно подробнее про --set-mark, на днях пробовал, но чего то не получилось всем спасибо за советы и предложения, кому интересно, то вот таким образом получилось:
$ipt -t mangle -N check_mac
touch /tmp/query
echo 'SELECT name FROM mac;' | mysql -s -ubase_user -pbase_pass base_name > /tmp/query
MAC=`cat /tmp/query`
for M in ${MAC}; do
$ipt -t mangle -A check_mac -m mac --mac-source ${M} -j MARK --set-mark 1
done
rm /tmp/query
$ipt -t mangle -I PREROUTING -p tcp -j check_mac
$ipt -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -m mark ! --mark 1 -j DNAT --to-destination 192.168.0.1:3128