标签:squid的服务器代理
实验前提:准备三台虚拟机,如果是在windows上安装的vmware 真实机也可以作为其中一台使用
squid服务器IP:192.168.4.103
WEB服务器IP :192.168.4.200
客户机IP :192.168.4.254
实验一:传统代理
squid服务器上操作
yum -y install squid
vim /etc/squid/squid.conf
visible_hostname squid.tarena.com
cache_dir ufs /var/spool/squid 100 16 256
iptables -t nat -I PREROUTING -i eth1 -s 192.168.4.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -nL 查看规则是否生效
web服务器上的操作
yum -y install httpd
service httpd start
chkconfig httpd on
echo helloword > /var/www/html/index.html
在客户机浏览器上配置代理
例如:火狐浏览器
选项--高级--链接设置--手动配置代理
输入:192.168.4.103
端口:3128
地址栏输入web服务器ip验证是否能访问
如果是在虚拟机上验证可以直接用命令
curl http://192.168.4.200 (web服务IP)
实验二:透明代理
给squid添加一个网卡 网卡IP设置为:172.16.0.1
web服务器添加一个网卡 IP设置为:172.16.0.2
#vim /etc/squid/squid.conf
http_access allow all
http_port 3128 transparent
网关设置转发 #iptables 语法格式
#iptables -t 表名 -I 链 条件 -J 结果
设置防火墙规则
#iptables -t nat -I PREROUTING -i eth1 -s 192.168.4.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128
查看防火墙规则
iptables -t nat -nL
设置网关 vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=192.168.4.103
客户机验证;curl http://172.16.0.2 【web服务器新添加的网卡IP】
实验三:反向代理
squid服务器上必须关闭httpd 否则端口冲突服务不能正常启动
srvice httpd stop
清空实验二的iptables规则
iptables -t nat -F
vim /etc/squid/squid.conf
http_port 80 vhost
cache_peer 172.16.0.2 parent 80 0 originserver
cache_peer 172.16.0.1 parent 80 0 originserver
service squid restart
客户机验证:
curl http://代理服务器IP地址
实验四:基于虚拟主机的代理
web服务器上的操作
vim /etc/httpd/conf/httpd.conf
#NameVirtualHost..*:80 删除该行的注释符号“#”
<VirtualHost *:80>
DocumentRoot /var/www/web1
ServerName www.baidu.com
<VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/web2
ServerName bbs.baidu.com
<VirtualHost>
分别在两个路径文件/var/www/web1 && /var/www/web2 下创建两个网站首页:web1 , web2 并给首页文件输入内容
mkdir /var/www/{web1,web2}
echo “www” > /var/www/web1/index.html
echo “bbs” > /var/www/web2/index.html
vim /etc/hosts
192.168.4.200 www.baidu.com bbs.baidu.com
修改squid配置文件
cache_peer 192.168.2.2 parent 80 0 originserver name=www
cache_peer 192.168.2.2 parent 80 0 originserver name=bbs
cache_peer_domain www www.tarena.com
cache_peer_domain bbs bbs.tarena.com
因为这里没有配置DNS服务 所以客户机上需要指定域名解析
vim /etc/hosts
192.168.4.103 www.baidu.com bbs.baidu.com
客户机验证:
[root@monitor ~]# curl http://www.baidu.com
www.baidu.com
[root@monitor ~]# curl http://bbs.baidu.com
bbs.baidu.com
注意:添加网卡第二个eth1时需要更改网卡在/etc/sysconfig/network-scripts/ifcfg-eth1的HWADDR与物理地址一致(本人是直接复制的ifcfg-eth0 所以曾在此处出错)重启network时提示找不到设备eth1
ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:0C:29:85:52:C6
[root@slave200 web2]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
HWADDR=00:0C:29:85:52:C6
本文出自 “12619984” 博客,请务必保留此出处http://12629984.blog.51cto.com/12619984/1913245
标签:squid的服务器代理
原文地址:http://12629984.blog.51cto.com/12619984/1913245