linux下squid代理应用

这里有三台服务器 

外网服务器 192.168.10.78 

squid服务器

192.168.10.98  网卡一  eth0

10.15.1.2          网卡二

内网服务器 10.15.1.3

一:squid服务搭建,这里省略,网上有很多教程(https://help.aliyun.com/knowledge_detail/41342.html),我已经搭建好,并且启动了服务。

两块网卡,设置完可能不能正常上网,要设置默认出口网卡

route add default gw 192.168.10.1 eth0

 

二:内网服务器设置代理上网

首先设置路由信息

route add default gw 10.15.1.2 eth0

export http_proxy=http://192.168.10.98:3128

curl www.baidu.com

linux下squid代理应用_第1张图片

可以成功上网了,是不是很嗨皮。

现在我们内网服务器只是可以上网了,但是还不能ping或者其他的服务.我们现在转发请求到squid服务器

在squid服务器上做设置:

echo "1" > /proc/sys/net/ipv4/ip_forward

/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE

iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 192.168.13.251 把来自代理服务器的dns转发到dns服务器

现在可以在内网服务器使用dns了

上面我们使用了squid作为正向代理服务器,让内网用户通过squid访问外网,下面我们来实现squid的反向代理。

首先我们在内网配置web服务,作为访问的目标.。

然后在squid的服务上设置http代理

# And finally deny all other access to this proxy
http_access allow all

# Squid normally listens to port 3128
#http_port 10.15.1.2:3128
http_port 0.0.0.0:3128 defaultsite=10.15.1.3 vhost vport=80
#cache_peer 192.168.1.3 parent 80 0 no-query originserver
cache_peer 10.15.1.3 parent 80 0 no-query originserver weight=1 name=a
cache_peer_domain a 10.15.1.3
cache_peer_access a allow all
重启squid服务

在外网客户端上访问192.168.10.98:3128

linux下squid代理应用_第2张图片

 

 

你可能感兴趣的:(工作笔记)