V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cuixiao603
V2EX  ›  程序员

有跳板机情况下如何打洞?

  •  
  •   cuixiao603 · 2020-11-06 10:35:37 +08:00 · 3546 次点击
    这是一个创建于 1503 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有跳板机情况下如何打洞?本地 pc 与跳板机,跳板机与目标主机都只有 22 端口可以访问,想实现如下效果。 (知道不安全哈,就是单纯想探讨一下)
    https://i.imgur.com/99VDQPn.jpg

    18 条回复    2020-11-09 12:36:18 +08:00
    hyq
        1
    hyq  
       2020-11-06 10:47:29 +08:00   ❤️ 3
    双层 ssh 隧道就行
    ssh -o 'ProxyCommand ssh {user}@{跳板机 IP} nc %h %p' -L 3306:{目标机器可访问 mysql 的 ip}:3306 {user}@{目标机器 IP}
    hyq
        2
    hyq  
       2020-11-06 10:48:09 +08:00   ❤️ 1
    然后本机会监听 3306 端口,访问这个端口就能自动转发到目标机的 3306
    kiddingU
        3
    kiddingU  
       2020-11-06 10:54:16 +08:00   ❤️ 1
    楼上说的方法可以,内网穿透用 ssh 隧道也行,很方便
    cuixiao603
        4
    cuixiao603  
    OP
       2020-11-06 11:25:15 +08:00
    @hyq #1 跳板机上没有 nc 怎么办呢
    sazima
        5
    sazima  
       2020-11-06 11:42:52 +08:00   ❤️ 1
    ssh7.3 的 ProxyJump, 再加上 ssh 隧道
    cuixiao603
        6
    cuixiao603  
    OP
       2020-11-06 13:04:41 +08:00
    @sazima #5 没有搞通 大佬能否细说一下呢
    onion83
        7
    onion83  
       2020-11-06 13:21:02 +08:00
    sysctl -w net.ipv4.ip_forward=1
    iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to-destination <IP>:3306
    cuixiao603
        8
    cuixiao603  
    OP
       2020-11-06 14:04:43 +08:00
    @onion83 #7 这个。。恐怕不行吧
    dogfeet
        9
    dogfeet  
       2020-11-06 14:38:24 +08:00   ❤️ 3
    跳板机上没 nc 的话,可以直接先在跳板机上开个隧道
    ssh -Nfg -L 3306:127.0.0.1:3306 目标机
    然后在本机上执行
    ssh -Nfg -L 3306:127.0.0.1:3306 跳板机
    这样访问本机的 3306 会先通过隧道到跳板机的 3306 然后再通过隧道至目标机的 3306
    lewis89
        10
    lewis89  
       2020-11-06 14:38:51 +08:00
    @cuixiao603 #8 没毛病,PREROUTING 跟 DNAT 就是干这个的
    tzigone
        11
    tzigone  
       2020-11-06 14:46:24 +08:00
    有 DMZ , 怎么打
    cuixiao603
        12
    cuixiao603  
    OP
       2020-11-06 14:52:02 +08:00
    @lewis89 #10 目标主机和跳板机都只有 22 端口是通的
    lewis89
        13
    lewis89  
       2020-11-06 14:53:26 +08:00
    @cuixiao603 #12 ssh 把远程主机的端口转发到本地呗..
    myd
        14
    myd  
       2020-11-06 14:57:24 +08:00   ❤️ 1
    [!] 危险操作
    cuixiao603
        15
    cuixiao603  
    OP
       2020-11-06 15:21:00 +08:00
    @dogfeet #9 已测试 非常好用
    codingbody
        16
    codingbody  
       2020-11-06 21:12:51 +08:00 via iPhone
    借楼咨询下:怎么透过跳板机 用 scp 给内网机器上传、下载文件
    本地用的 mac
    shequ2046
        17
    shequ2046  
       2020-11-06 21:13:13 +08:00
    @hyq 使用标准的 ssh 协议监听 127.0.0.1 就可以安全实现的东西,为什么要用 nc ?是看了什么批量让傻子主动把服务器做成肉鸡的教材么?
    hyq
        18
    hyq  
       2020-11-09 12:36:18 +08:00
    @shequ2046 你看懂命令了吗。在自己电脑上监听 127.0.0.1:3306,转发到目标机的 3306 端口,这也叫做肉鸡?再说了题主都说了知道不安全,仅探讨一下,就你不知道?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3428 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 10:53 · PVG 18:53 · LAX 02:53 · JFK 05:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.