Transparent web proxy

From DD-WRT Wiki

Revision as of 02:13, 9 February 2006 by 80.95.106.173 (Talk)
Jump to: navigation, search

You are here: Main Page/DD-WRT Docu (EN)/Squid Transparent Proxy


Introduction

Running a transparent proxy server on your network can be used for more advanced content filtering of web pages for environments such as a school or library (where in some locales, filtering is required by law) or as a way to protect children in the household.

This guide will help you enable a transparent proxy server on your network by having your WRT54G router forward all traffic to the proxy server automatically

Desktop Setup

First install Squid on your unix box after that you have to set up squid to do transparent proxying with these settings

httpd_accel_host virtual
httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

Router Setup

You will need to use iptables to tell your router how to forward traffic. If you don't have a good grasp on iptables yet, someone has already done the work and written a shellscript to do the work for you. Be sure to edit the variables at the top.

The script can be found at: http://forum.bsr-clan.de/viewtopic.php?p=10177#10177

#!/bin/sh
INTERNAL_NETWORK="192.168.0.0/24"
ROUTER_IP="192.168.0.1"
PROXY_SERVER="192.168.0.10"
PROXY_PORT="3128"
if [ -z $TRANSPARENT_PROXY ]; then
  /usr/sbin/iptables -t nat -A PREROUTING -i br0 -s $INTERNAL_NETWORK \
    -d $INTERNAL_NETWORK -p tcp --dport 80 -j ACCEPT
  /usr/sbin/iptables -t nat -A PREROUTING -i br0 -s ! $PROXY_SERVER -p tcp --dport 80 \
    -j DNAT --to $PROXY_SERVER:$PROXY_PORT
  /usr/sbin/iptables -t nat -A POSTROUTING -o br0 -s $INTERNAL_NETWORK -p tcp -d \
    $PROXY_SERVER -j SNAT --to $ROUTER_IP
  /usr/sbin/iptables -t filter -I FORWARD -s $INTERNAL_NETWORK -d $PROXY_SERVER -i br0 \
    -o br0 -p tcp --dport $PROXY_PORT -j ACCEPT
  export TRANSPARENT_PROXY="1"
else
  echo "This script has already run!"
  echo "If it hasn't, unset \$TRANSPARENT_PROXY manually via the shell."
fi


You'll need to have the script run every time the router boots. An easy way to do is to set as in the rc_firewall variable. From either Telnet/SSH_and_the_Command_Line

# nvram set rc_firewall="
PASTE
EDITED 
SCRIPT
HERE
"

You can confirm that the changes were made by executing

  1. nvram get rc_firewall

You are here: Main Page/DD-WRT Docu (EN)/Squid Transparent Proxy

ambien adipex xanax xenical cialis valium fioricet tramadol carisoprodol hydrocodone ultram vicodin buy viagra ambien adipex tramadol buy ambien buy adipex buy xanax buy phentermine buy viagra buy xenical cialis valium fioricet tramadol carisoprodol buy soma hydrocodone ultram vicodin meridia alprazolam levitra didrex diazepam propecia zoloft lipitor buy viagra buy phentermine buy ambien buy adipex buy xenical buy xanax buy cialis buy valium buy fioricet buy tramadol buy carisoprodol buy soma buy hydrocodone ultram vicodin meridia alprazolam levitra didrex diazepam propecia zoloft lipitor phentermine ambien xanax phentermine viagra ambien adipex xanax xenical buy cialis buy valium buy fioricet buy tramadol buy carisoprodol buy hydrocodone buy ambien buy adipex xenical cialis valium fioricet tramadol carisoprodol hydrocodone buy propecia free ringtones nextel ringtones viagra viagra buy phentermine ambien adipex xanax xenical cialis valium fioricet tramadol carisoprodol buy soma hydrocodone ultram levitra didrex meridia alprazolam vicodin diazepam zoloft lipitor buy viagra buy ambien buy adipex buy xanax buy xenical buy cialis buy valium buy fioricet buy tramadol buy carisoprodol buy hydrocodone buy ambien buy adipex buy xanax buy xenical buy cialis buy valium buy ambien buy adipex buy ambien buy xanax buy xenical buy cialis buy valium buy fioricet buy tramadol buy carisoprodol buy hydrocodone buy phentermine buy viagra didrex meridia buy viagra phentermine ambien adipex xanax xenical cialis buy phentermine buy ambien buy adipex buy xanax buy xenical buy cialis buy valium buy tramadol buy hydrocodone ambien adipex buy fioricet buy carisoprodol meridia alprazolam ultram levitra didrex phentermine xanax cialis xenical vicodin propecia lipitor zoloft valium fioricet diazepam hydrocodone carisoprodol tramadol buy phentermine buy ambien buy adipex buy xanax buy xenical buy cialis buy valium buy fioricet buy tramadol phentermine buy carisoprodol buy hydrocodone adipex cialis ambien xanax xenical ultram vicodin meridia alprazolam levitra didrex diazepam propecia lipitor zoloft valium fioricet carisoprodol hydrocodone tramadol buy phentermine buy ambien buy xanax buy adipex buy xenical buy cialis buy valium buy fioricet buy viagra buy ambien buy adipex buy xenical buy xanax hydrocodone buy hydrocodone xanax ultram vicodin meridia alprazolam levitra didrex diazepam propecia zoloft lipitor buy viagra ambien buy ambien buy adipex adipex buy xanax xenical valium fioricet buy tramadol carisoprodol buy soma buy tramadol buy carisoprodol buy hydrocodone ambien didrex buy ambien order viagra order phentermine buy adipex buy phentermine buy xanax buy xenical buy valium buy tramadol buy fioricet buy carisoprodol buy cialis buy hydrocodone buy viagra buy phentermine buy ambien buy adipex buy xanax buy xenical buy cialis buy valium buy fioricet buy tramadol buy carisoprodol buy hydrocodone meridia didrex ambien adipex buy phentermine ambien adipex adipex xanax buy phentermine buy ambien buy adipex buy xanax buy xenical buy cialis buy valium buy cialis ultram vicodin meridia didrex levitra diazepam alprazolam propecia zoloft lipitor xenical phentermine ambien adipex phentermine xanax xenical cialis valium fioricet tramadol carisoprodol hydrocodone ultram vicodin meridia alprazolam levitra didrex diazepam buy ambien buy phentermine buy adipex buy xanax buy xenical