基于 nftables 和 Rust 的端口转发工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
arloor
V2EX    Linux

基于 nftables 和 Rust 的端口转发工具

  •  
  •   arloor 2023-01-17 16:58:54 +08:00 4387 次点击
    这是一个创建于 1046 天前的主题,其中的信息可能已经有所发展或是发生改变。

    虎年的最后几天,分享一下自己写的 nat 转发小工具,点击前往 Github 项目地址。主要用途是便捷地设置 nat 流量转发

    适用于 centos8 及以后的 redhat 系发行版和支持 nftables 的 debian 系 linux 发行版如 debian10

    一些特性

    1. 实现动态 nat:自动探测配置文件和目标域名 IP 的变化,除变更配置外无需任何手工介入
    2. 支持 IP 和域名
    3. 支持转发到本机其他端口( nat 重定向) [ 2023.1.17 更新]
    4. 以配置文件保存转发规则,可备份或迁移到其他机器
    5. 自动探测本机 ip
    6. 支持自定义本机 ip [ 2023.1.17 更新]
    7. 开机自启动
    8. 支持端口段
    9. 轻量,只依赖 rust 标准库

    纯兴趣驱动开发的一个项目,也是想用小东西来给 rust 练练手,有帮助的话辛苦点个 star 哈

    9 条回复    2023-01-19 12:36:15 +08:00
    huanxianghao
        1
    huanxianghao  
       2023-01-17 18:00:17 +08:00
    支持,就是不知道 nftables 能不能吃到 bbr 的加速
    LGA1150
        2
    LGA1150  
       2023-01-17 20:04:10 +08:00
    @huanxianghao 不能
    8675bc86
        3
    8675bc86  
       2023-01-17 22:56:38 +08:00
    好像没明白项目的目的。
    这几个 feature ,iptables 写几条就搞定了,更方便。
    arloor
        4
    arloor  
    OP
       2023-01-17 23:36:53 +08:00 via Android
    @8675bc86 就是不用写 iptables 规则了。最主要的 feature 是支持转发到域名,dns 解析变更时会自动更新 nftables 的规则。

    剩下都是一些易用性的优化了
    ericFork
        5
    ericFork  
       2023-01-18 05:09:27 +08:00
    我记得之前有个功能有点类似的 https://github.com/zhboner/realm 不过好像没有用到 nftables
    nobodyhere
        6
    nobodyhere  
       2023-01-18 15:45:22 +08:00
    tcp/ssl 场景,我用 nginx 的 steam + ssl 预读+sni 映射做第 4 层转发到目标域名端口,也比较稳定
    arloor
        7
    arloor  
    OP
       2023-01-18 16:01:14 +08:00 via Android
    @nobodyhere 是的,转发方案的方案还挺多的
    taikobo
        8
    taikobo  
       2023-01-19 12:35:15 +08:00
    方案的确太多了
    什么 haproxy ,iptables ,rinetd ,brook ,realm
    taikobo
        9
    taikobo  
       2023-01-19 12:36:15 +08:00
    之前个人不完全测试觉得 brook 性能最好
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     851 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:37 PVG 04:37 LAX 12:37 JFK 15:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86