找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 59|回复: 9

使用Nftables 低成本高效率转发

[复制链接]

8

主题

51

回帖

194

积分

注册会员

积分
194
发表于 2020-2-11 20:55:38 | 显示全部楼层 |阅读模式
看到好几次流量转发的帖子, 2020年了, 闲着学习了一下Nftables,  基于包的策略, 理论转发效率要比应用层的软件 haproxy socat 之类的好N倍.


[ol]
  • #!/usr/sbin/nft -f
  • delete table ip nat
  • table ip nat {
  •    
  •         map port_to_ip {
  •                 type inet_service : ipv4_addr
  •                 elements = {
  •                       1000: 192.168.1.1  
  •            }
  •         }
  •         map port_to_port {
  •                 type inet_service : inet_service
  •                 elements = {
  •                       1000: 1000
  •            }
  •         }
  •         chain prerouting {
  •                 type nat hook prerouting priority 100; policy accept;
  •                 dnat to tcp dport map @port_to_ip:tcp dport map @port_to_port
  •                 dnat to udp dport map @port_to_ip:udp dport map @port_to_port
  •         }
  •         chain postrouting {
  •                 type nat hook postrouting priority 100; policy accept;
  •                 masquerade random,persistent
  •         }
  • }
  • [/ol]复制代码

    使用方法:

    1. 安装nftables
    2. 保存以上的code, 记得编辑 port_to_ip, port_to_port. 2个数据表为 转发端口对应目标节点, 转发端口对应目标端口.
    3. 加载 `nft -f xxx`


    特别提醒, 安装了docker机器慎用
  • 回复

    使用道具 举报

    56

    主题

    582

    回帖

    2181

    积分

    金牌会员

    积分
    2181
    发表于 2020-2-12 00:40:23 | 显示全部楼层
    习惯iptables
    回复

    使用道具 举报

    34

    主题

    400

    回帖

    1799

    积分

    金牌会员

    积分
    1799
    发表于 2020-2-11 21:24:07 | 显示全部楼层
    可以试试
    回复

    使用道具 举报

    87

    主题

    679

    回帖

    2374

    积分

    金牌会员

    积分
    2374
    发表于 2020-2-11 21:33:30 | 显示全部楼层
    haproxy 已经很好了吧 ,真这么吊?
    回复

    使用道具 举报

    8

    主题

    51

    回帖

    194

    积分

    注册会员

    积分
    194
     楼主| 发表于 2020-2-11 21:38:31 | 显示全部楼层

    why? 发表于 2020-2-11 21:33

    haproxy 已经很好了吧 ,真这么吊?

    理论理论. 不负责任理论盲说.

    不考虑缓存的话, 内核包处理还是比较快的吧.
    回复

    使用道具 举报

    31

    主题

    478

    回帖

    1712

    积分

    金牌会员

    积分
    1712
    发表于 2020-2-11 21:33:00 | 显示全部楼层
    某大神说,多数kernel都没有编译完整nftables的功能,需要自己编译。而且我个人不推荐使用yum安装,最好编译最新版本,yum安装的nftables会有缩进问题。其次,这玩意效率和haproxy还是很难比的,不过转发超过500Mbps的CPU占用相当低,是haproxy几十分之一
    回复

    使用道具 举报

    87

    主题

    679

    回帖

    2374

    积分

    金牌会员

    积分
    2374
    发表于 2020-2-11 21:45:35 | 显示全部楼层

    airski 发表于 2020-2-11 21:38

    理论理论. 不负责任理论盲说.

    不考虑缓存的话, 内核包处理还是比较快的吧. ...

    我纯小白瞎说,我记得好像说haproxy好像媲美硬件级设备的,改天试试
    回复

    使用道具 举报

    87

    主题

    679

    回帖

    2374

    积分

    金牌会员

    积分
    2374
    发表于 2020-2-11 21:46:12 | 显示全部楼层
    "

    真大佬
    回复

    使用道具 举报

    3

    主题

    131

    回帖

    383

    积分

    中级会员

    积分
    383
    发表于 2020-2-11 21:38:00 | 显示全部楼层
    mark
    回复

    使用道具 举报

    57

    主题

    82

    回帖

    559

    积分

    高级会员

    积分
    559
    发表于 2020-2-11 21:53:08 | 显示全部楼层
    iptables直接转行不行
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-11-18 03:19 , Processed in 0.067239 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表