今天研究了一下如何在CentOS上部署Squid代理服务器并可加密访问,之前历来没接触过,这里记录一下。
具体需求以下:java
yum install squid
为了达到绑定B的IP,须要修改配置文件,在/etc/squid/squid.conf,添加两行:git
acl server_b src <A的外网IP> ... http_access allow server_b
squid
squid -k reconfigure
curl -x localhost:<代理端口> https://httpbin.org/get?showenv=1
在服务器B的shell下执行:github
ssh -C -N -f -L 0.0.0.0:<B的本地端口>:<服务器A的IP>:<A的代理端口> root@<A的主机名或IP>
若是须要关闭隧道,直接杀掉ssh进程便可:shell
ps -ef | grep <本地端口>
找到进程PIDkill -9 <PID>
便可关闭隧道用curl验证代理及隧道是否生效:服务器
curl -x <B的外网IP>:<B的本地端口> https://httpbin.org/get?showenv=1
至此,已初步达到目的ssh
ssh-keygen -t rsa
,在后面的交互式界面中不要设定密钥的密码cat /root/.ssh/id_rsa.pub
,复制公钥内容/root/.ssh/authorized_keys
,把B的公钥文本粘贴到最后,确保独占一行,保存ssh -L ...
命令时,就不须要输入密码了