单linux服务器同时拨多条ADSL和挂多个固定公网ip通过squid实现代理池方案

发布时间:2016-12-9 0:23:15 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"单linux服务器同时拨多条ADSL和挂多个固定公网ip通过squid实现代理池方案",主要涉及到单linux服务器同时拨多条ADSL和挂多个固定公网ip通过squid实现代理池方案方面的内容,对于单linux服务器同时拨多条ADSL和挂多个固定公网ip通过squid实现代理池方案感兴趣的同学可以参考一下。

一、背景: 大数据时代,谁拥有数据谁才能有未来,很多互联网公司本身并不产生数据,怎么办?抓数据,对抓数据,所以在目前巨大的网络流量中有相当一部分是爬虫流量,如搜索引擎蜘蛛、抓取电商网站的商品数据的爬虫等。如本文开始所述,数据即未来,有数据的凭什么让你抓,所以会对用户访问做一些访问频次限制,超过设定就拉黑(如封ip、封特定user agent、封url等),但这也只是做频次限制而已,并没有完全封死,因为封死意味着正常用户也无法访问。本文所要解决的问题就是在ip被封后如何快速简单的切换ip、按需更换ip。 二、在用方案图展示: 三、硬件需求: 1、支持vlan的2层交换机,比如24口的最多可以接23条adsl猫 2、配置一般的linux服务器,最好千兆网卡,最好3块网卡(理论上一块网卡也可以,为避免相互影响,容错,使网络结构清晰,采用3块千兆网卡) 3、普通内网交换机,这个都有吧 四、核心技术原理: 1、一条ADSL一个vlan,和服务器相连的端口做trunk。为什么要一条adsl一个vlan?因为联通、电信等运营商会对每个adsl账号做mac地址限制,一个mac地址只能拨一个号,这也是为什么当2个以上的adsl同时拨号时只有一条adsl可用。 2、linux服务器上创建和adsl的vlan ID相同的虚拟接口。为什么要在linux创建vlan虚接口?实现和adsl的隔离,减少相互干扰,每条ad彼此独立,而且如果用子网卡的话,不能修改mac地址,即使修改成功,所有的子网卡和主网卡的mac也是一致的,不能满足多条adsl同时拨号的的要求,故必须采用vlan虚接口。 3、接光纤的网卡采用子网卡挂多个公网ip 4、linux服务器采用源地址路由技术。为什么?squid的tcp_outgoing_address只支持ip地址,不支持设备名(如ppp0、eth0),且adsl拨号获得的ip也会变化,故需要给vlan子接口配置私有固定ip,通过源地址路由绑定出口adsl。 5、通过squid的账号进行出口ip选择tcp_outgoing_address 参考http://blog.csdn.net/xuyaqun/article/details/9623635 五、配置 1、vlan交换机配置:略   端口与vlan ID的对应关系:port1-->vlan 101,port2-->vlan 102 .....,port23-->vlan 123,port24-->Trunk 2、linux配置 动态配置vlan虚接口,需与vlan交换机上的vlan ID对应: modprobe 8021q vconfig add eth0 101  ip link set dev eth0.101 address 00:40:50:60:70:11 ifconfig -s eth0.101 10.1.1.1 broadcast 10.1.1.0 netmask 255.255.255.0 up vconfig add eth0 102  ip link set dev eth0.102 address 00:40:50:60:70:12 ifconfig -s eth0.102 10.1.2.1 broadcast 10.1.2.0 netmask 255.255.255.0 up 或者写配置文件: 开机加载vlan模块: echo "modprobe 8021q">>/etc/rc.local  创建vlan接口配置文件: # more /etc/sysconfig/network-scripts/ifcfg-eth1.101 DEVICE=eth1.101 VLAN=yes BOOTPROTO=none ONBOOT=yes HWADDR=00:50:56:BA:1D:00 TYPE=Ethernet NETMASK=255.255.255.0 IPADDR=192.168.101.1 查看vlan虚接口 cat  /proc/net/vlan/config cat  /proc/net/vlan/eth0.101 cat /proc/net/dev    3、ADSL拨号配置 ADSL账号配置文件: # more /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client        server  secret                  IP addresses "root"  *       "123456" "u1"    *       "123456" "u2"    *       "123456" ADSL接口配置文件(注意红色部分): # more /etc/sysconfig/network-scripts/ifcfg-ppp1 USERCTL=yes BOOTPROTO=dialup NAME=DSLppp1 DEVICE=ppp1 TYPE=xDSL ONBOOT=no PIDFILE=/var/run/pppoe-adsl-ppp1.pid FIREWALL=NONE PING=. PPPOE_TIMEOUT=80 LCP_FAILURE=3 LCP_INTERVAL=20 CLAMPMSS=1412 CONNECT_POLL=6 CONNECT_TIMEOUT=60 DEFROUTE=no SYNCHRONOUS=no ETH=eth0:1 PROVIDER=DSLppp1 USER=u2 PEERDNS=no DEMAND=no ADSL拨号/挂断: ifup/ifdown ppp0 adsl-start/adsl-stop /etc/sysconfig/network-scripts/ifcfg-ppp0 查看adsl拨号状态 ifconfig pppoe-status /etc/sysconfig/network-scripts/ifcfg-ppp0 4、子网卡配置:略 子网卡配置效果: eth1:163  Link encap:Ethernet  HWaddr 00:0A:F7:0F:4A:E8             inet addr:8.8.148.163  Bcast:8.8.148.175  Mask:255.255.255.0           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 eth1:164  Link encap:Ethernet  HWaddr 00:0A:F7:0F:4A:E8             inet addr:8.8.148.164  Bcast:8.8.148.175  Mask:255.255.255.0           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 eth1:165  Link encap:Ethernet  HWaddr 00:0A:F7:0F:4A:E8             inet addr:8.8.148.165  Bcast:8.8.148.175  Mask:255.255.255.0           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 5、ADSL源地址路由配置: 只需要对和adsl链路一一对应的vlan接口ip地址做源地址路由 iptables -t nat -A POSTROUTING -s 10.0.1.1/255.255.255.255 -o ppp0 -j MASQUERADE  ip rule add from 10.0.1.1 lookup 5   ip route add default dev ppp0 table 5   iptables -t nat -A POSTROUTING -s 10.0.2.1/255.255.255.255 -o ppp1 -j MASQUERADE  ip rule add from 10.0.2.1 lookup 6   ip route add default dev ppp1 table 6   6、squid配置:略,参见http://blog.csdn.net/xuyaqun/article/details/9623635 六、测试各网络接口是否正常: 通过ping指定设备名或者接口ip地址测试 ping -I eth0 8.8.8.8 ping -I ppp0 8.8.8.8 ping -I ppp1 8.8.8.8 ping -I 8.8.245.163 8.8.8.8 或者 通过traceroute指定设备名测试 traceroute -i eth0 8.8.8.8 traceroute -i ppp0 8.8.8.8 traceroute -i ppp1 8.8.8.8 七、所有配置完成后,使用效果截图: 八、对代理池进行监控报警 cacti监控效果截图: nagios监控效果截图: 参考连接: http://www.junxiwang.com/forum.php?mod=viewthread&tid=76 http://www.itxbo.com/network/860.html http://www.imjune.com/cuier/240.html http://os.51cto.com/art/200712/62152_all.htm  

上一篇:cocos2d-x 坐标研究
下一篇:Loadrunner多服务器连接问题

相关文章

相关评论