为 跳板机 创建隧道,为服务器创建代理,隧道和代理的端口要一致.
前提假设:
跳板机 主机地址为:A
待登录服务器 主机地址为:B
step 1、新建跳板机A会话
1)连接
名称:任意取(如:跳板机)
主机:填写跳板机IP或跳板机服务器名称
2)用户身份验证
填写跳板机A的用户名和密码
3)ssh-隧道建立
类型:Dynamic(SOCKS4/5)
侦听端口:可以自己设置,但必须与待连接服务器的配置一致,如此处假设侦听端口为1080
新建好跳板机会话后连接跳板机
step 2、新建待连接服务器B会话
1)连接
名称:任意取
主机:待连接服务器主机IP或者名称
2)用户身份验证:
填写待连接服务器B的用户名和密码
3)代理
添加代理服务器:
名称:任意取
类型:SOCKS5
主机:(一定是)localhost
端口:设成与上面step 1中隧道中填写的端口一样的端口,如上面填的是1080,此处也要填1080
配置完成后点确定。
总结:
step 1中的三小步完成后连接跳板服务器。连接上跳板服务器后,step 2中的三小步完成后连接待连接的服务器。
之后的登录:1、先连接跳板服务器,2、再连接待登录服务器。
仅供参考,误喷!
标签: socat squid
内网服务器是指只有内网ip而没有公网ip的服务器。 一般情况下内网服务器无法跟公网通讯。
我们的生产或者测试环境中有不少是内网机器, 多少会造成不便。
那么如何实现内网机器也能像普通服务器一样使用呢?
我们一般通过代理的方式。而代理又需要部署在有公网ip的服务器上(也就是俗称的跳板机)。
请求方向:从内到外
这种代理方式仅支持http的访问。
测试环境下,squid部署在sandbox3(10.168.13.96)上,而生产环境的squid部署在web-m上。
增加你需要转发的端口号 。普通的80,443已经默认配置了
acl SSL_ports port 5000 # docker.oa.isuwang.com https
acl Safe_ports port 5000
http_port 10.168.13.96:3128
启动方式: service squid start
而需要使用代理的内网机器, 需要做如下设置:
3.1 mkdir /etc/systemd/system/docker.service.d
3.2 vi /etc/systemd/system/docker.service.d/http-proxy.conf, 内容为
3.3 systemctl daemon-reload
3.4 校验: systemctl show --property=Environment docker
3.5 重启docker daemon: systemctl restart docker
请求方向:从外到内,从内到外
支持协议:tcp
应用场景: 例如需要从本地远程调试测试服务器的项目、短信接口等
案例:
登录sandbox2的跳板机121.40.216.40, 输入如下命令:
socat TCP4-LISTEN:9997,bind=121.40.216.40,su=nobody,fork,reuseaddr TCP4:sandbox2:9997
其中, 9997为调试端口。
socat TCP4-LISTEN:808,bind=10.168.139.194,su=nobody,fork,reuseaddr TCP4:sdk410.eucp.b2m.cn:80
其中, 10.168.139.194为跳板机的内网ip, 另外,由于目标端口80给nginx给占用了, 故我们改写了短信接口的端口配置为808,并在跳板机中转发到目标ip的80端口
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)