স্কুইড স্বচ্ছ প্রক্সি জন্য ক্লায়েন্ট সেটআপ কিভাবে?


9

সার্ভারের বিশদ

Squid Transparent Proxy Version: 3.3.8
OS: Ubuntu Server 14.04
Server IP: 192.168.1.3

স্কুইড কনফিগারেশন ফাইল

(গ্রেপ ব্যবহার করে মন্তব্য বাদে)

root@ubuntu:~# grep -v '^$\|^\s*\#' /etc/squid3/squid.conf
acl SSL_ports port 443
acl Safe_ports port 80      # http
acl Safe_ports port 21      # ftp
acl Safe_ports port 443     # https
acl Safe_ports port 70      # gopher
acl Safe_ports port 210     # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280     # http-mgmt
acl Safe_ports port 488     # gss-http
acl Safe_ports port 591     # filemaker
acl Safe_ports port 777     # multiling http
acl CONNECT method CONNECT
acl mylocalnetwork src 192.168.1.0/24
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access allow mylocalnetwork
http_access deny manager
http_access allow localhost
http_access deny all
http_port 3128 transparent
cache_mem 8 MB
maximum_object_size_in_memory 32 KB
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
cache_dir aufs /opt/squid/cache 10000 14 256
maximum_object_size 128000 KB
cache_swap_low 95
cache_swap_high 99
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern -i \.(gif|png|jp?g|ico|bmp|tiff?)$ 10080 95% 43200
refresh_pattern -i \.(rpm|cab|deb|exe|msi|msu|zip|tar|xz|bz|bz2|lzma|gz|tgz|rar|bin|7z|doc?|xls?|ppt?|pdf|nth|psd|sis)$ 10080 90% 43200
refresh_pattern -i \.(avi|iso|wav|mid|mp?|mpeg|mov|3gp|wm?|swf|flv|x-flv|axd)$ 43200 95% 432000
refresh_pattern -i \.(html|htm|css|js)$ 1440 75% 40320
refresh_pattern -i \.index.(html|htm)$ 0 75% 10080
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 1440 90% 10080
quick_abort_min 0 KB
quick_abort_max 0 KB
quick_abort_pct 100
store_avg_object_size 13 KB
visible_hostname localhost

স্কুইড লগ

-------------------------------------------------------------
-----------------------------------------------------------
----------------------------------------------------------
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| Loaded Icons.
2014/07/03 22:11:57| HTCP Disabled.
2014/07/03 22:11:57| Pinger socket opened on FD 13
2014/07/03 22:11:57| Squid plugin modules loaded: 0
2014/07/03 22:11:57| Adaptation support is off.
2014/07/03 22:11:57| Accepting NAT intercepted HTTP Socket connections at local=0.0.0.0:3128 remote=[::] FD 11 flags=41
2014/07/03 22:11:57| Done reading /opt/squid/cache swaplog (2 entries)
2014/07/03 22:11:57| Finished rebuilding storage from disk.
2014/07/03 22:11:57|         2 Entries scanned
2014/07/03 22:11:57|         0 Invalid entries.
2014/07/03 22:11:57|         0 With invalid flags.
2014/07/03 22:11:57|         2 Objects loaded.
2014/07/03 22:11:57|         0 Objects expired.
2014/07/03 22:11:57|         0 Objects cancelled.
2014/07/03 22:11:57|         0 Duplicate URLs purged.
2014/07/03 22:11:57|         0 Swapfile clashes avoided.
2014/07/03 22:11:57|   Took 0.08 seconds ( 24.94 objects/sec).
2014/07/03 22:11:57| Beginning Validation Procedure
2014/07/03 22:11:57|   Completed Validation Procedure
2014/07/03 22:11:57|   Validated 2 Entries
2014/07/03 22:11:57|   store_swap_size = 12.00 KB
2014/07/03 22:11:57| ERROR: No forward-proxy ports configured.
2014/07/03 22:11:57| pinger: Initialising ICMP pinger ...
2014/07/03 22:11:57| pinger: ICMP socket opened.
2014/07/03 22:11:57| pinger: ICMPv6 socket opened
2014/07/03 22:11:57| Pinger exiting.
2014/07/03 22:11:58| storeLateRelease: released 0 objects

