Bom. Vamos começar :) Tente isso, deve funcionar para você.
Primeiro, a solução é baseada no squid .
Após a instalação, obviamente, modificaremos o arquivo squid.conf
. Usaremos as seguintes diretrizes de configuração:
http_port
name=
myportname
acl
http_access
tcp_outgoing_address
Primeiro, queremos informar ao Squid quais IPs e portas devem ser ouvidos e queremos usar a opção name=
com http_port
:
# Squid normally listens to port 3128
http_port xx.xxx.xxx.111:3128 name=3128
http_port xx.xxx.xxx.112:3129 name=3129
http_port xx.xxx.xxx.113:3130 name=3130
http_port xx.xxx.xxx.114:3131 name=3131
http_port xx.xxx.xxx.115:3132 name=3132
http_port xx.xxx.xxx.116:3133 name=3133
Pedimos apenas ao Squid que escutasse as portas sequenciais e designasse um nome para cada conexão de entrada. Agora que nomeamos as conexões de entrada, podemos designar um ACL
com base em cada nome de conexão de entrada e atribuir um IP
de saída a cada um:
acl tasty3128 myportname 3128 src yy.yyy.yyy.0/24
http_access allow tasty3128
tcp_outgoing_address xx.xxx.xxx.111 tasty3128
acl tasty3129 myportname 3129 src yy.yyy.yyy.0/24
http_access allow tasty3129
tcp_outgoing_address xx.xxx.xxx.112 tasty3129
acl tasty3130 myportname 3130 src yy.yyy.yyy.0/24
http_access allow tasty3130
tcp_outgoing_address xx.xxx.xxx.113 tasty3130
acl tasty3131 myportname 3131 src yy.yyy.yyy.0/24
http_access allow tasty3131
tcp_outgoing_address xx.xxx.xxx.114 tasty3131
acl tasty3132 myportname 3132 src yy.yyy.yyy.0/24
http_access allow tasty3132
tcp_outgoing_address xx.xxx.xxx.115 tasty3132
acl tasty3133 myportname 3133 src yy.yyy.yyy.0/24
http_access allow tasty3133
tcp_outgoing_address xx.xxx.xxx.116 tasty3133
É isso. Agora você deve conseguir se conectar a qualquer endereço IP configurado através do Squid.
No exemplo eu uso apenas 6 ip.
Próximo. Se você deseja autenticação básica, você deve fazer o seguinte
Vamos criar um arquivo para armazenar senhas e alterar a propriedade dele para que o Squid possa acessar.
sudo touch /etc/squid/passwd
sudo chown squid /etc/squid/passwd
Suponha que john
seja nosso nome de usuário para acessar o servidor proxy do Squid, usaremos esse comando para gerar a senha para esse nome de usuário. Você precisará digitar a senha e redigitá-la novamente para confirmação.
O argumento -d
neste comando forçará o htpasswd
a usar a criptografia CRYPT
da senha.
sudo htpasswd -d /etc/squid/squid_passwd john
New password:
Re-type new password:
Adding password for user john
Para testar se o nome de usuário e a senha digitam esse comando e no arquivo a seguir, insira o nome de usuário e a senha separados por espaço.
/usr/lib64/squid/ncsa_auth /etc/squid/passwd
john pass
OK
Abra o arquivo de configuração do Squid e adicione as seguintes linhas no topo do arquivo.
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
https_access allow ncsa_users
Após as alterações, reinicie o serviço
sudo service squid restart
Tente.