使用autossh在外网访问内网服务器并设置代理

Part1、需求一

缘由

        内网服务器A需要访问外网服务器B中内网的某些应用,但是外网服务器并不开放这些服务的端口,因此需要设置代理访问!

操作

      A服务器上的操作:

# 安装autossh
yum -y install autossh

# 需要将A的公钥放到B的服务器上
ssh-copy-id  B_IP

# -M参数,这个参数指定一个端口,这个端口是外网的B机器用来接收内网A机器的信息
# 1088是内网A的代理端口
autossh -M 20000 -D 0.0.0.0:1088 -f -C -q -N root@B_IP

      测试:

# 任意一台内网服务器
curl --socks5 A_IP:1088 http://B内网IP:端口

    如果需要在B服务器通过ssh登录到内网服务器,使用如下命令即可:

# -M参数,这个参数指定一个端口,这个端口是外网的B机器用来接收内网A机器的信息
# 1088是内网A的代理端口
# 7280是外网B服务器的远程端口
autossh -M 7281 -fCNR 7280:localhost:22 -D 0.0.0.0:1088  root@B_IP

# B服务器ssh远程登录
ssh localhost -p 7280

 

Part2、需求二

缘由

      如果反过来,外网服务器B中内网电脑要访问A环境的内网,需要怎么做呢?

操作

     基于上面的操作基础之上,再设置一次代理

     A服务器操作:

autossh -M 7281 -fCNR 7280:localhost:22 root@B_IP

    B服务器操作:

autossh -M 7381 -D 0.0.0.0:1099 -f -C -q -N root@localhost -p 7280

   B服务器内网电脑测试:

curl --socks5 B_IP:1099  http://A内网IP:端口

 

 

Part3、需求三

缘由

      内网A服务器需要访问外网的某个端口,使用tcp协议

操作

      1.公钥相互设置到对方主机

      2.内网A服务器设置(22端口代理)

autossh -M 7281 -fNR 7280:localhost:22 root@xxx.xxx.xxx.xxx -p2009


7281: 监视端口
7280: 远程端口
22: 本地ssh端口
2009: 远程ssh端口

     3.外网B服务器设置(端口代理)

autossh -M 7381 -fNR 8101:localhost:9001 root@localhost -p7280

9001: 代理端口
8101: 内网访问外网9001需要用到的端口

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值