我正在运行 ASUS RT-AX88U-4168;路由器的 Web 管理员允许我配置阻止所有流量到某些网站的规则。我正尝试通过路由器命令行 [1] 重新创建相同的功能。
我可以在 iptables 中通过 Web 界面查看我配置的现有规则:
admin@RT-AX88U-4168:/tmp/home/root# iptables -L | grep HOST
REJECT tcp -- anywhere anywhere WEBSTR match url HOST.com reject-with tcp-reset
我思考我应该能够通过 iptables-save 检索用于创建此规则的命令行:
admin@RT-AX88U-4168:/tmp/home/root# iptables-save | grep HOST
-A FORWARD -p tcp -m webstr--webstr HOST.com -j REJECT --reject-with tcp-reset
但是,如果我尝试使用其他主机/网站重新创建该服务,我会收到投诉:
admin@RT-AX88U-4168:/tmp/home/root# iptables -A FORWARD -p tcp -m webstr--webstr NEWHOST.com -j REJECT --reject-with tcp-reset
iptables v1.4.12.2: Couldn't load match `webstr--webstr':No such file or directory
其他没有通过命令行的尝试:
admin@RT-AX88U-4168:/tmp/home/root# iptables -A FORWARD -p tcp -m webstr --webstr NEWHOST.com -j REJECT --reject-with tcp-reset
iptables v1.4.12.2: unknown option "--webstr"
此版本成功通过命令行,但在尝试从 NEWHOST.com 加载页面时似乎没有任何实际效果:
admin@RT-AX88U-4168:/tmp/home/root# iptables -A FORWARD -p tcp -m webstr --url NEWHOST.com -j REJECT --reject-with tcp-reset
我将非常感激任何正确的指示!
[1] 我的目标是创建基于时间的块;如果我可以通过 CLI 添加和删除块,那么我就可以有一个定期更新块的 cron 作业。