开启辅助访问      

站内搜索

搜索
热搜: 下载 1.19 1.20

Minecraft(我的世界)苦力怕论坛

[JE教程] 高阶腐竹技术教程 使用HAProxy创建节点保护母机服务器

发表于 2023-6-12 14:33:59 | 显示全部楼层 |阅读模式 IP:美国
本教程仅适合TCP(Java版服务器)
用处:如果你的母鸡没有任何防御,并且正在遭受L4攻击 本教程将帮到你很多
如果你的服务器本身没有任何保护,并且可能被攻击关机,此教程会帮助你很多
适合Bungeecord 任何子版本/Velocity
节点仅适用Linux,跑Minecraft的服务器可以为Windows/Linux
1. 节点设置
2. Bungeecord/Velocity设置
3. 防火墙保护(仅节点IP可访问端口)

节点设置


1. SSH登陆进入服务器并且执行安装HAProxy
Centos
  1. sudo yum -y install haproxy
复制代码
Ubuntu/Debian等等
  1. apt-get install haproxy
复制代码


2. 修改HAProxy配置并开启Proxy-Protocol(用于Bungeecord/Velocity获取玩家IP)
  1. vim /etc/haproxy/haproxy.cfg
复制代码
翻到最下面并注释下面一切(或者删掉)
  1. #---------------------------------------------------------------------
  2. # main frontend which proxys to the backends
  3. #---------------------------------------------------------------------
  4. #frontend  main *:5000
  5. #    acl url_static       path_beg       -i /static /images /javascript /stylesheets
  6. #    acl url_static       path_end       -i .jpg .gif .png .css .js
  7. #
  8. #    use_backend static          if url_static
  9. #    default_backend             app

  10. #---------------------------------------------------------------------
  11. # static backend for serving up images, stylesheets and such
  12. #---------------------------------------------------------------------
  13. #backend static
  14. #    balance     roundrobin
  15. #    server      static 127.0.0.1:4331 check

  16. #---------------------------------------------------------------------
  17. # round robin balancing between the various backends
  18. #---------------------------------------------------------------------
  19. #backend app
  20. #    balance     roundrobin
  21. #    server  app1 127.0.0.1:5001 check
  22. #    server  app2 127.0.0.1:5002 check
  23. #    server  app3 127.0.0.1:5003 check
  24. #    server  app4 127.0.0.1:5004 check
复制代码
注释完成后在最后一行加上
  1. listen minecraft
  2.         bind *:25565
  3.         mode tcp
  4.         timeout connect 10s
  5.         timeout client 1m
  6.         timeout server 1m
  7.         balance leastconn
  8.         option tcp-check
  9.         server minecraft {服务器IP地址:端口号(不包含{})} check-send-proxy check send-proxy-v2
复制代码
范例:
  1. listen minecraft
  2. bind *:25565
  3. mode tcp
  4. timeout connect 10s
  5. timeout client 1m
  6. timeout server 1m
  7. balance leastconn
  8. option tcp-check
  9. server minecraft 223.233.233.322:25565 check-send-proxy check send-proxy-v2
复制代码
修改完成配置文件保存并重启HAProxy
  1. :wq
  2. service haproxy restart
复制代码
检查HAProxy是否开起来
  1. service haproxy status
复制代码


3. 修改节点防火墙开启监听端口
注意:这里范例是25565端口,请按照你设置的HAProxy监听端口设置,具体在配置文件里是bind *:25565这一行
这里用firewalld做例子
  1. #打开firewalld配置文件
复制代码
在最下面</zone>之前加一行
  1. <port protocol="tcp" port="25565"/>
复制代码
退出文件并重启firewalld后查看firewalld是否正常运行
  1. :wq
  2. service firewalld restart
  3. service firewalld status
复制代码


Bungeecord/Velocity设置
注意:修改为true后Bungeecord只接受来自HAProxy的请求,通过IP直接访问服务器会出现错误
修改配置:
BC
进入Bungeecord运行文件夹并打开Config.yml
找到proxy_protocol并修改为true
Velocity
进入Velocity运行文件夹并打开velocity.toml
找到haproxy-protocol并修改为true

保护IP:
这里以Linux为例
  1. #打开firewalld配置文件
  2. vim /etc/firewalld/zones/trusted.xml
复制代码
在</zone>前面添加
  1. <source address="你的节点IP"/>
复制代码
可以添加多行如果你有多个节点
添加完毕重启防火墙即可
  1. service firewalld restart
复制代码


这样就完事儿了! 你的节点就创建成功了,所有攻击流量都会打到节点机器,如果节点出问题母鸡不会断网/关机等等。
如果节点有问题直接DNS把问题节点去掉即可 并且除了节点机器,其他机器都无法访问到母鸡服务器,最大程度上的保证了母鸡的安全
苦力怕论坛,感谢有您~
回复

使用道具 举报

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

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供云服务 | GMT+8, 2024-5-8 09:06

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号