当前位置:首页 > 电脑技术

Debian 12 端口转发实现方法

一往无前3个月前 (01-19)电脑技术570

Debian 端口转发实现方法

  1. 安装 socat:

    sudo apt update
    sudo apt install socat
  2. 创建 systemd 服务实现永久生效:

    sudo nano /etc/systemd/system/port-forward.service

添加以下内容:

[Unit]
Description=Port Forwarding Service
After=network.target

[Service]
ExecStart=/usr/bin/socat TCP-LISTEN:28066,fork,reuseaddr TCP:127.0.0.1:3306
Restart=always

[Install]
WantedBy=multi-user.target

启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable port-forward.service
sudo systemctl start port-forward.service

Systemd 服务文件详解

[Unit] 部分

这部分定义了服务的元数据和依赖关系:

  • Description=Port Forwarding Service
    服务的描述文本,用于在 systemctl status 等命令中显示,帮助管理员识别服务用途。

  • After=network.target
    指定该服务在网络服务完全启动之后才启动。这对于端口转发服务至关重要,因为如果网络尚未准备好,端口监听将失败。

[Service] 部分

这部分定义了服务的实际行为:

  • ExecStart=/usr/bin/socat TCP-LISTEN:28066,fork,reuseaddr TCP:127.0.0.1:3306
    服务启动时执行的命令:

    • /usr/bin/socat:socat 程序的完整路径
    • TCP-LISTEN:28066:在本地监听 28066 端口
    • fork:为每个新连接创建一个新进程,允许多个连接同时处理
    • reuseaddr:允许重用本地地址,服务重启时避免”地址已在使用”错误
    • TCP:127.0.0.1:3306:将接收到的连接转发到本地的 3306 端口(通常是 MySQL 服务)
  • Restart=always
    定义服务异常终止时的重启策略。always 表示无论服务以何种方式退出(正常或异常),systemd 都会自动重启它,确保服务持续运行。

[Install] 部分

这部分定义了服务如何被启用:

  • WantedBy=multi-user.target
    指定服务属于哪个系统目标(target)。multi-user.target 是标准的多用户命令行模式。当您运行 sudo systemctl enable port-forward.service 命令时,systemd 会创建一个符号链接,使该服务在系统启动进入多用户模式时自动启动。

额外说明

这是一个基本配置。根据实际需求,您可能需要添加更多参数,例如:

[Service]
User=nobody  # 以特定用户身份运行,提高安全性
Group=nogroup
PermissionsStartOnly=true  # 仅在启动时应用权限
StandardOutput=journal  # 将输出发送到systemd日志
StandardError=journal

这种配置方式比一次性命令(如直接运行 socat)更可靠,因为它:

  1. 服务崩溃时自动重启
  2. 系统重启后自动生效
  3. 可以通过标准 systemd 命令(如 systemctl status port-forward)管理
  4. 集成到系统日志中,便于故障排查

通过 systemctl enable port-forward.service 启用后,该服务会随系统启动,持久化地提供端口转发功能。

相关文章

在Debian 12上使用socat进行端口转发

在Debian 12上使用socat进行端口转发

在Debian 12上使用socat进行端口转发socat是一个强大的网络工具,可以建立两个双向数据流通道,常用于端口转发、协议转换等场景。下面是在Debian 12上配置socat进行端口转发的详细…

三心两意讲故事法:让你的故事自带吸引力

三心两意讲故事法:让你的故事自带吸引力

在演讲和表达中,如何让故事深入人心?柳婉琴老师的 “三心两意讲故事法” 提供了一个高效模板,帮助你用清晰的逻辑和情感打动听众。 一、三心两意讲故事法的核心框架 初心明确你为什么做这件事,故事的起点和动…

叙事破局:如何用电影解说的「技术流」讲好日常故事?

叙事破局:如何用电影解说的「技术流」讲好日常故事?

你是否遇到过这种情况:明明经历了一件有趣的事,讲给朋友听却像白开水一样平淡?而别人讲同样普通的小事,却能让全场哈哈大笑、听得入迷。差距不在故事本身,而在于叙事能力。 一、电影解说:叙事技术的「最佳训练…

赞美夺权

赞美夺权

视频核心观点围绕“阶差性僵化”展开,提出通过“赞美夺权”实现心理翻盘。结合心理学原理与实用技巧,其方法论具有较强说服力,具体可分为三点: 一、现象洞察:社交中的「能量差陷阱」 视频指出,当面对外貌、财…

如何拥有良好的社交

如何拥有良好的社交

拥有良好的社交能力并非必须成为“社交达人”,而是找到让自己舒服、也让别人舒服的互动方式。这更像是一种可以通过练习提升的“肌肉”,而不是天赋。以下是一些分阶段的实用建议,希望能给你一些启发: 第一阶段:…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。