有时候需要在一个操作系统管理一堆文件,这些文件随时可能搬到另外的一个系统去,这时候最好使用虚拟磁盘方式,到时候只需要拷贝这个虚拟磁盘文件到另外一个系统挂在即可。
创建虚拟磁盘:

创建一个文本文件:C:\Work\vd_mount.txt
select vdisk file=C:\Work\My_WORK.vhdx
attach vdisk
exit
创建一个定时任务,触发事件为计算机启动。


有时候需要在一个操作系统管理一堆文件,这些文件随时可能搬到另外的一个系统去,这时候最好使用虚拟磁盘方式,到时候只需要拷贝这个虚拟磁盘文件到另外一个系统挂在即可。
创建虚拟磁盘:

创建一个文本文件:C:\Work\vd_mount.txt
select vdisk file=C:\Work\My_WORK.vhdx
attach vdisk
exit
创建一个定时任务,触发事件为计算机启动。


-L 和 -RSSH 隧道支持两种主要方向的端口转发:本地转发(-L)和 远程转发(-R)。两者的功能和限制略有不同,以下分别详细介绍其语法、各部分含义及使用限制。
-L:本地转发-L 用于将本地端口上的请求转发到远程主机上的指定端口。
bash复制代码ssh -L [bind_address:]local_port:target_host:target_port user@ssh_server
bind_address(可选):127.0.0.1,表示仅允许本地主机访问。0.0.0.0,允许其他主机通过网络访问本地监听的端口。127.0.0.1:仅本地访问。0.0.0.0:所有网络接口都可以访问。local_port:target_host:ssh_server 所能访问的内部网络地址,也可以是 localhost(相对于 ssh_server 而言)。target_port:user@ssh_server:ssh_server 是隧道的中继服务器,通过它将请求从本地传输到目标主机。bind_address 是 127.0.0.1,隧道只能在本地访问,其他主机无法访问。local_port 不应被其他服务占用,否则会失败。target_host)必须是 ssh_server 可访问的主机。8080 端口的流量转发到 ssh_server 上的 localhost:3306(MySQL 端口):bash复制代码ssh -L 8080:localhost:3306 user@ssh_server
0.0.0.0:8080 绑定为公网可访问,转发到远程 192.168.1.10:80:bash复制代码ssh -L 0.0.0.0:8080:192.168.1.10:80 user@ssh_server
-R:远程转发-R 用于将远程主机上的端口请求转发到本地主机上的指定端口。
bash复制代码ssh -R [bind_address:]remote_port:target_host:target_port user@ssh_server
bind_address(可选):127.0.0.1,表示只能在 SSH 服务器上本地访问该端口。0.0.0.0,允许其他主机通过网络访问 SSH 服务器的这个端口。remote_port:target_host:target_port:user@ssh_server:remote_port,并将流量转发回本地。bind_address 是 127.0.0.1,远程端口只能由 ssh_server 本机访问,外部无法访问。remote_port)需要公网访问,则 ssh_server 必须允许 GatewayPorts。ssh_server 的 /etc/ssh/sshd_config 中需要设置:plaintext复制代码GatewayPorts yes
remote_port 不应被其他服务占用,否则会失败。ssh_server 的 9000 端口转发到本地 localhost:8080:bash复制代码ssh -R 9000:localhost:8080 user@ssh_server
ssh_server 的 0.0.0.0:9000 绑定为公网可访问,转发到本地 192.168.1.10:22:bash复制代码ssh -R 0.0.0.0:9000:192.168.1.10:22 user@ssh_server
| 特性 | -L(本地转发) | -R(远程转发) |
|---|---|---|
| 隧道监听端口的位置 | 本地主机监听端口 | SSH 服务器监听端口 |
| 隧道目标 | 远程主机上的目标端口 | 本地主机上的目标端口 |
| 常用场景 | – 访问内网服务 – 数据库连接隧道 | – 暴露本地服务 – P2P 数据传输 |
| 绑定公网限制 | – 本地可设置 0.0.0.0(开放所有接口) | – 必须在 SSH 服务器中启用 GatewayPorts |
| 默认监听范围 | 127.0.0.1(本地回环接口) | 127.0.0.1(远程回环接口) |
GatewayPorts 是否启用。/etc/ssh/sshd_config 中设置:plaintext复制代码GatewayPorts yes
sudo systemctl restart sshd
sudo ss -tuln | grep <port>
通过合理设置 -L 和 -R,你可以根据需求选择本地转发或远程转发,灵活实现内外网服务的桥接。