前言
在日常生活中使用的服务器大多是Linux系统,但也有很多情况不得不使用windows系统。例如这个软件只能在windows上运行,手抖了买错了,等等。
Windows对服务器这块的软件,资源,社区等等,都不是很好。简单说,你遇到问题了,又没导师,社区人又少,基本就无法解决。所以还是用linux系统。
多年前一个新服务器入手后,先得搭建环境,几乎得小半天,这个过程很是困扰。目前市面上大致有海外版的宝塔面板和1Panel 面板做的不错,推荐使用1Panel。
条件
从外网可以访问的Windows系统
vmware workstation 17 Pro
网络连接方式为桥接
在Windows服务器上的合理安装方式,请自行百度。
Linux系统
新手用Ubuntu系统,社区人多。
centos系统省电,更新少,稳定,社区人也有一些。
服务器性能强的,只是玩玩就选Ubuntu系统
稳定的环境
稳点的电源
至少稳定的100Mps上传带宽
最好有个域名(非必要,ip+端口亦可访问)
申请好SSL证书
netsh
Windows使用软件为netsh
netsh命令是一个Windows操作系统中的命令行工具,用于配置和管理网络设置。它可以用于配置网络接口、防火墙、路由表、DNS设置等。通过netsh命令,用户可以在命令行界面下执行各种网络相关的操作,从而使网络配置更加灵活和可定制化。用户可以使用netsh命令来查看当前网络配置、修改网络设置、创建和删除网络策略等。netsh命令的使用需要管理员权限。
netsh命令有许多常用的子命令,以下是接下来使用的命令及其功能的详细解释:
netsh interface portproxy show all
1. "netsh"是netsh命令行工具的名称。
2. "interface"指定了要操作的网络接口相关的命令。
3. "portproxy"是用于配置和管理端口代理的子命令。
4. "show all"表示显示所有当前配置的端口代理规则。
当你运行"netsh interface portproxy show all"命令时,它会列出所有已配置的端口代理规则的详细信息,包括本地监听地址、本地监听端口、远程目标地址和远程目标端口。
例如,命令的输出可能如下所示:
```
Listen on ipv4: Connect to ipv6:
地址 端口 地址 端口
-------------------- ------- --------------------- ------
127.0.0.1 80 ::1 8080
192.168.0.1 443 fd00::1 8443
```
上述输出表示有两个端口代理规则已经配置。第一个规则将本地的IPv4地址127.0.0.1的端口80映射到远程的IPv6地址::1的端口8080。第二个规则将本地的IPv4地址192.168.0.1的端口443映射到远程的IPv6地址fd00::1的端口8443。
netsh interface portproxy add v4tov4 listenaddress=192.168.11.14 listenport=22 connectaddress=192.168.11.36 connectport=22
用于添加一个基于IPv4的端口代理规则。以下是对该命令的详细解释:
1. "add"表示要添加一个新的端口代理规则。
2. "v4tov4"表示这是一个从IPv4到IPv4的端口代理规则,即监听IPv4地址并将连接转发到另一个IPv4地址。
3. "listenaddress=192.168.11.14"指定了要监听的本地IPv4地址为192.168.11.14,这是代理服务器接收连接的地址。
4. "listenport=22"指定了要监听的本地端口为22,这是代理服务器监听的端口号。
5. "connectaddress=192.168.11.36"指定了要转发连接到的远程IPv4地址为192.168.11.36,即目标服务器的地址。
6. "connectport=22"指定了要转发连接到的远程端口为22,即目标服务器上的目标端口号。
在此示例中,这个规则将监听本地IPv4地址192.168.11.14的端口22,并将连接转发到远程IPv4地址192.168.11.36的端口22。
netsh interface portproxy delete v4tov4 listenaddress=192.168.11.14 listenport=22
用于删除一个基于IPv4的端口代理规则。以下是对该命令的详细解释:
1. "delete"表示要删除一个现有的端口代理规则。
2. "v4tov4"表示这是一个从IPv4到IPv4的端口代理规则。
3. "listenaddress=192.168.11.14"指定了要删除的代理规则的监听本地IPv4地址为192.168.11.14。
4. "listenport=22"指定了要删除的代理规则的监听本地端口为22。
在此示例中,这个命令将删除监听本地IPv4地址192.168.11.14的端口22的代理规则。
原理
通过netsh命令
将一台可以在公网访问的Windows服务器
的端口映射到vmware workstation 17 Pro的Linux系统的指定端口
方法
讲述从外网访问内网IP地址为192.168.11.36的linux系统的22号端口方法
使用管理员权限打开Windows的Windows PowerShell软件
netsh interface portproxy add v4tov4 listenport=22 connectaddress=192.168.11.36 connectport=22
netsh interface portproxy show all
确认结果
侦听 ipv4: 连接到 ipv4:
地址 端口 地址 端口
--------------- ---------- --------------- ----------
* 22 192.168.11.36 22
netsh interface portproxy delete v4tov4 listenport=22
不需要时删除
效果,可以从Windows PowerShell直接输入自身内网ip:22访问
ssh xxx@内网Ip:22
也可以从外网直接访问
ssh xxx@Windows服务器外网Ip:22
以上为ssh服务使用方法
同理重复1-2步骤,可以添加
38103端口的1Panel面板
7800端口的宝塔面板
8090的Halo
8080的onlyoffice
80 443的网络服务器
反向代理
等等。