我有一个覆盆子Pi,并使用它作为路由器。我想要建立一个包过滤网络,但我不知道如何实现这一点.
我所做的就是这样:
sudo iptables -w -N YOUTUBE
sudo iptables -w -A YOUTUBE -j REJECT
sudo iptables -w -I OUTPUT -p all -m string --string "youtube.com" --algo kmp -j YOUTUBE
sudo iptables -w -I FORWARD -p all -m string --string "youtube.com" --algo kmp -j YOUTUBE
sudo iptables -w -I OUTPUT -p all -m string --string "googlevideo.com" --algo kmp -j YOUTUBE
sudo iptables -w -I FORWARD -p all -m string --string "googlevideo.com" --algo kmp -j YOUTUBE
# ... (some other domains)这是过滤YouTube的一个例子。
当我以隐名模式打开浏览器并转向YouTube时,我的计算机无法到达它。它的行为正是我所期望的。
然而,当我在非隐名模式下尝试它时,它仍然可以访问YouTube,不管经过多长时间。
为什么会发生这种行为,我如何解决呢?
顺便说一句,我试着用Dnsmasq阻止YouTube,它成功了。但我现在要做的是将其限制在TCP/IP级别。
谢谢。
发布于 2022-09-29 10:35:39
最后我自己解决了。
字符串中的字母.似乎被转换为描述后续的持续字母数的数字。
我将前面的命令更新为下面的命令,它似乎运行得很好。
sudo iptables -w -I OUTPUT -p all -m string --hex-string "youtube|03|com" --algo bm -j YOUTUBE
sudo iptables -w -I FORWARD -p all -m string --hex-string "youtube|03|com" --algo bm -j YOUTUBE
sudo iptables -w -I OUTPUT -p all -m string --hex-string "googlevideo|03|com" --algo bm -j YOUTUBE
sudo iptables -w -I FORWARD -p all -m string --hex-string "googlevideo|03|com" --algo bm -j YOUTUBE不过,我仍然不知道为什么前一种模式在隐名模式下也能正常工作。
https://askubuntu.com/questions/1432668
复制相似问题