मैं कंप्यूटर जैसे राउटर पर एक पारदर्शी प्रॉक्सी सेटअप करने के लिए सफलता के बिना कोशिश कर रहा हूं। ज्यादातर उदाहरण जो मुझे मिले हैं, उनमें एक ही कंप्यूटर पर गेटवे और प्रॉक्सी नहीं है, इसलिए मैं गलत उदाहरण देख सकता हूं। यहां बताया गया है कि मेरा 'राउटर' कंप्यूटर सेटअप कैसे है:
- यह एक वायरलेस एपी के रूप में कार्य करता है और इसमें दो LAN पोर्ट होते हैं (केवल एक LAN पोर्ट का उपयोग करते समय)
- इसमें एक डीएचसीपी और डीएनएस सर्वर स्थापित किया गया है
- डांसगार्डियन और स्क्विड पूरी तरह से सेटअप हैं (मैंने टेलनेट और स्क्वीडक्लाइंट दोनों का परीक्षण किया है)
- NAT के माध्यम से iptables सभी सेट और ठीक काम करता है।
मेरे वर्तमान iptables सेटअप स्क्रिप्ट (हाँ, यह बहुत सरल है और बहुत अधिक अनुमति देता है। पारदर्शी प्रॉक्सी काम करने के बाद मैं इसे बेहतर तरीके से बंद कर दूंगा):
LAN="wlp4s0"
WAN="enp3s0"
PROXY_PORT="8080"
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#handle unmatched traffic
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
### Allow Loopback
iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
#rules for NAT
iptables -A FORWARD -o $WAN -i $LAN -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
यहाँ विभिन्न नियम हैं जिन्हें मैंने आज़माया है:
#I quickly get a 'website unavailable' message with this one
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port $PROXY_PORT
तथा
#Requests timeout with this one
iptables -t nat -A PREROUTING -i $LAN -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port $PROXY_PORT
तथा
#Requests timeout with this one also
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j DNAT --to 192.168.0.0:$PROXY_PORT
किसी को भी कोई भी विचार है कि मैं क्या गलत कर रहा हूँ? क्या मुझे अन्य नियम याद आ रहे हैं या मौजूदा नियम हैं जो इसे गड़बड़ करते हैं?