Iptables নিয়ম

(আপাতত একক ইন্টারফেস "eth0" ব্যবহার করে)

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.3:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

ক্লায়েন্ট কনফিগারেশন

সমস্যাটি হ'ল আমি আমার ক্লায়েন্টের মেশিনগুলিতে স্কুইডের আইপি দিয়ে গেটওয়ে এবং প্রাথমিক ডিএনএস হিসাবে ইন্টারনেট অ্যাক্সেস করতে পারিনি , নীচে দেখানো হয়েছে।

একটি উবুন্টু ক্লায়েন্ট উপর

auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.3

dns-nameservers 192.168.1.3

একটি উইন্ডোজ ক্লায়েন্টে

এখানে চিত্র বর্ণনা লিখুন

আমি যখন উবুন্টু ক্লায়েন্টের ডিএনএস dns-nameservers 192.168.1.1এবং উইন্ডোজ ক্লায়েন্টকে 192.168.1.1স্কুইড আইপি (192.168.1.3) এর পরিবর্তে একই আইপিতে পরিবর্তন করি, তখন আমি উভয়েই ইন্টারনেট অ্যাক্সেস করতে পারি। পৃষ্ঠাটি রাউটার থেকে সরাসরি রেন্ডার হতে পারে এবং ক্যাশে ব্যবহার করে স্কুইড সার্ভার থেকে নাও আসার উপায় এটি নাও হতে পারে (অবশ্যই আমি /var/log/squid3/cache.log এ লগগুলি উত্পন্ন হতে দেখেছি)। ইতিমধ্যে অ্যাক্সেস করা পৃষ্ঠাগুলির জন্য আমার রাউটারটি জ্বলজ্বল করে দেখেছি, এর অর্থ এটি স্কুইড ক্যাশে থেকে আনার পরিবর্তে ইন্টারনেটে অনুরোধটি প্রেরণ করবে।

আমি এখনও আপস করি না। যদি আমি এখনও আমার ক্লায়েন্ট মেশিনগুলিতে ইন্টারনেট বন্ধ হয়ে থাকা ক্যাশে থেকে দেখা পৃষ্ঠাগুলি অ্যাক্সেস করতে পারি তবে আমি সন্তুষ্ট হব।

স্কুইড ট্রান্সপারেন্ট প্রক্সির জন্য ক্লায়েন্টদের কনফিগার করার পদ্ধতি কী? দয়া করে কেউ আমাকে গাইড করুন?

আপডেট 1

root@ubuntu:~# iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:192.168.1.3:3128
    0     0 REDIRECT   tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 3128

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  all  --  *      eth0    192.168.1.0/24       0.0.0.0/0

আপডেট 2

এটিUbuntu 10.04(lucid) স্কুইড সংস্করণ সহ পূর্ববর্তী সংস্করণে কাজ করছেSquid Cache: Version 2.7.STABLE7 , এবং নীচে স্কুইড কনফিগারেশন ফাইলটি কাজ করেছে এবং ক্লায়েন্টের গেটওয়ে এবং ডিএনএস লুসিডের আইপিতে সেট করা থাকলে আমি ক্লায়েন্ট মেশিনে ইন্টারনেট অ্যাক্সেস করতে পারতাম:

root@lucid:~# grep -v '^$\|^\s*\#' /etc/squid/squid.conf
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl mynet src 192.168.1.0/24    # RFC1918 possible internal network
acl SSL_ports port 443      # https
acl SSL_ports port 563      # snews
acl SSL_ports port 873      # rsync
acl Safe_ports port 80      # http
acl Safe_ports port 21      # ftp
acl Safe_ports port 443     # https
acl Safe_ports port 70      # gopher
acl Safe_ports port 210     # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280     # http-mgmt
acl Safe_ports port 488     # gss-http
acl Safe_ports port 591     # filemaker
acl Safe_ports port 777     # multiling http
acl Safe_ports port 631     # cups
acl Safe_ports port 873     # rsync
acl Safe_ports port 901     # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow mynet
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
cache_mem 8 MB
maximum_object_size_in_memory 32 KB
cache_dir ufs /var/spool/squid 2000 16 256
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
refresh_pattern (Release|Package(.gz)*)$    0   20% 2880
refresh_pattern .       0   20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
offline_mode on
coredump_dir /var/spool/squid

