我们在 TP-Link 路由器上设置了阻止服务以阻止 HTTP 协议。但是,我们还想将 HTTP 上的特定站点列入白名单。
我怎样才能做到这一点?
答案1
您在 OSI 模型的哪一层“阻止” HTTP?
如果你在传输层 (TCP/UDP) 阻止它,那么端口 80 被阻止,那么你已经阻止了所有流量从端口 80 出去,所以您无法将其收回,同时又不能使用白名单来减少限制。
大多数白名单位于会议或者应用层,并执行诸如将某些域名而不是 IP 列入白名单之类的操作,因为 IP 更加脆弱(远程站点可能会决定更改 IP 地址,而其域名保持不变)。
很可能,您用来阻止端口 80 的软件位于传输层,因此您需要使用某种东西在更高层进行阻止,而使用原始 TP-Link 固件则有可能实现,也有可能不实现(这取决于您使用的路由器的具体型号)。
您可能需要设置强制 HTTP 代理,方法是阻止来自 LAN 上所有主机的所有 HTTP(S) 流量(除了您放在 DMZ 中的一个盒子),并打开一个代理,如果请求与白名单匹配,该代理将代理请求。您可以使用 Linux 和 Squid 来实现这一点。如果您不知道如何做到这一点,请不要在 SU 上再问这个问题;先在互联网上搜索。那里已经有成百上千的指南了。