运维

SSH转发的妙用(代理)

之前自己自建vpn,搭建好了就弄个镜像备份,丢过几次备份的镜像,来来回回捣鼓烦了,最后都是用一建部署脚本,还部署了squid,电脑google用vpn,squid给linux主机的docker等应用做临时代理,在国内仓库失效时用用。vultr主机稳定性一般,延迟还高,ZC一紧可能就要找新ip,一个月还要5刀,感觉不如良心云,一个月才2块钱,稳定延迟还低流量也够用。但是关了自建vpn吧squid就没的用了,灵机一动,想到了利用本机代理与ssh转发

1.开启目标主机ssh转发
vi /etc/ssh/sshd_config
 AllowTcpForwarding yes  # 允许TCP转发(必须开)
 GatewayPorts yes        # 允许外部访问转发端口(可选,根据需求)

2.重启ssh
systemctl restart sshd

3.本机建立ssh通道,将目标主机7897转发到本机7897端口

#      目标机监听端口:转发host:转发端口 目标用户@目标host
ssh -R 7897:10.22.2.102:7897 root@10.22.2.106

4.目标主机访问测试
curl -x http://127.0.0.1:7897 google.com
# 正常打印
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

5.配置会话http代理,docker pull可生效
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897
export no_proxy="localhost,api.k8s.local,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local,.ewhisper.cn,<nodeCIDR>,<APIServerInternalURL>,<serviceNetworkCIDRs>,<etcdDiscoveryDomain>,<clusterNetworkCIDRs>,<platformSpecific>,<REST_OF_CUSTOM_EXCEPTIONS>"

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注