আমি নিশ্চিত নই কেন এটি Ubuntu 14.04স্কুইড সংস্করণে কাজ করছে না Squid Cache: Version 3.3.8। আমি স্কুইডের নতুন সংস্করণে বা নতুন ধ্বংসে অবশ্যই কিছু সেটিংস মিস করছি!


1
আমি সম্ভবত স্পষ্ট করে বলছি, তবে স্বচ্ছ প্রক্সি কনফিগারেশনের পুরো পয়েন্টটি কি আপনি ক্লায়েন্টদের কনফিগার করবেন না?
এইচবি ব্রাইজন

না, কেবলমাত্র সার্ভারের কনফিগারেশনগুলি উল্লেখ করেছে যদি এটি ইস্যুটি আরও ভালভাবে ডিবাগ করতে পারে!
ব্যবহারকারী53864

স্কুইড ক্লায়েন্টগুলি কীভাবে কনফিগার করতে হয় তা আমি বুঝতে পারছি না। আমি যখন স্কুইডের আইপি (192.168.1.3) গেটওয়ে এবং প্রাথমিক ডিএনএস সার্ভার হিসাবে ব্যবহার করি তখন আমি ক্লায়েন্টে ইন্টারনেট অ্যাক্সেস করতে পারি না। আমি মনে করি এটি ক্লায়েন্টদের কনফিগার করার সঠিক উপায়!
ব্যবহারকারী53864

কোনও সতর্কতা বা ত্রুটির বার্তা নেই squid3 -k parse, এটি সব পরিষ্কার।
ব্যবহারকারী53864

এই কমান্ডটির আউটপুট কী: "iptables -t nat -L -n -v"?
টিবিআই ইনফোটেক

উত্তর:


11

আমি নিশ্চিত নই, তবে দয়া করে এই চেকলিস্টটি একবার দেখুন:

স্কুইড.কনফ ফাইলটি সম্পাদনা করুন এবং স্বচ্ছ প্রক্সি মোড সক্ষম করতে নিম্নলিখিত লাইনটি পরিবর্তন করুন:

http_port 3128

to

http_port 3128 intercept

পরিষেবা স্কুইড পুনরায় চালু সেবা স্কুইড

