我正在尝试启动一个简单的商业代理服务器。我购买了一个 IP 子网,我想让一些付费客户可以访问这些 IP。以下是我要满足的基本要求:
- 1 个端口对应 1 个 IP,静态连接 - 完成
- 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