4DNAT 实战指南:实现灵活的网络流量转发

一、简介

  4DNAT 名称来源于“4”和“DNAT”(目标地址转换)。该工具工作在 OSI 模型的第四层(传输层),同时“4”与“for”谐音,寓意“专为目标地址转换服务”。
4DNAT 使用 Go 语言开发,具备天然的跨平台特性,完全基于 Go 标准库实现,无任何第三方依赖,编译后仅为单个可执行文件。

项目地址:https://github.com/dushixiang/4dnat

二、使用方法
1. 转发模式(Forward)

在指定监听端口接收请求,并自动转发至目标地址。

语法:

./4dnat -forward <监听端口> <目标地址:端口>
示例:
./4dnat -forward 3389 192.168.1.162:3389
  • 将本地3389端口的流量转发至内网主机 192.168.1.162:3389
  • 外网用户访问 115.**.**.2:3389 即可连接到内网服务
 

2. 监听模式(Listen)

在两个本地端口之间建立双向数据交换通道。

语法:

./4dnat -listen <端口1> <端口2>
示例:
./4dnat -listen 10000 10001
  • 在端口10000和10001之间建立数据转发通道
  • 适用于端口映射或本地服务间通信桥接
 
3. 代理人模式(Agent)

主动连接两个目标地址,并在它们之间建立双向数据流。

语法:

./4dnat -agent <目标地址1:端口> <目标地址2:端口>
示例:
./4dnat -agent 127.0.0.1:10000 127.0.0.1:22
  • 连接本地10000端口和22端口(SSH服务)
  • 适用于服务间中继或端口桥接
 
4. HTTP/HTTPS 代理模式(Proxy)

提供 HTTP 或 HTTPS 代理服务,支持正向代理功能。

语法:

./4dnat -proxy http <监听端口>
./4dnat -proxy https <监听端口> <证书路径> <私钥路径>   
示例:
./4dnat -proxy http 1080  # HTTP 代理
./4dnat -proxy https 1080 server.crt server.key  # HTTPS 代理(需证书)
三、总结

  4DNAT 是一款轻量级、跨平台的端口转发与代理工具,适用于内网穿透、服务映射、代理转发等多种场景。无需安装依赖,一键启动,适合运维、开发和测试使用。如果有新的模式或功能更新,请参考项目 GitHub 页面获取最新信息。