Da der Proxy Server ein Linux Server ist, kannst du das mit iptables und der Masquerading Funktion machen.
Dazu musst du nix installieren. Iptables ist ein Kernel-Modul. Die Regeln, was iptables öffnen bzw. natten oder patten soll definiert man mit ein paar Scriptzeilen.
Hier mal ein Beispielscript meiner Schulzeit, das dies exemplarisch verdeutlichen soll
Firewall / IP-Tables / Routing Script
#! /bin/bash
# ip-forwarding aktivieren mit folgendem Befehl
echo ``1`` > /proc/sys/net/ipv4/ip_forward
# alle Regeln deaktivieren mit folgendem Befehl (initialisieren)
iptables -F
# Meldung bringen dass die Firewall an ist mit folgendem Befehl
echo ``FIREWALL IST ON´´
# Zunächst erstmal ALLE Ports dichtmachen...
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Nun werden Filterregeln definiert, die nur die Ports öffnen, die benötigt werden.
# 1.Filterregel besagt, dass Anfragen auf Port 80 akzeptiert (-j ACCEPT) werden sollen.
# TCP-Pakete (-p tcp) die von einem Port grösser als 1024(--sport 1024) ankommen, sollen
# durchgereicht werden (-A FORWARD) an den Empfängerport (--dport) 80 .
# Anfragen kommen immer über einen Port, der grösser als 1024 ist. Im TCP Header
# der Anfrage-Pakete steht dann der Port, an den die Anfrage gerichtet ist, z.B Port 80.
# Auch der Rückweg für die angeforderten Pakete muss geöffnet werden (--dport 1024

.
# Die Antwort auf die Anfrage geht nämlich auch über einen Port grösser als 1024 raus.
iptables -A FORWARD -p tcp --sport 1024: --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dport 1024: -j ACCEPT
# 2.Filterregel besagt, dass Anfragen auf Port 443 (https) durchgeschleift werden sollen
iptables -A FORWARD -p tcp --sport 1024: --dport 443 -j ACCEPT
iptables -A FORWARD -p tcp --dport 1024: -j ACCEPT
# 3.Filterregel besagt, dass Anfragen an DNS (udp) auf Port 53 durchgeschleift werden.
# Da Anfragen an den DNS Server per UDP stattfinden, wird UDP Port 53 geöffnet. # Falls man durch die Firewall auch DNS-Zonenübertragungen z.B. an einen anderen DNS- # Server zulassen möchte, muss zusätzlich der TCP Port 53 geöffnet werden.
iptables -A FORWARD -p udp --sport 1024: --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 1024: -j ACCEPT
# 4.Filterregel besagt, dass alle ausgehenden (-o eth1) Datenpakete maskiert
# (-j MASQUERADE) werden und somit die IP-Adresse der eth1 bekommen
iptables –A POSTROUTING –t nat –o eth1 –j MASQUERADE
Hoffe du kannst was damit anfangen?