Squid代理配置与广告拦截全攻略
立即解锁
发布时间: 2025-09-10 00:39:35 阅读量: 10 订阅数: 9 AIGC 


小型网络安全实战指南
# Squid代理配置与广告拦截全攻略
## 1. Squid代理基础配置
在配置Squid代理时,若遇到问题,可使用如下命令验证配置文件:
```bash
$ squid -k parse
```
示例输出如下:
```
2024/05/06 00:44:06| Processing: acl denylist dstdomain
.twitter.com
2024/05/06 00:44:06| Processing: http_deny denylist
2024/05/06
00:44:06|
/etc/squid/squid.conf:1406
unrecognized: 'http_deny'
2024/05/06 00:44:06| Processing: anonymize_headers deny
From Referer Server
2024/05/06
00:44:06|
/etc/squid/squid.conf:1408
unrecognized: 'anonymize_headers'
2024/05/06 00:44:06| Processing: anonymize_headers deny
User-Agent WWW-Authenticate
2024/05/06
00:44:06|
/etc/squid/squid.conf:1409
unrecognized: 'anonymize_headers'
2024/05/06 00:44:06| Processing: http_access allow localnet
```
此输出表明使用了未被识别的指令 `http_deny` 和 `anonymize_headers`。解决配置错误后,使用以下命令启动Squid:
```bash
$ sudo systemctl start squid
```
至此,Squid代理的基础配置完成。
### 1.1 不同设备使用Squid的配置
不同操作系统的设备使用Squid代理的配置步骤如下:
#### Windows
1. 打开Windows设置对话框。
2. 在“查找设置”框中搜索“代理设置”。
3. 在代理窗口中打开“使用代理服务器”开关。
4. 输入代理服务器的IP地址和端口,例如 `192.168.1.50:3128`。
5. 勾选“对本地(内部网络)地址不使用代理服务器”复选框。
#### macOS
1. 打开“系统偏好设置”。
2. 选择“网络”并选中无线或以太网适配器。
3. 点击“高级” -> “代理”。
4. 勾选“网页代理(HTTP)”,输入代理服务器的IP地址和端口号,例如 `192.168.1.50:3128`,对之前在 `/etc/squid/squid.conf` 文件中配置的每个协议都进行此操作。
5. 在“绕过代理设置的主机和域”框中输入本地网络。
6. 点击“确定”,然后点击“应用”。
#### Linux
1. 打开Linux终端的设置对话框。
2. 转到“网络” -> “网络代理”设置。
3. 将代理设置为“手动”,并输入HTTP代理的IP地址和端口号,例如 `192.168.1.50:3128`。
4. 确保在“忽略的主机”框中输入本地网络,然后关闭所有打开的设置窗口。
### 1.2 测试Squid
Squid服务器和至少一台设备配置完成后,需确保设备确实在使用代理,且代理按预期工作。在Squid服务器上,使用以下命令查看Squid代理日志文件:
```bash
$ sudo tail -f /var/log/squid/access.log
```
示例输出如下:
```
1619747519.519 54 172.16.90.1 TCP_TUNNEL/200 39 CONNECT
play.google.com:443 - HIER_DIRECT/172.217.25.174 -
1619747519.755 54 172.16.90.1 TCP_TUNNEL/200 39 CONNECT
mail.google.com:443 - HIER_DIRECT/216.58.200.101 -
1619747519.776 55 172.16.90.1 TCP_TUNNEL/200 39 CONNECT
mail.google.com:443 - HIER_DIRECT/216.58.200.101 -
1619747520.190 161 172.16.90.1 TCP_MISS/200 985 GET
```
若没有输出(且主机无法浏览互联网),需更新 `iptables` 或其他防火墙规则,允许端口3128(或配置Squid监听的端口)上与Squid代理之间的流量。
当 `tail` 命令运行时,从配置为使用代理服务器的主机浏览Facebook,日志中应显示对Facebook服务的多个请求:
```
1584414232.470 3 192.168.1.51 NONE/503 0 CONNECT
pixel.facebook.com:443 - HIER_NONE/- -
1584414237.647 0 192.168.1.51 NONE/503 0 CONNECT
pixel.facebook.com:443 - HIER_NONE/- -
1584414242.652 0 192.168.1.51 NONE/503 0 CONNECT
pixel.facebook.com:443 - HIER_NONE/- -
1584414247.864
69023
192.168.1.51
TCP_TUNNEL/200
6426
CONNECT
static.xx.fbcdn.net:443
-
HIER_DIRECT/157.240.8.23 -
1584414248.566 0 192.168.1.51 NONE/503 0 CONNECT
pixel.facebook.com:443 - HIER_NONE/- -
1584414254.535 0 192.168.1.51 NONE/503 0 CONNECT
pixel.facebook.com:443 - HIER_NONE/- -
```
若未显示,可尝试重启代理服务器、主机或两者。
### 1.3 阻止和允许域名
代理正常工作后,可能
0
0
复制全文
相关推荐








