windows 跳板机

前置问题:

    A 内网服务器 (无法访问外网,可以访问B,无法访问C)

    B 外网服务器   (可以访问外网,无法访问A,可以访问C)

    C 第三方mysql数据库(外网)

需求:

    A 连接 C

跳板机一般用于异构网络间的中转站,比如对方在防火墙上只给你开放了一台服务器的权限,你无法访问对方局域网的其它主机,但你能访问的这台服务器则有权限访问其它主机。那么这台服务器就可以作为对方网络的跳板机,有时又被称为前置机。

Windows 系统自带的 IP Helper 服务具有端口转发的功能,这个功能可以用来作为跳板,通过跳板机来访问其它主机的服务。

在 cmd 中运行 services.msc 检查 IP Helper 服务是否启动,Windows 的端口转发是由该服务提供的。在 “IP Helper” 服务的属性中可以查看服务描述:

“ IP Helper 服务:使用 IPv6 转换技术(6to4、ISATAP、端口代理和 Teredo)和 IP-HTTPS 提供隧道连接。如果停止该服务,则计算机将不具备这些技术提供的增强连接优势。”

当停用此服务时,端口转发将不生效。可以使用 netstat -an -p tcp 检查本地监听状态。

netstat -an -p tcp| findstr LISTENING

命令行启动 'IP Helper'服务:

C:\> net start 'IP Helper'IP Helper 服务正在启动 .IP Helper 服务已经启动成功。

设置端口转发规则,示例:将远程主机 192.168.23.18 的 65530 端口映射到本地的 1111 端口

netsh interface portproxy add v4tov4 listenport=1111 connectaddress=192.168.23.18 connectport=65530

命令行说明:

netsh interface portproxy add v4tov4 /?
用法: add v4tov4 [listenport=]<integer>|<servicename>            [connectaddress=]<IPv4 address>|<hostname>            [[connectport=]<integer>|<servicename>]            [[listenaddress=]<IPv4 address>|<hostname>]            [[protocol=]tcp]
参数:
        标记            值        listenport      - IPv4 侦听端口。        connectaddress  - IPv4 连接地址。        connectport     - IPv4 连接端口。        listenaddress   - IPv4 侦听地址。        protocol        - 使用的协议。现在只支持 TCP。

命令执行后,检查是否生效:

C:\> netsh interface portproxy show all

​​​​​​​
侦听 ipv4: 连接到 ipv4:
地址 端口 地址 端口--------------- ---------- --------------- ----------* 1111 192.168.23.18 65530

可以看到远程主机的端口已经映射到了本地的1111端口,即可以直接访问跳板机的1111端口来间接访问目标主机。

此时配置已生效,具体是否已经在本地开启对应端口的监听,需要通过netstat 命令进行查看:​​​​​​​​​​​​​​

C:\> netstat -an -p tcp | findstr 1111  TCP    0.0.0.0:1111           0.0.0.0:0              LISTENING

如果想导出配置,可以执行以下命令:

netsh interface portproxy dump > port.con

如果配置错误,想删掉重新配,可以执行以下命令:

netsh interface portproxy reset

可以执行 add 命令重新配,也可以修改导出的配置文件,通过还原命令导入之前的配置:

netsh -f port.conf

如果有多个端口需要映射,可以直接在配置文件中修改,然后重新导入配置即可:

C:\> netsh interface portproxy dump#========================# 端口代理配置#========================pushd interface portproxyresetadd v4tov4 listenport=1111 connectaddress=192.168.23.18 connectport=65530popd# 端口代理配置结束

比如上面 dump 出来的配置,直接重定向到文本文件,在其中 add 命令处复制多行,把端口改掉然后重新导入。

导入修改后的配置,效果如下:

从本地监听可以看到,本地的多个端口映射到了远程主机的同一个端口。这种将远程主机端口映射本地端口的**机制也被叫做正向代理,反之将本地端口映射到远程主机的模式叫反向代理。

正向代理一般用于做跳板机,而反向代理则常用于在防火墙上打洞。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在VS Code中使用SSH连接跳板机,你可以按照以下步骤进行配置: 1. 打开VS Code,并在扩展中搜索"Remote - SSH"并安装\[1\]。 2. 使用快捷键Ctrl+Shift+P呼出控制面板,然后搜索"remote ssh",选择第一个"Connect to Host"。 3. 在弹出的面板中选择最下方的"Configure SSH Hosts…",然后点击第一个"C:\Users…"进行配置\[2\]。 4. 在出现的config配置文件中写入以下信息: ``` Host JumpMachine // 跳板机名称,可随便取 HostName xx.xxx.xx.xxx // 跳板机主机名 Port xx // 跳板机端口号 User xxxx // 跳板机登录用户名 Host TargetMachine // 目标服务器名称,可随便取 HostName xx.xxx.xxx.xxx // 目标服务器主机名 User xxxxxx // 目标服务器用户名 ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -W %h:%p JumpMachine // 'C:\Windows\System32\OpenSSH\ssh.exe'是你电脑上的ssh.exe路径,Windows用户一般都是这个 ``` 注意:以上配置中的xx.xxx.xx.xxx是跳板机的IP地址,JumpMachine是跳板机的名称,xx.xxx.xxx.xxx是目标服务器的IP地址,TargetMachine是目标服务器的名称\[2\]。 5. 保存配置文件后,你可以使用快捷键Ctrl+Shift+P呼出控制面板,然后搜索"remote ssh",选择第一个"Connect to Host",然后选择你配置的跳板机和目标服务器进行连接\[1\]。 这样,你就可以在VS Code中通过SSH连接跳板机了。希望对你有帮助! #### 引用[.reference_title] - *1* *2* [vscode通过跳板机连接远程服务器(亲测可用)](https://blog.csdn.net/qq_45717425/article/details/127624723)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vscode配置跳板机简明教程](https://blog.csdn.net/raelum/article/details/131333888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值