Puncte:1

Cum să aveți auth ip/user|pass auth per port. Squid Proxy

drapel cn

Încerc să lansez ceea ce ar trebui să fie un simplu server proxy comercial. Am cumpărat o subrețea de IP-uri și vreau să fac acele IP-uri accesibile unor clienți plătitori. Acestea sunt cerințele de bază după care merg:

  1. 1 port la 1 IP, conexiune statică - Terminat
  2. 1 port/port la 1 sau câteva acl auth ips sau user auth. - Probleme aici.

Problema este că încerc să adaug acl la fiecare port în mod individual, din păcate squid permite oricărei acl acces la toate porturile.

Acestea sunt intrările relevante din fișierul meu cfg:

acl server_one_ip src 40.70.184.218
http_access permit server_one_ip
http_access deny all

http_port 3128 nume=port_3128
http_port 3127 nume=port_3127

acl port_3128_acl myportname port_3128
acl port_3127_acl myportname port_3127

# doar redirecționați traficul, nu folosiți peers (nu?)
always_direct deny port_3128_acl server_one_ip
always_direct deny port_3127_acl

never_direct permit port_3128_acl server_one_ip
never_direct permit port_3127_acl

# 3128
cache_peer 207.202.217.26 părinte 7823 0 nume implicit numai proxy=proxy3128
cache_peer_access proxy3128 allow port_3128_acl server_one_ip
cache_peer_access proxy3128 refuză totul

# 3127 
cache_peer 207.202.211.170 părinte 5991 0 nume implicit numai proxy=proxy3127
cache_peer_access proxy3127 permit port_3127_acl
cache_peer_access proxy3127 refuză tot

Deci, ca să repet, totul merge bine. Fiecare port își păstrează rutarea externă statică, problema este că nu știu cum să adaug specific acl src liste pentru fiecare port.

Întregul meu fișier de configurare dacă ajută:

#
# Configurație minimă recomandată:
#

# Exemplu de regulă care permite accesul din rețelele locale.
# Adaptați-vă pentru a lista rețelele dvs. IP (interne) de unde navigați
# ar trebui sa fie permis

acl localnet src 10.0.0.0/8 # RFC1918 posibilă rețea internă
acl localnet src 172.16.0.0/12 # RFC1918 posibilă rețea internă
acl localnet src 192.168.0.0/16 # RFC1918 posibilă rețea internă
acl localnet src fc00::/7 # RFC 4193 interval de rețea privată locală
acl localnet src fe80::/10 # RFC 4291 link-local mașini (conectate direct)
acl server_one_ip src 40.70.184.218

acl SSL_ports portul 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 # porturi neînregistrate
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 metoda CONECTARE

#
# Configurație minimă recomandată a permisiunii de acces:
#

# Permite accesul cachemgr numai de la localhost
http_access permite managerul localhost
http_access manager de refuz

# Respinge cererile către anumite porturi nesigure
http_access deny !Safe_ports

# Interzice CONNECT la alte porturi SSL decât cele securizate
http_access deny CONNECT !SSL_ports

# Recomandăm cu tărie următoarele să nu fie comentate pentru a-i proteja pe nevinovați
# aplicații web care rulează pe serverul proxy care cred că sunt singurele
# cel care poate accesa serviciile pe „localhost” este un utilizator local
#http_access deny to_localhost

#
# INSEREȚI PROPRIILE REGULI AICI PENTRU A PERMITA ACCESUL CLIENTILOR DVS.
#

# Exemplu de regulă care permite accesul din rețelele locale.
# Adaptați localnet în secțiunea ACL pentru a lista rețelele dvs. IP (interne).
# de unde ar trebui permisă navigarea
http_access permite localnet
http_access permite localhost
http_access permit server_one_ip

# Și, în cele din urmă, refuza orice alt acces la acest proxy
http_access deny all

# Squid ascultă în mod normal portul 3128
http_port 3128 nume=port_3128
http_port 3127 nume=port_3127

nonhierarchical_direct off

acl port_3128_acl myportname port_3128
acl port_3127_acl myportname port_3127

# doar redirecționați traficul, nu folosiți peers (nu?)
always_direct deny port_3128_acl server_one_ip
always_direct deny port_3127_acl

never_direct permit port_3128_acl server_one_ip
never_direct permit port_3127_acl

# 3128
cache_peer 207.202.217.26 părinte 7823 0 nume implicit numai proxy=proxy3128
cache_peer_access proxy3128 allow port_3128_acl server_one_ip
cache_peer_access proxy3128 refuză totul

# 3127 
cache_peer 207.202.211.170 părinte 5991 0 nume implicit numai proxy=proxy3127
cache_peer_access proxy3127 permit port_3127_acl
cache_peer_access proxy3127 refuză tot


# Descomentați linia de mai jos pentru a activa stocarea în cache pe disc - formatul de cale este /cygdrive/<cala completă către folderul cache>, de exemplu.
#cache_dir aufs /cygdrive/d/squid/cache 3000 16 256

# Lăsați coredumps în primul director cache
coredump_dir /var/cache/squid

# Adăugați oricare dintre propriile intrări refresh_pattern deasupra acestora.
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
djdomi avatar
drapel za
Aș sugera să faceți totul mai ușor și să rulați 2 copii de calmar în schimb dacă vă deranjați cu o problemă nouă?
user728874 avatar
drapel cn
@djdomi o să am nevoie de mii de porturi deschise, așa că, din păcate, nu este fezabil :(
djdomi avatar
drapel za
atunci vă rugăm să actualizați întrebarea dvs., se pare că în prezent este o problemă x și y, de ce aveți nevoie de portul http pentru fiecare client când afaik puteți seta utilizatori sau grupuri și le puteți alinia acl pentru a prelua regulile? rețineți că dacă singurul proces moare, toți clienții dvs. sunt afectați în același timp....
user728874 avatar
drapel cn
@djdomi sunt puțin confuz cu privire la sfatul tău. Nu există nicio modalitate de a avea acl-uri pe port? Este ceva în neregulă cu modul în care mi-am pus întrebările?
djdomi avatar
drapel za
Pe scurt, ce încercați să rezolvați (problema X și Y) pentru ce este această rutare/proxing?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.