小编dry*_*ygu的帖子

Netty - 如何抵御 DDOS?

我使用 netty 4.1 作为 MMORPG 游戏的 NIO 套接字服务器。它多年来一直运行良好,但最近我们遭受了 DDOS 攻击。我为此奋斗了很长时间,但目前,我对如何改进它没有更多的想法。Ddoser 正在通过来自世界各地数千个 IP 的新连接发送垃圾邮件。在网络层面上很难切断它,因为攻击看起来与普通玩家非常相似。与 HTTP 服务器上的攻击相比,攻击并不是很大,但足以使我们的游戏崩溃。

我如何使用netty:

public void startServer() {

    bossGroup = new NioEventLoopGroup(1);
    workerGroup = new NioEventLoopGroup();

    try {
        int timeout = (Settings.SOCKET_TIMEOUT*1000);
        bootstrap = new ServerBootstrap();

        int bufferSize = 65536;
        bootstrap.group(bossGroup, workerGroup)
                .channel(NioServerSocketChannel.class)
                .childOption(ChannelOption.SO_KEEPALIVE, true)
                .childOption(ChannelOption.SO_TIMEOUT, timeout)
                .childOption(ChannelOption.SO_RCVBUF, bufferSize)
                .childOption(ChannelOption.SO_SNDBUF, bufferSize)
                .handler(new LoggingHandler(LogLevel.INFO))
                .childHandler(new CustomInitalizer(sslCtx));


        ChannelFuture bind = bootstrap.bind(DrServerAdmin.port);
        bossChannel = bind.sync();

    } catch (InterruptedException e) {
        e.printStackTrace();
    } finally {
        bossGroup.shutdownGracefully();
        workerGroup.shutdownGracefully();
    }
}
Run Code Online (Sandbox Code Playgroud)

初始化器:

public class …
Run Code Online (Sandbox Code Playgroud)

java sockets ddos game-development netty

5
推荐指数
1
解决办法
1237
查看次数

标签 统计

ddos ×1

game-development ×1

java ×1

netty ×1

sockets ×1