3128 পোর্টের স্কুইড সার্ভারে অভ্যন্তরীণ ইন্টারফেসের (ল্যান সাইড) অভ্যন্তরীণ ট্র্যাফিক পোর্ট-ফরোয়ার্ডে আইপ্যাব্যাটিগুলি NAT টেবিলটিতে একটি এন্ট্রি যুক্ত করুন (ধরে নেওয়া হচ্ছে E00 আইপি ঠিকানার সাথে অভ্যন্তরীণ ইন্টারফেস 192.168.1.3

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT - to (cont।) 192.168.1.3:3128

এখন আপনি নীচের কমান্ডগুলি ব্যবহার করে আপনার iptables, ডিফল্ট ফিল্টার টেবিল এবং নাট টেবিলটি দেখতে পারেন

iptables -L -t filter

iptables -L -t nat

এখন আপনি স্কুইডের জন্য 3128 পোর্টে ইনপুট গ্রহণ করতে নিম্নলিখিত কমান্ডগুলি সহ iptable ফিল্টার টেবিলটিতে (সংযুক্ত) যুক্ত করতে পারেন

iptables -t ফিল্টার -এ ইনপুট -p টিসিপি --dport 3128 -j এসিসিপিটি

এটিও চেষ্টা করে দেখুন

আপনি ফরওয়ার্ড প্রক্সি ব্যবহার না করলেও কনফিগারেশনে আপনার একটি 'ইন্টারসেপ্ট' এবং একটি 'ফরোয়ার্ড প্রক্সি' পোর্ট দরকার need

http_port 3129

http_port 3128 বিরতি

দ্রষ্টব্য : "স্বচ্ছ" বিকল্পটি 2010 সাল থেকে "ইন্টারসেপ্ট" বিকল্প দ্বারা অবচিত করা হয়েছে।


interceptএইচবি ব্রুইঞ্জের পরামর্শ অনুসারে আমি ইতিমধ্যে এটিকে পরিবর্তন করেছি । Iptables নাট বিধিগুলি ইতিমধ্যে স্থানে রয়েছে এবং প্রক্সি সার্ভারে INPUT কোনও বন্দর / উত্সের জন্য অবরুদ্ধ নয়, সমস্ত ইনকামিং প্যাকেট আপাতত অনুমোদিত।
ব্যবহারকারী53864

আপনি কি HTTP_port 3129 ইন্টারসেপ্ট হিসাবে 3128 এর পরিবর্তে 3129 বন্দরটি চেক করতে পারেন?
টিবিআই ইনফোটেক

@ ব্যবহারকারী53864 আপডেট হওয়া উত্তরটি দেখুন
টিবিআই ইনফোটেক

আমি চেষ্টা করেছি !, ভাগ্য নেই, ফলাফল একই। আমি স্কুইডে 3129 বন্দর দিয়ে চেষ্টা করেছি এবং নতুন বন্দরের সাথে iptables নিয়মগুলিও প্রতিস্থাপন করেছি। আমি এখনও আমার ক্লায়েন্ট মেশিনে ইন্টারনেট অ্যাক্সেস করতে পারিনি।
ব্যবহারকারী53864

স্কুইডকনফ উভয় যোগ করার পরে, স্কুইডের লগ রিপোর্ট কী report http_port 3129 HT_port 3128 ইন্টারসেপ্ট
টিবিআই ইনফোটেক

1

স্কুইড ওয়াইকি অনুসারে আপনার স্কিপ ৩.১++ এবং ডিএনএটি- এর পরিবর্তে http_port বিকল্পে ভুল সেটিংস interceptরয়েছে transparent

http_port 3128 intercept

যদিও আপনার স্কুইড লগের আউটপুট মনে হচ্ছে যে বিরতিযুক্ত সকেটগুলি সক্রিয় রয়েছে।

দ্বিতীয় জিনিসটি হল লিনাক্স সার্ভারের সাথে টিসিপি-আইপি ফরোয়ার্ড করার অনুমতি দেওয়া দরকার sysctl net.ipv4.ip_forward=1


আমি সেটিংসটিতে পরিবর্তন করেছি intercept, ফলাফলটি একই যে আমি 192.168.1.3গেটওয়ে এবং প্রাথমিক ডিএনএস সহ ক্লায়েন্টগুলিতে ইন্টারনেট অ্যাক্সেস করতে পারিনি । হ্যাঁ, টিসিপি-আইপি ফরোয়ার্ডিং সিস্টেস্টল.কনফ-এ সক্ষম।
ব্যবহারকারী53864

আসলে স্কুইড ক্লায়েন্ট সেটআপ করার সঠিক উপায়টি কী? ডিএনএসটি স্কুইডের আইপি (192.168.1.3) বা সাধারণ রাউটার আইপি (192.168.1.1) হওয়া উচিত?
ব্যবহারকারী53864

সাধারণ সেটআপটি হ'ল কোনও ক্লায়েন্ট তাদের ডিএইচসিপি অনুরোধে প্রাপ্ত রাউটার / ডিফল্ট গেটওয়ের একটি পুনর্নির্দেশের নিয়ম রয়েছে, এটি টিসিপি পোর্ট 80 এ বহির্গামী ট্র্যাফিককে বাধা দেয় এবং সেই প্যাকেটগুলি স্বচ্ছ প্রক্সিটিতে পুনঃনির্দেশ করে। সেখানে তাদের প্রক্রিয়া করা হবে এবং ফলাফল ক্লায়েন্টের কাছে ফিরে আসবে। ব্যবহৃত ডিএনএসে কিছু আসে যায় না।
এইচবিউইজন

সুতরাং এটি কেবল ক্লায়েন্টদের গেটওয়ে সেটিংয়ের সাথে কাজ করা উচিত, আমি এখনও জানি না কেন আমি ক্লায়েন্টগুলিতে ইন্টারনেট অ্যাক্সেস করতে পারিনি।
ব্যবহারকারী53864

আমি আমার পোস্ট আপডেট!
ব্যবহারকারী53864

1

ত্রুটি: No forward-proxy ports configure(ইন /var/log/squid3/cache.log)

উইকি পড়ুন ।

আমার অভিজ্ঞতায় স্বচ্ছ প্রক্সিটির জন্য NAT পোর্ট দরকার squid.conf(উভয়টিই)

 http_port 3128
 http_port 8080 intercept

0

কেবলমাত্র http_port বিকল্পে "ইন্টারসেপ্ট" যুক্ত করার পরে, আমি এখনও ইপিটবিলগুলি পুনর্নির্দেশ মোডের সাথে একত্রে ইস্যু পেয়েছি, যদি ক্লায়েন্টরা প্রক্সি ব্যবহার করতে কনফিগার করা থাকে:

"ত্রুটি: কোনও ফরোয়ার্ড-প্রক্সি পোর্ট কনফিগার করা নেই।" এবং "সতর্কতা: ফরোয়ার্ডিং লুপ এর জন্য সনাক্ত করা হয়েছে:"

উপরোক্ত বিবৃতিগুলি যাবার পরে আমি এটি এখন সেরা ফলাফল হিসাবে ব্যবহার করছি:

ক) স্কুইড.কম এ ডুয়াল পোর্ট এন্ট্রি ব্যবহার করুন:

