squid-正向代理
似乎私有 IP 可以随意分配, 是自己可控的. 只有公网 IP 才是由别人分配的.
三个上网的条件:
- IP
- Gateway
- DNS
内网中的主机若是想用一台外网的具有公网 IP 的主机作为正向代理服务器, 需要先搭 VPN 实现内网穿透.
配置网卡
Ubuntu 的路径为 /etc/netplan/
目录下, docker 容器中无此路径.
CentOS 的路径为 /etc/sysconfig/network-scripts/
目录下.
需要测试是否能够上网, 代理服务器是需要连网的.
安装 squid
Ubuntu 下可直接:
1 |
|
配置
配置文件位于 /etc/squid/squid.conf
.
重启服务 systemctl restart squid
.
配置文件
Ubuntu 中位于 1188 行.
配置文件中命令 acl
的含义是 Access Control List. 其用来在服务器端设定特定的上网策略, 哪些用户能上网, 能访问什么网站, 能下载什么文件等等对用户的上网行为进行约束和管理.
ACL 由多个策略规则组成, 它可以根据指定的策略规则来允许或限制访问请求, 匹配顺序由上至下. 一旦形成匹配, 则立即执行相应操作并结束匹配过程.
示例
可以用 acl
创建变量:
1 |
|
这里命名了一个 allow_user
的变量, 地址范围为 192.168.10.1-192.168.10.50.
访问控制:
1 |
|
允许 allow_user
规定的用户进行 http 访问, 拒绝其他链接的访问.
配置客户端的正向代理
不同客户端的配置不同.
通过 netstat -ntpl
查看 squid 开启的默认端口, 也可通过查看其配置文件.
通用配置, 指定内网网卡的地址, 以及 squid 的端口.
Squid 访问控制
用 docker 和 squid 搭建正向代理
需要开放 3128
端口.
squid-正向代理
http://example.com/2022/10/16/squid-正向代理/