Правило iptables для прозрачного проксирования в squid

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Подменить сорс-адрес в пакетах приходящих на определенный адрес Первое правило помечает пакеты приходящие на 80й порт с дестинейшн-адресом соответствующим 10.113.18.13 Второе правило меняет сорс адрес для таких пакетов и заварачивает пакет на нужный адрес.

# iptables -t mangle -I PREROUTING -d 10.113.18.13 -p tcp \
    --dport 80 -j MARK --set-mark 1980
# iptables -t nat -A POSTROUTING -d 192.168.155.19 -m mark \
    --mark 1980 -p tcp --dport 80 -j SNAT --to-source 192.168.155.253

Заблокировать список доменов, чтобы не ходить туда и не тратить свое рабочее время. Также можно заблокировать сайты для своих сотрудников ну или кому угодно. Для этого нужны 3 файла - 2 скрипта, и 1 файл со списком плохих доменов: block_site.sh - блокирует 1 домен block_sites.sh - блокирует много доменов, перечисленных в файле blacklist.name - список плохих доменов Все файлы должны лежать в одной папке. Лучше сделать их доступными только root-пользователю, и запускать через rc.local а также прописать в cron - на всякий случай, против "умных" пользователей. Блокировка всех доменов: $ block_sites.sh Блокировка 1 домена: $ block_site.sh vk.com

Файл block_site.sh - блокирует один домен, переданный переметром

E_WRONGARGS=65
ARGNO=1
if [ $# -ne $ARGNO ]
then
  echo "***** Ошибка параметров! ******"
  echo "Порядок использования: `basename $0` Доменное_имя" >&2
  exit $E_WRONGARGS
fi
nslookup $1 > /tmp/nslookup.txt
X=`sed -rn '1,/^$/d;/^Address:\s+/s///p' /tmp/nslookup.txt `
rm /tmp/nslookup.txt
A=( $X )
i=0; while [ "${A[$i]}" ] ; do
`iptables -A OUTPUT -p tcp -d  ${A[i]} --dport 80 -j DROP` ; (( i++ )) ; done ;

Файл block_sites.sh - блокирует список доменов из файла blacklist.name

echo "Block sites script by MihanEntalpo"
echo "Reading blacklist..."
FILENAME=`readlink -e "$0"`
DIR=`dirname $FILENAME`
echo "Blocking sites..."
cat "$DIR/blacklist.name" | while read line 
do
  `$DIR/block_site.sh $line`
done

Файл blacklist.name - список плохих доменов

vk.com
vkontakte.com
livejournal.com
odnoklassniki.ru
bash.org.ru
bash.im
bash.org
ibash.org.ru
xyu.tv
-----------
-----------