#!/bin/bash ######### Создаем цепочки для учета трафика: # Трафик для провайдера /sbin/iptables -N in_traf /sbin/iptables -N fwd_in_traf # Трафик для пользователей i=1 while [ $i -le 254 ] do /sbin/iptables -N chain_out_$i /sbin/iptables -N chain_in_$i i=`expr $i + 1` done # Цепочки созданы ######### Устанавливаем действие RETURN внтури цепочек (надо, чтобы трафик не застревал в цепочках): # для провайдера /sbin/iptables -A in_traf -j RETURN /sbin/iptables -A fwd_in_traf -j RETURN # для пользователей i=1 while [ $i -le 254 ] do /sbin/iptables -A chain_out_$i -j RETURN /sbin/iptables -A chain_in_$i -j RETURN i=`expr $i + 1` done # Действие установлено ######### Перебрасываем данные в цепочки: # Трафик для провадера /sbin/iptables -A INPUT -i eth0 -j in_traf /sbin/iptables -A FORWARD -i eth0 -j fwd_in_traf # Трафик для клиентов. Создаем цепочки для ip от 192.168.0.1 до 192.168.0.254. i=1 while [ $i -le 254 ] do /sbin/iptables -A FORWARD -s 192.168.0.$i -j chain_out_$i /sbin/iptables -A FORWARD -d 192.168.0.$i -j chain_in_$i i=`expr $i + 1` done