ssh网络相关
1、正向端口转发
SSH -N -L 0.0.0.0:localPort:0.0.0.0:remotePort user@remoteIP -f
-N表示不执行远程命令
-f表示后端运行进程
此命令建立本机到remoteIP的ssh隧道,监听本机所有网络接口的localPort端口,然后将数据转发到remoteIP所有网络接口的remotePort端口上;
2、反向端口转发
SSH -N -R 0.0.0.0:remotePort:0.0.0.0:localPort user@remoteIP -f
-N表示不执行远程命令
-f表示后端运行进程
此命令命令建立remoteIP到本地的ssh隧道,将remoteIP所有网络接口的remotePort端口的数据转发到本机所有网络接口的localPort端口上;
3、socks5代理
SSH -N -D 0.0.0.0:localPort -p remotePort user@remoteIP -f
-N表示不执行远程命令
-f表示后端运行进程
此命令建立本机到remoteIP的ssh隧道,监听本机的localPort端口,启动socks5代理,代理请求过来时,数据通过隧道传到remoteIP服务器的ssh服务,ssh服务根据socks协议将数据转发到对应的目标地址。
proxy搭建
1、云服务商购买外部服务器
2、启动socks5代理
SSH -N -D 0.0.0.0:1080 -p outerSSHPort outerUser@outerIP -f
3、apt工具使用代理
export http_proxy="socks5h://localhost:1080"
export https_proxy="socks5h://localhost:1080"
apt-get install ....
4、docker镜像拉取配置代理
4.1、查看docker配置文件路径
sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-06-21 09:53:00 CST; 59min ago
Docs: https://docs.docker.com
Main PID: 1615 (dockerd)
Tasks: 19
CGroup: /system.slice/docker.service
└─1615 /usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2378 --containerd=/run/containerd/containerd.sock
Loaded字段描述了配置文件路径
4.2、修改配置文件[Service]部分添加如下内容
[Service]
Environment="HTTP_PROXY=socks5://localhost:1080"
Environment="HTTPS_PROXY=socks5://localhost:1080"
Environment="NO_PROXY=localhost,127.0.0.1"
4.3、刷新配置
sudo systemctl daemon-reload
sudo systemctl restart docker
4.4、拉取镜像
docker pull ...