所以我的目标是只阻止某些 YouTube 频道。
如果我做:
acl block_youtube dstdomain .youtube.com
http_access deny block_youtube
Run Code Online (Sandbox Code Playgroud)
它会阻止对 youtube 的任何访问。
如果我做:
acl block_youtube url_regex -i ^https://www.youtube.com/watch\?v=v2AC41dglnM
http_access deny block_youtube
Run Code Online (Sandbox Code Playgroud)
它不会阻止该特定页面,即使我在 access_log 中看到这一点。
475862685.876 0 100.100.100.100 TAG_NONE/200 0 CONNECT www.youtube.com:443 - HIER_NONE/- -
1475862686.359 412 100.100.100.100 TCP_MISS/200 51182 GET https://www.youtube.com/watch\?v=v2AC41dglnM - HIER_DIRECT/216.58.192.238 application/json
Run Code Online (Sandbox Code Playgroud)
有人知道如何解决这个问题吗?
我不确定发生了什么,但我已经设置了一个带有 iptables 和 dhcpd 服务器的网关 debian 框。服务器将 IP 地址分发给客户端就好了,网关设置为 debian box,dns 设置为 ISP dns。现在我无法弄清楚为什么网络在客户端计算机上不起作用。该盒子被配置为 eth0 (192.168.0.1) 是内部 LAN,而 eth1 是 Internet 的外部。我也将 ip_forwarding 设置为 1。这是我从 iptables-save 命令的输出。如果有人可以提供帮助,请告诉我!
更新 1:我将规则重新定义为非常基本的规则,它仍然在发生......客户端上的 tracert 超时,无法在客户端上 ping google 但可以 ping 网关和其他客户端......并且 NET 可以正常工作路由器盒
更新 2:根据 Patricks 的建议,接受并仍然遇到相同的问题。
# Generated by iptables-save v1.4.8 on Mon Mar 5 20:46:23 2012
*mangle
:PREROUTING ACCEPT [8:608]
:INPUT ACCEPT [8:608]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:528]
:POSTROUTING ACCEPT [4:528]
COMMIT
# Completed on Mon Mar 5 20:46:23 2012
# Generated …Run Code Online (Sandbox Code Playgroud)