luckygood logo

日本高防服务器总掉线怎么办?7个内核参数一次调到位

StrataServer

日本高防服务器动不动就断线,先别急着骂机房。十有八九不是DDoS打死的,是机器自己没撑住——要么是BGP在那抽风撤回路由,要么是内核的nf_conntrack表被慢连接塞爆,还有清洗中心回包慢搞得TCP窗口乱缩。

蹲了东京机房12年,这种事见太多了。客户一上来说"又被攻击了",抓包一看全是自家机器在闹脾气。下面直接拆7个一线排障命令,把内核参数改对、NTT的peer选对、回包延迟压到15毫秒内。要看更多日本高防服务器的实战坑,接着往下翻。

为什么日本高防总掉线

先把锅分清楚,别动不动就喊加带宽。日本高防掉线90%是这三种路子:

  • BGP flap:日本小机房peer不稳定,路由一会儿撤一会儿宣告,业务秒断
  • conntrack表溢了:长连接、慢连接把表占满,新连接直接丢包
  • 清洗延迟炸了:流量绕去第三方清洗中心再回来,回包慢20ms以上,TCP重传一堆

别嫌烦,这几个坑我踩过不止一次。机器没死,是路由撤了——这种掉线最恶心,监控全绿,业务已经挂了。

普通搭法和调参后差异

普通日本高防调参后
BGP peer本地小ISP,AS_PATH经常变NTT/IIJ直连,path稳定
nf_conntrack上限默认65536拉到2097152
清洗回包延迟25-40ms压到15ms内
SYN cookie没开打开,防慢速SYN

差距就在这几个数。改完跑一周,SYN cookie扛住慢速攻击,路由也不抽风了。

这些场景别用日本高防

说句掏心窝的,日本高防不是万金油。下面这些场景,用了就是给自己找罪受:

  • 纯国内用户访问:绕一圈日本再回来,延迟直接+40ms,用户等不及
  • HFT高频交易:几毫秒都敏感,日本清洗那15ms延迟能要你命
  • 音视频实时互动:延迟一高就卡顿,用户体验直接崩
  • 对大陆CN2回程要求高:日本高防大多是NTT/IIJ出去,回程不一定走CN2

排障命令放这了,直接拿去跑(别嫌烦,这行代码救过命):

# 拉高conntrack表上限
sysctl -w net.netfilter.nf_conntrack_max=2097152
echo 2097152 > /sys/module/nf_conntrack/parameters/hashsize

抓SYN包看是不是慢速攻击

tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0' -c 100

看BGP session有没有在抖

vtysh -c "show ip bgp summary" | grep -i flap

把这几个数改对、peer选对,日本高防就稳了。要是还不稳,八成是清洗中心那边有问题,让机房换家清洗试试。某些机房给的peer表看了想打人,这种直接换机房别磨叽。

关于作者:林炜,东京IDC一线运维12年,专门伺候中日跨境机房的脾气。早年扛过某跨境游戏集群三次大规模SYN攻击,靠改内核参数续命。现在主要盯日本节点的BGP稳定性和清洗链路调参。

机器老掉线别光骂机房,先跑那几条命令看看。内核参数改对、peer选对,业务立马稳。还搞不定直接开单让机房调清洗中心。

常见问题解答

01 日本高防掉线时怎么判断是被DDoS打死还是BGP路由在抖?

直接vtysh看BGP summary,看uptime有没有频繁重置。同时抓包看是不是大量SYN进来——BGP抖的时候进出流量都正常,就是路由在那撤回再宣告。

02 nf_conntrack表满了应急怎么处理?

先sysctl -w把nf_conntrack_max拉到2097152,再echo同样数进hashsize文件。然后cat /proc/sys/net/netfilter/nf_conntrack_count看当前占用,超80%就排查哪来的慢连接在占表。

03 清洗中心回包慢怎么验证是不是它的问题?

在清洗前后分别跑ping和tcping,对比RTT。清洗后RTT比清洗前高15ms以上,且抖动(jitter)大,就是清洗链路拉胯。让机房换本地清洗节点或换家清洗中心。

04 日本高防的BGP peer怎么选才稳?

认准NTT(AS2914)、IIJ(AS2497)、KDDI(AS2516)这三家Tier-1。看机房给的peer列表,如果都是本地小ISP的AS号,直接换机房。小ISP路径一变就flap。