http_port 8080
http_port 3128 intercept

এটি ক্লায়েন্ট সাইড কনফিগারেশনের জন্য 8080 বন্দরটিকে সাধারণ ফরোয়ার্ড পোর্ট হিসাবে উপস্থাপন করবে এবং ট্র্যাফিককে পুনঃনির্দেশিত করার জন্য একটি দ্বিতীয় পোর্ট দেয়।

খ) iptables নিয়মটি এভাবে ব্যবহার করুন:

iptables -A PREROUTING -t NAT -i $LAN_IF -p tcp --dport 80 -j REDIRECT --to-port 3128

এটির মতো আপনার ক্লায়েন্টগুলিতে কনফিগার করার জন্য আপনার কাছে একটি ক্লাসিক প্রক্সি পোর্ট (8080) এবং অ-এনক্রিপ্ট করা ট্র্যাফিকের জন্য একটি কার্যকর পোর্ট থাকবে।

কেন আপনি এটি করতে চান? ঠিক আছে, যদি আপনি এইচটিটিপিএস-ট্র্যাফিককে প্রক্সি (যে কোনও উপায়ে সাধারণ ক্লায়েন্টগুলি কনফিগার করার প্রয়োজনীয়তা) বাইপাস করা পছন্দ না করেন এবং আপনি সমর্থন করতে চান তবে কম স্মার্ট ডিভাইস বা প্রোগ্রামগুলি কনফিগার করতে (বা না) করতে চান না।


রাস্পবিয়ান (এবং সম্ভবত অন্যরা) -এ iptables কমান্ডটি ত্রুটিটি দেয় "iptables v1.4.21: iptables টেবিলটি আরম্ভ করতে পারে না` NAT ': টেবিলের অস্তিত্ব নেই (আপনার কি insmod প্রয়োজন?) সম্ভবত iptables বা আপনার কার্নেলটি আপগ্রেড করা দরকার । "। "-T NAT" "-t নাট" এ পরিবর্তন করা এর সমাধান করে।
glennr

-1

উবুন্টু 14.04 স্কুইড স্বচ্ছ প্রক্সি সংস্করণ: ৩.৩.৮, আপনাকে অবশ্যই কনফিগারেশন থেকে স্বচ্ছ সরাতে হবে

http_port 3128

না

http_port 3128 স্বচ্ছ

কোন কারণে এখন কাজ করছে না।


-2

সঙ্গে :

http_port 3128
http_port 8080 intercept

এটা কাজ করে

(ত্রুটি: /var/log/squid3/cache.log এ কোনও ফরোয়ার্ড-প্রক্সি পোর্ট কনফিগার করা নেই)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.