请教如何规避大量的 udp 类的 DNS 查询连接保持? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
kn007
V2EX    Linux

请教如何规避大量的 udp 类的 DNS 查询连接保持?

 
  •   kn007
    kn007 2015-11-24 22:16:25 +08:00 4930 次点击
    这是一个创建于 3663 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教下大家,用 ss -anutp |grep :53 |wc -l 得到了 1050 个连接, ESTABLISHED 状态。

    其中 310 个是 Nginx ,剩余的都是 php-fpm 发起的。

    随便举例一条

    udp ESTAB 0 0 127.0.0.1:26076 8.8.8.8:53 users:(("nginx",4867,76))

    uptime 目前已有 100 天。

    Nginx 有反代 google , php 有 gethostbyname 与 gethostbynamel 。

    现有这个连接存在的时间为免太长,而且复用率多高是个问题,有无什么解决办法规避这个情况?

    谢谢!

    14 条回复    2015-11-25 17:25:07 +08:00
    wdlth
        1
    wdlth  
       2015-11-24 23:14:46 +08:00
    把 Google 加到 hosts 里面试试,减少查询。
    ncisoft
        2
    ncisoft  
       2015-11-25 04:33:27 +08:00 via Android
    udp 不是无连接的吗
    ryd994
        3
    ryd994  
       2015-11-25 06:39:31 +08:00 via Android
    你可以考虑装个 bind 或者 dnsmasq 来做缓存,/etc/resolv.conf 写 127.0.0.1
    注意只监听本地,否则就等着变成反射吧。
    kn007
        4
    kn007  
    OP
       2015-11-25 07:31:18 +08:00
    @wdlth Google 根本不知道是哪个 ip ,有些 ip 反代了,功能就没了。所以无法。如果能 ip ,我就用 varnish 反代了。。。

    @ncisoft 鬼知道,我也奇怪

    @ryd994 有这个想法,以前也弄过,不过后来因为 dns 更新不及时,又 pass 了
    datocp
        5
    datocp  
       2015-11-25 08:04:52 +08:00 via Android
    让 udp 快速消亡只能调整 timeout 吧,但这个 timeout 设置也不是越小越好,不然部分通讯会有问题。另外也有通过 limit 结合 reject 丢弃的,不过那种方法就会有抑制问题。目前 vps 上也是用 dnsmasq 用于 vpn 查询, drop 来自 wan 端的查询。
    修改 /etc/sysctl.conf
    net.netfilter.nf_conntrack_generic_timeout=600
    net.netfilter.nf_conntrack_udp_timeout=65
    net.netfilter.nf_conntrack_udp_timeout_stream=120
    net.netfilter.nf_conntrack_tcp_timeout_established=600
    net.netfilter.nf_conntrack_tcp_timeout_syn_sent=120
    net.netfilter.nf_conntrack_tcp_timeout_syn_recv=60
    net.netfilter.nf_conntrack_tcp_timeout_fin_wait=120
    net.netfilter.nf_conntrack_tcp_timeout_time_wait=120
    net.netfilter.nf_conntrack_tcp_timeout_close=10
    net.netfilter.nf_conntrack_tcp_timeout_close_wait=60
    net.netfilter.nf_conntrack_tcp_timeout_last_ack=30
    net.ipv4.tcp_fin_timeout=30
    net.ipv4.tcp_keepalive_time=120
    kn007
        6
    kn007  
    OP
       2015-11-25 08:22:49 +08:00
    @datocp 你这里面大部分都是 tcp 的。。。对 udp 有用么。。。

    看来还是要用 dnsmasq...
    kn007
        7
    kn007  
    OP
       2015-11-25 08:29:45 +08:00
    @datocp 我查看了下,默认 sysctl 已经定义好了这些值了
    ncisoft
        8
    ncisoft  
       2015-11-25 11:47:37 +08:00 via Android
    @kn007 据我以前的经验, udp 在实现了一次会话之后,是会出现 establish 状态的,这也不是什么大问题
    ncisoft
        9
    ncisoft  
       2015-11-25 11:49:54 +08:00 via Android
    @kn007 你机器为啥不用本地服务商提供的 DNS 呢,快得多,用 8888 干毛线
    kn007
        10
    kn007  
    OP
       2015-11-25 14:02:39 +08:00
    @ncisoft 我是美国 VPS 。。。直连 ping < 1ms
    我只是看到连接数过多,倒没觉得是大问题。
    kn007
        11
    kn007  
    OP
       2015-11-25 14:03:14 +08:00
    @ncisoft 再说了,无论我用哪个都会有长连接。。
    ryd994
        12
    ryd994  
       2015-11-25 15:30:08 +08:00
    @kn007 缓存时间可以调
    kn007
        13
    kn007  
    OP
       2015-11-25 16:08:39 +08:00 via Android
    @ryd994 额,你指什么? dnsmasq ?
    ncisoft
        14
    ncisoft  
       2015-11-25 17:25:07 +08:00 via Android
    @kn007 这种所谓的连接命都不长
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2412 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 15:52 PVG 23:52 LAX 07:52 JFK 10:52
    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