用squid做代理上网

本文介绍了一种通过配置squid代理服务器绕过办公网络限制的方法,实现msn、qq及gmail等服务的正常使用。文中详细记录了在RedhatAS4系统上安装与配置squid的具体步骤。

周海汉/文 2009.2.9 元宵节

因搬了办公室,网管对https,msn,qq等端口全部封禁,只留下80端口可以上网。其他的服务都需要申请,而申请不一定批。虽然可以用meebo.com的web方式来使用msn,还是不太方便。这给工作开展带来了麻烦。

考虑到我们机房有机器可以直接连到外网,因此我们采用squid配置了代理,成功绕过办公网的网关,让msn,qq,gmail服务都可以使用。

squid代理服务器一般的Unix,Linux都自带。我使用的是Redhat AS4自带的squid。

打开/etc/squid/squid.conf

配置

$vi /etc/squid/squid.conf

#http_port ,是代理的端口,如果没有其他的http服务占用80端口或8080,可以配置这两个端口,比较好记。我配的是8086。缺省端口是3128

http_port 8086

#设置cache 内存大小为1G,我的服务器内存为4G。

cache_mem 1000 MB

#设置cache_dir 地址,第一个数字参数不能小于cache_mem设置的大小,否则会出警告“WARNING cache_mem is larger than total disk cache space!”,所以设为1000。16,256表示第一级和第二级目录。设置完了需用 squid -z来使cache目录生效。

cache_dir ufs /var/spool/squid 1000 16 256

#设置允许所有人访问,缺省是禁止任何人使用代理。报错:“The requested URL could not be retrieved While trying to retrieve the URL: ...”

http_access allow all

#设置 visible_hostname ,否则会报错:“FATAL: Could not determine fully qualified hostname.” Please set 'visible_hostname'

visible_hostname zhhproxy

#其他的用缺省值,保存。

$squid -z

Creating Swap Directories

$squid -NCd1

在前台运行,便于调试。调试完成直接执行squid让其以精灵进程运行。

看到打印Ready to serve requests.就准备好了。

在IE7的工具->Internet 选项里连接页,点击“局域网设置”按钮,选中“为LAN使用代理服务器”,配置地址为运行squid的IP,端口为刚配置的8086,确定。

输入http://news.sohu.com测试OK。

其他浏览器类似配置。

live messenger 9可以自动使用IE的代理配置,IE可以上网时,msn也就可以了。

QQ 2008可以在系统配置里的代理页,选中“使用浏览器的网络配置”,也可以正常登录。

Kubernetes (K8s) 配置 Squid 上网代理通常涉及安装Squid容器,并在Kubernetes的服务发现机制下配置网络策略,以便集群内的Pod能够通过代理访问互联网。以下是基本步骤: 1. **部署Squid容器**: - 创建一个Docker镜像,包含Squid服务器和所需的配置文件。例如,你可以基于官方的Squid Dockerfile构建。 - 将该Docker镜像推送到你的私有仓库或公共Registry。 2. **创建Squid Deployment或StatefulSet**: 使用Kubernetes的Deployment YAML文件定义Squid服务,指定镜像、副本数、资源需求等。例如: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: squid-deployment spec: replicas: 1 selector: matchLabels: app: squid template: metadata: labels: app: squid spec: containers: - name: squid-container image: your-squid-image ports: - containerPort: 3128 ``` 如果需要持久化存储,可以使用StatefulSet替换Deployment。 3. **配置网络规则**: - 使用Kubernetes的NetworkPolicy来控制流量流向代理。允许特定的源Pod连接到Squid服务,如: ```yaml apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-to-squid spec: podSelector: matchLabels: app: squid-client policyTypes: - Ingress ingress: - from: - podSelector: matchLabels: app: squid-client ports: - protocol: TCP port: 80 ``` 这样,带有`app: squid-client`标签的Pod将能通过Squid访问外部网络。 4. **验证代理设置**: 创建一个依赖于Squid代理的应用(比如,标记为`app: squid-client`),然后测试其能否正常通过代理访问互联网。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值