HTTP代理相关知识
透明代理:也叫普通代理,它不但改变了我们的请求信息,还会传送真实的IP地址。从:HTTP_X_FORWARDED_FOR 等代理信息可以查到我们IP地址!
匿名代理:普通匿名代理,它能隐藏客户机的真实IP,但会改变我们的请求信息。它不传送正式ip,但是可能会发送HTTP_VIA、 HTTP_PROXY_CONNECTION 信息,还是可以通过这些判断出使用了代理!
高级匿名代理:不改变客户机的请求,这样在服务器看来就像有个真正的客户浏览器在访问它,这时客户的真实IP是隐藏的,服务器端不会认为我们使用了代理!
HTTP通道:http代理服务器支持Connect请求,这类代理服务器基本可以代理所有软件,如:QQ,FoxMail,FTP等等,不支持通道的HTTP代理,基本上只支持简单的Http GET,POST等请求服务!
SOCKS代理知识
SOCKS5:常见SOCKS代理有Socks4,socks5,不过目前基本上以socks5代理为主,它基本支持所有客户端请求协议,Http,Ftp,Smtp等,可以具备高级匿名代理隐藏功能!
核心技术原理
一条ADSL一个vlan,和服务器相连的端口做trunk。为什么要一条adsl一个vlan?因为南京电信会对每个adsl账号做mac地址限制,一个mac地址只能拨两个号,这也是为什么当多个adsl同时拨号时只有两条adsl可用。
linux服务器上创建和adsl的vlan ID相同的虚拟接口。为什么要在linux创建vlan虚接口?实现和adsl的隔离,减少相互干扰,每条adsl彼此独立,而且如果用子网卡的话,不能修改mac地址,即使修改成功,所有的子网卡和主网卡的mac也是一致的,不能满足多条adsl同时拨号的的要求,故必须采用vlan虚接口。
接光纤的网卡采用子网卡挂多个公网ip
linux服务器采用源地址路由技术。为什么?squid的tcp_outgoing_address只支持ip地址,不支持设备名(如ppp0、eth0),且adsl拨号获得的ip也会变化,故需要给vlan子接口配置私有固定ip,通过源地址路由绑定出口adsl。
通过squid的账号进行出口ip选择tcp_outgoing_address
vlan交换机配置(省略)
准备工作
开始之前
操作系统版本:Ceontos6.5 X64
网卡接入:eth0(内网IP 10.10.10.248 ) eth1:adsl拨号
添加静态路由后,删除eth0默认网关(10.10.10.250)
安装squid、pppoe组件
yum -y install squid *pppoe* |
ADSL帐号密码、相应vlan id、虚拟网卡地址等(以下以铁通adsl为例)
| id | account | pasword | vlan_id | virtual_mac | virtual_ip | port | ppp |
|---|---|---|---|---|---|---|---|
| 1 | z68237300 | 68237300 | 1001 | 78:2B:CB:24:63:01 | 192.168.101.2 | 3000 | ppp0 |
| 2 | z68237301 | 68237301 | 1002 | 78:2B:CB:24:63:02 | 192.168.102.2 | 3001 | ppp1 |
配置虚拟网卡及对应VLAN配置(以eth1.1001为例)
modprobe 8021q |
配置ifcfg-eth1.1001网卡文件(配置虚拟IP地址、DEVICE设备名称)

ip link set dev eth1.1001 address 78:2B:CB:24:63:01(设置虚拟MAC地址) |

pppoe配置(修改配置文件/etc/ppp/pap-secrets,添加帐号密码等信息)

新增配置文件/etc/sysconfig/network-scripts/ifcfg-ppp0(按需修改红色部分)
USERCTL=yes |

修改/etc/sysconfig/network-scripts/route-ppp0

策略路由及NAT
ip rule add from 192.168.101.2 lookup 1001 |
启动squid
cp /etc/squid/squid.conf /etc/squid/squid_ppp0.conf |
修改如下3项http_port 3000
tcp_outgoing_address 192.168.101.2
pid_filename /var/run/squid_ppp0.pid
启动squid
/usr/sbin/squid -f /etc/squid/squid_ppp0.conf
备注:最后重复完成剩余线路配置!
代理检测网站
- http://www.stilllistener.com/checkpoint1/Java/
- http://web.chacuo.net/netproxycheck
- http://www.ip181.com/
Squid代理设置高匿
未设置前(X_FORWARDED_FOR HTTP_VIA暴露客户端及代理服务器信息,容易被封杀)

设置后#高匿设置(Centos6.7 squid-3.1.23-16.el6_8.6.x86_64)
request_header_access Via deny all
request_header_access X-Forwarded-For deny all
#高匿设置(Centos5.5 squid-2.6.STABLE21-7.el5_10)
via off
forwarded_for off
