如何对每个端口进行 auth ip/user|pass auth。Squid 代理

如何对每个端口进行 auth ip/user|pass auth。Squid 代理

我正在尝试启动一个简单的商业代理服务器。我购买了一个 IP 子网,我想让一些付费客户可以访问这些 IP。以下是我要满足的基本要求:

  1. 1 个端口对应 1 个 IP,静态连接 - 完成
  2. 1 个端口/端口范围到 1 个或几个 acl 身份验证 ips 或用户身份验证。- 这里有问题。

问题是我试图将 acl 单独添加到每个端口,不幸的是 squid 允许任何单个 acl 访问所有端口。

这些是我的 cfg 文件中的相关条目:

acl server_one_ip src 40.70.184.218
http_access allow server_one_ip
http_access deny all

http_port 3128 name=port_3128
http_port 3127 name=port_3127

acl port_3128_acl myportname port_3128
acl port_3127_acl myportname port_3127

# just forward traffic, don't use peers (not?)
always_direct deny port_3128_acl server_one_ip
always_direct deny port_3127_acl

never_direct allow port_3128_acl server_one_ip
never_direct allow port_3127_acl

# 3128
cache_peer 207.202.217.26 parent 7823 0 proxy-only default  name=proxy3128
cache_peer_access proxy3128 allow port_3128_acl server_one_ip
cache_peer_access proxy3128 deny all

# 3127 
cache_peer 207.202.211.170 parent 5991 0 proxy-only default  name=proxy3127
cache_peer_access proxy3127 allow port_3127_acl
cache_peer_access proxy3127 deny all

因此,重申一下,其他一切都正常。每个端口都保持其外部路由静态,问题是我不知道如何acl src为每个端口添加特定列表。

我的整个配置文件(如果有帮助的话):

#
# Recommended minimum configuration:
#

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed

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 localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
acl server_one_ip src 40.70.184.218

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

#
# Recommended minimum Access Permission configuration:
#

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost
http_access allow server_one_ip

# And finally deny all other access to this proxy
http_access deny all

# Squid normally listens to port 3128
http_port 3128 name=port_3128
http_port 3127 name=port_3127

nonhierarchical_direct off

acl port_3128_acl myportname port_3128
acl port_3127_acl myportname port_3127

# just forward traffic, don't use peers (not?)
always_direct deny port_3128_acl server_one_ip
always_direct deny port_3127_acl

never_direct allow port_3128_acl server_one_ip
never_direct allow port_3127_acl

# 3128
cache_peer 207.202.217.26 parent 7823 0 proxy-only default  name=proxy3128
cache_peer_access proxy3128 allow port_3128_acl server_one_ip
cache_peer_access proxy3128 deny all

# 3127 
cache_peer 207.202.211.170 parent 5991 0 proxy-only default  name=proxy3127
cache_peer_access proxy3127 allow port_3127_acl
cache_peer_access proxy3127 deny all


# Uncomment the line below to enable disk caching - path format is /cygdrive/<full path to cache folder>, i.e.
#cache_dir aufs /cygdrive/d/squid/cache 3000 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/cache/squid

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
refresh_pattern .       0   20% 4320

dns_nameservers 8.8.8.8 208.67.222.222 

max_filedescriptors 3200

相关内容