创建linux端口映射连接小网

发布于:2025-07-17 ⋅ 阅读:(19) ⋅ 点赞:(0)

🚀 方法 1:在执行机上配置 SSH 服务端转发

这个做法是在 执行机上配置一个常驻 SSH 隧道,把大网的某个端口长期转发到小网单板的 22 端口。

👨‍💻 操作步骤

1️⃣ 在执行机上创建一个 systemd 服务

假设:

  • 单板 IP:192.168.1.10
  • 单板 SSH 端口:22
  • 执行机开放端口:2222(这个是外网访问用的端口)

在执行机上编辑一个 systemd unit:

sudo nano /etc/systemd/system/soc-board-tunnel.service

内容:

[Unit]
Description=SOC Board SSH Tunnel
After=network.target

[Service]
User=youruser         # 执行机登录用户
ExecStart=/usr/bin/ssh -N -L 0.0.0.0:2222:192.168.1.10:22 youruser@localhost
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

2️⃣ 启用并启动

sudo systemctl daemon-reload
sudo systemctl enable soc-board-tunnel
sudo systemctl start soc-board-tunnel

3️⃣ 检查状态

sudo systemctl status soc-board-tunnel

4️⃣ 在 MobaXterm 连接

  • Host: 执行机IP
  • Port: 2222
  • Username: 单板用户名

💡 现在每次拖文件/SSH,MobaXterm 都会直接访问 SOC 单板。


🔥 方法 2:在执行机 sshd 里配置 “GatewayPorts”

如果你愿意修改执行机的 SSH 配置,可以让执行机的 sshd 自动充当跳板

👨‍💻 操作步骤

1️⃣ 修改 /etc/ssh/sshd_config

GatewayPorts yes
AllowTcpForwarding yes

2️⃣ 重启 sshd

sudo systemctl restart sshd

3️⃣ 执行一次持久转发(后台运行)

nohup ssh -N -R 0.0.0.0:2222:192.168.1.10:22 youruser@localhost &

4️⃣ 永久化
把上面的命令加到 ~/.bashrc 或 crontab:

@reboot ssh -N -R 0.0.0.0:2222:192.168.1.10:22 youruser@localhost

💡 这样每次执行机重启后都会自动打开映射。


🏆 推荐:systemd 服务

  • 稳定:执行机重启也自动恢复
  • 安全:只映射指定端口
  • 不改 sshd 配置

如果你有多个单板,也可以配多份 soc-board-tunnel.service,每个监听不同端口(比如 2222、2223)。



网站公告

今日签到

点亮在社区的每一天
去签到