内网到外网边界只映射了一个端口,如何这个端口上既能ssh本地机器,也能通过这个端口通过端口转发远程到另一台3389远程?

目前在公司遇到个问题,公司分内外网,中间有一个边界,我们日常使用电脑都在内网上,内网到外网边界上开了一个NAT映射端口,具体架构图如下:图错了,是边界把22端口映射到10.1.1.1:22端口,下面的图写成2020了

未命名文件 (1).png

目前有一个需求,边界上只开放一个映射,22端口映射到外网10.1.1.1:22,内网电脑可以访问边界,这样内网电脑访问11.4.4.4:22就相当于访问10.1.1.1:22,可以连上10.1.1.1的ssh。但是现在在外网也有一台windwos电脑,开放3389,我想在现有架构情况下,边界不能动,还是只能映射一个22端口到10.1.1.1:22,我内网笔记本既能够访问10.1.1.1:22,也能够远程连接10.1.1.2的3389。
想过做ssh -L 本地端口转发,这样的确是可以,直接将在10.1.1.1上将22端口转发到10.1.1.2:3389,这样的确在内网电脑直接访问11.4.4.4:22就能连上10.1.1.2:3389,但是这样占用了10.1.1.1:22就不能ssh了,现在想既能通过22端口ssh,也能通过22端口访问3389,相当于1端口多用,10.1.1.1这台电脑可以自己写程序部署程序,请问有什么解决方案吗?

阅读 2.4k
2 个回答

你提出10.1.1.1这台电脑可以自己写程序部署程序,,感觉你像想自己写个程序挑战一下。

给点思路上的建议:

  1. 自己写个程序监听22端口。
  2. 将原来ssh的端口由22改成23(比如)
  3. 在来个 SSH 特征库。
  4. 对来的数据进行监听,如果满足ssh特征库,转发给本机23端口。如果不满足,转发到另一台的3389端口。
# ssh -L 本地端口:远程主机地址:远程主机开放端口 中转主机地址
ssh -L 3389:10.1.1.2:3389 11.4.4.4
# 这样通道建立好之后,只要访问127.0.0.1:3389就可以转发到10.1.1.2:3389了
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