OPNsense如何做LoadBalance接入后端的Kubernetes Nginx Ingress --- Relayd篇

新托管了一个机房服务器,基本全用开源软件来构建:

那Firewall就用的OPNsense,后端自建Kubernetes,那OPNsense需要当作一个LoadBalance来使用

结构图如下,证书是放在了Nginx ingres上:

image-20251014091045980

那方法有很多,各有利弊,先说第一个,relayd的做法

relayd是最早的OPNsense的插件,用来做负载均衡,安装这个plugin插件

配置如下:

General Settings:

由于虚机的cpu是4个,所以进程设置成4

image-20251014091310004

Backend Hosts:

后端节点有4个,只写IP即可

image-20251014091420120

Table Checks:

端口检查,因为是直通,所以就设置成TCP检查即可

image-20251014091530055

Tables:

Hosts选中4个节点

image-20251014091611417

Virtual Server:

80和443各有一个

image-20251014091724429

每个呢,设置好前面的监听地址和端口,后端的Table 服务器和Table check的协议,就ok了

image-20251014091927383

最后去 General Settings 选中 Enable Relayd,然后save,就可以了

image-20251014092113972

这么多贴图,是因为如果从CLI配置,其实就一个很简单的relayd.conf文本文件

但是从GUI,就一大堆,而且生成的东西简直不知所云

这样做relayd就相当于一个直通的LoadBalance,把流量送入后端的Nginx ingress所开的NodePort。

这样就可用了。

这样有个弊端,Nginx的ingress拿不到客户端的真实IP,X-forwarded-for无法传过来真的客户端IP,网上查文档是可以的,但是从GUI配了半天,也不知道怎么配,服了也是。


Seaweedfs的s3进阶试用方法
OPNsense如何做LoadBalance接入后端的Kubernetes Nginx Ingress --- Caddy篇
comments powered by Disqus