前置条件:

有公网ip(我是ipv6);

有域名,并且已经用lucky完成DDNS动态域名绑定、ssl(开启https)、反向代理,见:飞牛lucky配置ipv6 ddns+ssl+反向代理_lucky ipv6-CSDN博客

主路由:ikuai

需求:

完成反向代理后,外网仍能通过公网ip+端口号的方式扫到服务器设备。于是在ikuai软路由中加入ACL防火墙规则,阻断所有入站的请求,只放行反代一个端口,提高安全性。

网络拓扑

我的ikuai目前是跑在飞牛的虚拟机上,硬件直通了pcie网口,目前稳定性还可以。ikuai下边lan口接一个路由器,路由器设置成ap模式,只负责无线接入,不具备路由功能。家中所有设备通过ap入网,包括飞牛物理机本身也是,简化网路结构。

配置ikuai ACL规则

ACL规则在“安全设置”-“ACL规则”中配置。

点击“添加”, 先配置一个规则,阻断所有的外网ipv6访问:

协议栈:用v6的就选v6.

进接口就是路由的wan口;

出接口,你家中的设备是通过哪个lan口接入的就填哪个,如果有多个lan口,那就都选上。

其他的按图中填,点击保存。

再配置一个接口,允许特定的端口放行,我的话,因为我的反代统一设置的端口是16789,所以我只放行这个端口就可以了。

ikuai中的反代设置,通过二级子域名区分不同的服务,而端口号全使用一个,实现了内部服务端口隐藏的作用。

ACL中添加个规则,放行16789端口即可:

协议:tcp,即只放行tcp类型的通信,动作是允许。

因为放行的目的地址是指向lucky反代地址的16789端口,而ipv6的公网地址的总是变化的,因此就匹配后缀不变化的。

ip地址你就看你lucky所在的服务器的ipv6地址即可,我的lucky跑在飞牛上,所以我就匹配飞牛的ipv6地址的后缀。

把目的地址的后缀匹配勾选上,

匹配内容:

一般会有三个地址,前两个是公网的,第三个是内网的,只看两个公网的就行。

假如服务器的ipv6地址是:

2001:0db8:85a3:0000:4864:adf:6235:c6b1
2001:0db8:85a3:0000:::2f6

就这样写匹配:

::4864:adf:6235:c6b1/::ffff:ffff:ffff:ffff
::2f6/::fff

我用下来,发现那个长的地址后缀可能也会变,但是短的那个一般不变。所以即便长的变了,用短的也能匹配上。

都配置完后,点击启用就可以了。

再实验看下,没问题的话除了反代的16789端口放行,用ip+其他端口就都不通了。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