Linux NAT 转发性能不如意? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xivisi
V2EX    路由器

Linux NAT 转发性能不如意?

  •  
  •   xivisi 2018-10-19 09:41:45 +08:00 8698 次点击
    这是一个创建于 2599 天前的主题,其中的信息可能已经有所发展或是发生改变。

    搞了一套 NAS,DQ77KB+E3-1265LV2+8G*2, 软件用 gentoo+zfs+samba+mininlda+kodi ……。 得益于 linux 的扩展性,也没有虚拟机那样耗资源,本着不浪费资源的想法,顺便把 软路由功能做上去。 但是,发现配出来的软路由,性能不咋的

    比如,内网一台 PC,通过 gentoo 去 ping 一个外网地址需要 66ms,而通过华硕路由器 ping 同一个地址,才 50ms …… 这也差太多了………… 请问怎么优化???

    19 条回复    2018-10-19 22:21:09 +08:00
    liwl
        1
    liwl  
       2018-10-19 09:47:10 +08:00
    架构不一样...通用集成电路和专用集成电路
    greenskinmonster
        2
    greenskinmonster  
       2018-10-19 10:12:38 +08:00
    是 ip forward 吗?好几台 gentoo 的服务器做转发,没发现这个问题。
    xivisi
        3
    xivisi  
    OP
       2018-10-19 10:13:37 +08:00
    @greenskinmonster 可以请教怎么配置的吗?
    xivisi
        4
    xivisi  
    OP
       2018-10-19 10:15:28 +08:00
    @greenskinmonster 有参考链接也可以,我的基础配置是按照官方 wiki 上面的 home router 配置的
    greenskinmonster
        5
    greenskinmonster  
       2018-10-19 10:25:25 +08:00
    按照 wiki 来没问题,主要就是下面几条

    sysctl.conf:
    net.ipv4.ip_forward = 1
    net.ipv4.conf.default.rp_filter = 1

    iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE

    不行的话,换下内核版本,tcpdump 抓包试试看
    xivisi
        6
    xivisi  
    OP
       2018-10-19 10:29:33 +08:00
    @greenskinmonster 我目前是功能正常,但是性能不行。
    因为我要做 QoS,所以把内核中的 Qos 配置全开
    其它:filter 也全开了,默认使用 bbr
    ryd994
        7
    ryd994  
       2018-10-19 10:35:13 +08:00 via Android   1
    已知 IP 的情况下,不要用 MASQUERADE 而应该用 SNAT,性能略好
    好的硬件 nat 吊打软件 nat 是很正常的事
    用 PC 做软路由的优势在于,硬件 nat 有一部分处理不了的,还是要靠软件。这时候 x86 就比路由器的 arm soc 强太多了。
    延迟方面还是有办法的。比如关闭节能设置,尽量保持高主频。使用低延迟内核。有必要的话也可以上 dpdk 这类。你肯下功夫的话,优化的空间还是很大的。
    greenskinmonster
        8
    greenskinmonster  
       2018-10-19 10:35:53 +08:00   1
    你一项一项排除呗
    在 gentoo 网关直接 ping 目标延迟情况
    不开 qos 时,客户机 ping 目标延迟情况
    看看问题出在哪里

    这个级别的 cpu,感觉性能足够
    xuhaoyangx
        9
    xuhaoyangx  
       2018-10-19 10:56:01 +08:00   1
    表示 nas 用 esxi。freenass +直通 HBA 卡+zfs ;软路由 lede x64 做分流+fq,ikuai 做流控; Windows 虚拟机一天跑渲染压制; Centos 一台跑常规任务
    xenme
        10
    xenme  
       2018-10-19 11:01:29 +08:00 via iPhone
    随意软 nat,加上广告过滤延迟基本都是 1ms 内差异。
    xivisi
        11
    xivisi  
    OP
       2018-10-19 11:37:23 +08:00
    @xenme ESXI 虚拟 ROS 6.42 ( PPPoE,NAT 基础配置),也比华硕路由器多 7ms,不确定是虚拟系统造成的,还是因为华硕路由内置硬件转发
    xivisi
        12
    xivisi  
    OP
       2018-10-19 11:38:45 +08:00
    @greenskinmonster
    在 gentoo 网关直接 ping 目标延迟 60 ms
    测试时,没开 QoS
    xuhaoyangx
        13
    xuhaoyangx  
       2018-10-19 11:44:24 +08:00
    @xivisi #11 有可能是硬件导致的。以前遇到过,换了一块山寨四口 intel 的网卡,期初觉得没发现什么。到后期网卡不太稳定了,咬牙上了个正品,发现延迟比以前小
    denghongcai
        14
    denghongcai  
       2018-10-19 12:18:13 +08:00
    都直接插 wan 口再试试

    这都差了个位数毫秒了,只有可能是玄学问题(配置 /硬件)
    topbandit
        15
    topbandit  
       2018-10-19 12:32:40 +08:00
    我司生产环境用 nat
    0987363
        16
    0987363  
       2018-10-19 12:49:00 +08:00 via Android
    软路由再差也不会差 10 多 ms,估计哪里配置不对或者硬件或者驱动问题
    ryd994
        17
    ryd994  
       2018-10-19 16:07:22 +08:00 via Android
    @xivisi 虚拟机延迟高是必然的,因为是宿主机先接收再转发给虚拟机。就算是 macvtap 也有一部分需要宿主机内核参与。
    如果有 pcie 网卡的话试试 pci 直通,性能能达到物理机的水平
    carrionlee
        18
    carrionlee  
       2018-10-19 16:27:48 +08:00 via Android
    不如还是用硬路由,gentoo 做网关即可
    xivisi
        19
    xivisi  
    OP
       2018-10-19 22:21:09 +08:00
    感谢各位网友的热心帮助,目前已恢复。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3627 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3..8.5 26ms UTC 00:55 PVG 08:55 LAX 16:55 JFK 19:55
    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