2009年4月24日星期五

在线代理zend2.com

或许你已经发现了。GO2没有以前好用了。更另人不愉快的是自从youtube被封,为节省流量,不少优秀在线代理屏蔽了中国IP(翻墙看youtube的人数不少)

一个简单的JavaScript跟踪代码便可检测出您的个人IP地址,您的电脑操作系统,使用的浏览器状况。优秀的代理服务器就是为您添加一个额外的保护层,保护自己的隐私是很有必要的。

zend2.com使用数据显示,自从youtube被封china使用率增加。浏览youtube很顺畅


其他观看youtube代理:

http://www.xhidenow.info/

http://www.bestsecureprox.info

http://www.httproxy.info/


图文综合在线代理

  1. http://proxy.org/
  2. http://www.freeproxies.org/
  3. http://centurian.org/
使用中比较稳当的在线代理。
  1. http://pimpmyip.org/
  2. http://www.prxy4.us/
  3. http://ninjacloak.com/
  4. http://www.beatfiltering.com/
  5. http://secretweb.info/
  6. http://www.wisehide.com/
  7. http://dtunnel.com/
  8. http://unblockglobal.com/

2009年4月23日星期四

被封时期在线看YouTube的可行性探讨


被封时期在线看YouTube的可行性探讨

一、实验目的

1、通过本实验了解YouTube是怎么被封的。

2、通过本实验掌握在线看YotTube的方法。

3、通过本实验理解突破封锁的思路。

二、实验原理

YouTube被封了,是怎么被封的呢?首先是封域名,凡是含.youtube.的网址都被封了;其次是封IP,凡是www.youtube.对应的IP都被封了。

怎么在线看呢?一般的方法是直接使用代理,不过代理总没有直连速度快,在线看视频总是有点卡,有什么办法可以高速在线看呢?

研究发现YouTube上的视频即没有在含.youtube.的网址上也没有在www.youtube.对应的IP上,而是在其它google的服务器上,而此服务器现在还没有被封,本实验正是利用这一点来实现在线高速看YouTube视频!

三、实验仪器

在线代理网〔https://mirrorrr.appspot.com/https://quick-proxy.appspot.com/〕、视频分析网〔http://keephd.com/http://kej.tw/flvretriever/http://feelingtea.com/〕、视频播放器〔KMPlayerSMPlayerGOM Player

四、实验步骤

1、复制网址

打开https://mirrorrr.appspot.com/输入http://www.youtube.com/?hl=zh-CN

点击go按钮进入YouTube网站,选择喜欢的视频打开后按图所示复制网址。(如果已知道所要看视频的网址则跳过此步)

2、分析地址

打开http://keephd.com/网站,如图所示粘贴第一步复制的地址到方框点击download开始解析地址,解析完成后得到flv,3gp,mp4格式的视频地址。(如果要下载视频直接点击链接即可,3gp,mp4视频格式可以在手机上观看)

3、在线观看

如图中所示复制网址,打开KMPlayer右键选择打开URL将复制的网址粘贴到方框点击打开稍等即开始播放。(SMPlayer效果比KMPlayer要好些)

五、注意事项

1、可使用其他速度比较快的代理来替换文中提到的代理,比如GappProxy等。

2、使用http://kej.tw/flvretriever/分析网址时要在网址前加http://把网址补充完整。

3、播放器最好用Windows Media Player可以通过安装终极解码使其支持flv解码。

六、结果讨论

1、你认为YouTube该不该被封?

2、有人说我国的网络审查既是劳民伤财又是自欺欺人的表现,结合此次实验谈谈你的看法! 注:互联网审查防火长城突破网络审查

原创文章,如需转载请注明出处,附上本文网址!文中方法仅供浏览YouTuBe,请勿用于非法用途!

貌似最近YouTube莫名地被封了,介绍几种翻墙看YouTube的方法!
一、TSP
TSP是Tor+SocksCap32+polipo组合包的缩写,是一套突破网络封锁保护公民隐私的工具,控制台运行后,在本机提供两个加密的代理服务器:http代理:127.0.0.1:8123? socks5代理:127.0.0.1:9050
1.新手使用:初次运行后,等待一段时间,看右上角会出现连接成功的提示。你就可以双击sockscap窗口中IE浏览器图标打开浏览器浏览任意网站了。记住:如果没有对浏览器设置代理,只有从sockscap窗口启动的IE浏览器才是加密的。使用多了以后会越来越快的。
2.速度比较快的方法(推荐使用):在某浏览器的代理设置选项中设置http代理:127.0.0.1 端口:8123 正常启动浏览器即可用了。这种方法浏览速度比较快。
怎么设置IE浏览器?点"开始"--"控制面板"--点开"Interent选项",里面点"连接"项,点开里面的"局域网设置",打勾"代理服务器",在地址里面填"127.0.0.1",在端口里面填"8123",下面打勾"跳过本地地址的代理服务器",按"确定"即设置好了。不用的时候,修改回去即可。
3.其它程序怎么通过此上网?
点"新建",里面浏览找到你需要的程序,按确定。此程序即出现在sockscap窗口中,双击sockscap窗口中的程序运行即可。
下载:www.namipan.com/d/fbcbfceb847c6e1ff77322127fc728aef4584d534c892300
二、GTunnel
打开软件等会就会弹出IE窗口等打开后输入YouTube的网址就可以了!其提供了四种模式,其中的Skype和GTalk模式很好用!GTalk模式,需要有GMail账号,运行GTunnel,然后在GTunnel选项对话框中输入GMail地址和密码,并测试是否能够连接,然后在GTunnel菜单中选择GTalk模式!http和socks5代理:127.0.0.1:8081
下载:www.namipan.com/d/482e50d3f824fbc817856f8eaced72bb677fab57995c0e00
三、UltraSurf
双击打开软件就可以用IE浏览YouTube了(此时不能用IE打开国内网站),高级点的用法就打开软件点击帮助查看吧!http代理:127.0.0.1:9666
下载:www.namipan.com/d/b8afa4f53bc18fecf2303db84a63e5841ea1abf7acff0500
四、Cproxy
软件运行后会自动设置IE代理,输入网址即可!http代理:127.0.0.1:3128? socks5代理:127.0.0.1:9000
下载:www.namipan.com/d/b2f26effd0e0211ce89d77107ee03f5d5d42b32e18ab0a00
五、Java Anon Proxy
打开软件连接到服务器后设置浏览器http代理为127.0.0.1:4001就可以了!
下载:http://anon.inf.tu-dresden.de/develop/JonDo_Portable.paf.exe
六、AnchorFree Hotspot Shield
一个很好的免费VPN,下载安装后打开软件,右键点击任务栏上的红色的盾牌图标,点击connect,然后程序会打开网页,自动连接,等待10多秒中过一会就好了,断开的话,就是右击绿色的盾牌,然后点击disconnect,vpn代理就断开了!(连接VPN后你的整个网络环境就成国外了)
下载:http://www.hotspotshield.com/download/hss-win/HSS-1.14-install-anchorfree-76-conduit.zip
七、Projectloki
一个不错的免费VPN,下载软件安装后重启电脑,打开软件登陆连接即可!
下载:http://www.projectloki.com/download/LokiVPNClientSetup.zip
八、Psiphon
发送标题为 Can I have psiphon2 Access 邮件到 english@sesawe.net,说明你来自中国,等待一段时间,会收到一封带有注册链接的邮件,进去设置密码就可以使用 Psiphon2 了。记住当前 IP 地址,就是你的在线代理服务器的地址了!
九、www.proxyliste.com
这个代理网站有上千个网页代理链接,一个个试吧,看哪个能在线看YouTube,祝你好运!
sneakme.netproxyboxonline.com看YouTube很流畅,打开网页输入YouTube的网址点击go!就可以了)
原创文章,如需转载请注明出处,附上本文网址!文中方法仅供浏览YouTuBe,请勿用于非法用途!
如果你知道要看YouTube视频的网址复制下来粘贴到http://kej.tw/flvretriever/http://keephd.com/http://keepvid.com/分析其地址,得到地址后下载观看即可,也可以将其分析的地址粘贴到播放器播放!

使用手机浏览被屏蔽网站

使用手机浏览被屏蔽网站

一.如果你的手机支持java可以使用手机浏览器:

1、operamini中文国际版,单窗口浏览web/wap页面,web页面可以缩放浏览

电脑访问:http://www.opera.com/mini/

手机访问:operamini.com(下载国际版)

2、teashart,单窗口浏览web页面,web页面可以缩放浏览

电脑访问:http://www.teashark.com/

汉化版:http://bbs.ucweb.com/viewthread.php?tid=287907&extra=page%3D1

3、opera俄版原服,是operamini的修改版,多窗口浏览web/wap页面

汉化版:http://bbs.ucweb.com/viewthread.php?tid=108671&extra=page%3D1

手机访问:opm.kuruan.net(下载原服、官服版,不要下载空中服务器版)

4、ucweb英文版,推荐用ucweb中文改IP版

改IP版:http://bbs.ucweb.com/viewthread.php?tid=244800&extra=page%3D2

手机访问:http://wap.ucweb.com/ucpack/dlmobile/control/index.php?pc=300

以上所述JAVA版手机浏览器下载:

www.namipan.com/d/b360a3a3c30846644d7e4612fc7a51ef4445273119e20b00

二.如果你使用wm或s60智能机可以使用手机浏览器:

1、skyfire

官方网:http://www.skyfire.com/

2、ucweb英文版

改IP版:http://bbs.ucweb.com/viewthread.php?tid=244800&extra=page%3D2

三.如果你手机浏览器支持浏览web可以使用在线代理:

推荐几个网页代理:

w3w.appspot.comwww.google.com/gwt/nhttps://mirrorrr.appspot.comdai.li

四.如果你的手机支持vpn可以使用免费VPN:

例如iPhone 使用Hotspot Shield可参考 http://hotspotshield.com/clientless/iphone/

注:ZYM出了手机版感觉很垃圾,手机使用代理服务器我还没发现什么好方法!

免费的VPN推荐

作者:lau 来源:铁血丹心
现在想找个免费的VPN可真难。

由于有时候需要访问一些其它的网站,目前的网络情况又不能顺利访问,就只能借助于免费的vpn了,如果你愿意掏腰包的话就可以免看了。

免费的vpn刚开始的时候有linkideo、relakks、还有那个private dog(好像是),慢慢地这些站点都不提供免费的vpn了,收费成了它们的主题。对于我这样的穷人,就只能与它们无缘了。

开始寻找其它的免费的vpn,找到了 hotspot shield 和它的孪生兄弟 anchorfree ,只需要安装个小软件、页面上方有个大广告,就可以正常地使用它们。一想到用linkideo的时候直接建立个vpn连接就可以用就觉得安装软件不爽,可是不装就没办法使用,就只能将就一下了。

这两天找到了2个免费的vpn, alonwebcyberghost ,都需要安装客户端软件。 alonweb 前一个是荷兰的免费vpn,每个月有1000MB的流量限制,速度还不错,目前处于测试期。 cyberghost 是德国的免费vpn,每个月有10GB的免费流量,每隔6个小时要断开一次连接。

有了这两个免费的VPN,基本上是能够满足日常的使用需求了。

2009年4月22日星期三

解锁你的YouTube

点击查看原始尺寸

也 不知道中国政府为了点什么见不得人的企图,一声话也不吭,就把YouTube给封了,如果YouTube真的有什么不好的地方,通报一下,让大家知道一 下,再封也好。这倒好,干脆什么也不说,真晕。害的我一个多月都开不了YouTube,最开始还以为是系统问题�,最后上网一查,原来是我们“伟大的党” 干的,真无语了....

既然国家也没公开说过不让我们看YouTube,这说明我们看YouTube也不是什么坏事了

我们也来解锁YouTube,整理了网上几种“翻墙看YouTube”的方法

1.使用代理

一、无 界

双击打开软件就可以用IE浏览YouTube了(此时不能用IE打开国内网站),高级点的用法就打开软件点击帮助查看吧!

下载:www.namipan.com/d/b81a9b94c858d88589596211f1ca325df558442eacff0500


二、世界通

打开软件可以看到有个IE图标双击打开它,在打开的IE窗口地址栏里输入YouTube网址就可以浏览了(只有用软件里打开的IE才是使用了代理的),高级用法就打开软件点击菜单命令的用户手册查看吧!

下载:www.namipan.com/d/1fdb9addf645a26befd55ef54c9e79b408ed217848ac1600

三、TSP

TSP是Tor+SocksCap32+polipo组合包的缩写,是一套突破网络封锁保护公民隐私的工具,控制台运行后,在本机提供两个加密的代理服务器:
http代理:127.0.0.1:8123
socks5代理:127.0.0.1:9050
1.新手使用:初次运行后,等待一段时间,看右上角会出现连接成功的提示。你就可以双击sockscap窗口中IE浏览器图标打开浏览器浏览任意网站了。 记住:如果没有对浏览器设置代理,只有从sockscap窗口启动的IE浏览器才是加密的。使用多了以后会越来越快的。
2.速度比较快的方法(推荐使用):在某浏览器的代理设置选项中设置http代理:127.0.0.1 端口:8123 正常启动浏览器即可用了。这种方法浏览速度比较快。
怎 么 设置IE浏览器?点“开始”——“控制面板”——点开“Interent选项”,里面点“连接”项,点开里面的“局域网设置”,打勾“代理服务器”, 在 地址里面填“127.0.0.1”,在端口里面填“8123”,下面打勾“跳过本地地址的代理服务器”,按“确定”即设置好了。不用的时候,修改回去 即 可。
3.其它程序怎么通过此上网?
点“新建”,里面浏览找到你需要的程序,按确定。此程序即出现在sockscap窗口中,双击sockscap窗口中的程序运行即可。
下载:www.namipan.com/d/086f0d64d14de0a700046e0876aae26a97f35d7d4c892300

四、Java Anon Proxy

打开软件连接到服务器后设置浏览器代理为127.0.0.1端口4001就可以了!

下载:http://anon.inf.tu-dresden.de/develop/JonDo_Portable.paf.exe

五、OperaTor

打开 OperaTor等首页显示出来后在地址栏输入YouTube的网址就可以了 !

(文件所在路径不要包含中文字符)

下载:www.namipan.com/d/4cc85e3edfa92cdd155d53c23ab2c21d81aef722939a6800

六、Cproxy.

软件运行后会自动设置IE代理,在地址栏输入网址即可!(http端口3128,socks端口9000)

下载:www.namipan.com/d/9abd297aa343d4c7dd82f2bb33d782e668ed763518ab0a00

七、hotspotshield

一 个很好的免费VPN,下载安装后打开软件,右键点击任务栏上的红色的盾牌图标,点击connect,然后程序会打开网页,自动连接,等待10多秒中 过一 会就好了,断开的话,就是右击绿色的盾牌,然后点击disconnect,vpn代理就断开了!(连接VPN后你的整个网络环境就成国外了)

下载:http://hotspotshield.com/download/special/HSS-1.12-install-w3i-small_8530.zip

八、Projectloki

一个不错的免费VPN,下载软件安装后重启电脑,打开软件登陆连接即可!

下载:http://www.projectloki.com/download/LokiVPNClientSetup.zip

九、Psiphon

发送标题为 Can I have psiphon2 Access 邮件到 english@sesawe.net, 说明你来自中国,等待一段时间,会收到一封带有注册链接的邮件,进去设置密码就可以使用 Psiphon2 了。记住当前 IP 地址,就是你的在线代理服务器的地址了!

十、www.proxyliste.com

这个代理网站有上千个网页代理链接,一个个试吧,看哪个能在线看YouTube,祝你好运!(sneakme.net这个在线代理就很好,看YouTube很流畅,打开网页输入YouTube的网址点击go!就可以了)

2.使用IPv6

安装好ipv6后,我们直接访问http://www.youtube.com.sixxs.org/就可以使用YouTube了,但是这个欧洲的网关不转接视频,所以视频都会显示:
We're sorry, this video is no longer available.
这种方法只能浏览网页

3.使用Tor

不懂TOR的先看一下维基百科介绍:
http://zh.wikipedia.org/wiki/Tor
Tor可以作为Firefox的插件使用,安装好Firefox之后,下载一个Vidalia Bundle就可以很方便的使用Tor了。
由于Tor的原理是匿名转接,所以传输视频的速度不快,想看视频那可是很卡的。
顺便说一句,我觉得Tor是打败GFW最好的方法,因此Tor的官网也是被河蟹了的,可怜的Tor啊!
给Tor做个广告吧:自从用了Tor,我们上网再也不怕GFW了!

4.使用youtubeproxy.org

只要访问https://youtubeproxy.org/就可以打开YouTube了。它使用SSL连接,将数据加密传输,可以骗过GFW的监控。
这个YoutubeProxy的性能还真不错,我使用的时候一会儿视频就缓冲好了!
缺点:有广告,看完两段视频后就要付费了

5.通过GooTube FLV Retriever

打开http://kej.tw/flvretriever/,输入影片网址后,直接就可以解析出下载地址,刚才下载了一个试试,平均速度:61.24KB/s,很开心啦!
原来YouTube 的视频不是放在youtube.com上,而是在http://v5.cache4.googlevideo.com上,这个服务器貌似没有被封锁哦,哇哈哈!

翻墙软件:自由门6.82版(4月15日)

GFW Blog提供的自由门6.82版下载地址,请点击下载:

1:自由门6.82版(压缩版)
2:自由门6.82版(执行版)
欢迎继续反馈使用意见。请把反馈信息通过短信发给dweb。如有问题,请说明是什么问题。谢谢。

封锁严重时,别忘了可以试一试F2通道.

文件名 = file1/4118/200904150017_fg682p.zip
MD5 = 58FB4F647966BEEC64C573C202A215A7
文件大小 = 412 KB

本地下载fg682p.zip
GFW Blog附 自由 使用说明

双击自由 ,程序会开始寻找服务器。一般情况下程序会运行代理模式,自动打开IE,设置IE代理,然后上到动态网主页。 自由 有两种加密通道。使用F3通道时IE代理为127.0.0.1:8580,使用F2通道时IE代理为127.0.0.1:8567。缺省是F3通 道。F3通道除支持HTTP和HTTPS以外,还支持SOCKS5, 可以尝试把任意网络通信件如即时通信,实时音像,设上 127.0.0.1:8580 的SOCKS5代理。如果通过莲花代理或Multiproxy,F3通道需要SSL代理,而F2通道只要HTTP代理。当自 由在F3或F2通道运行时,8580和8567端口都运行当前选择的通道。 自由 有两种运行模式。代理模式下自由 会自动设置IE代理,可直接在IE浏览器窗口输入网址,就可安全浏览海外任意网站。如果使用其它浏览器,请自行设置浏览器的代理服务器后浏览。经典模式下,浏览器不需要设置代理。可登陆到动态网主页。通过动态网主页可安全浏览海外任意网站。经典模式下有的网站显示会有问题。

如果网络封锁加剧造成找不到服务器,请尝试选中"模式"界面上的和"使用应急版",从新启动程序。另外可以参看" 如何手动找到动态网服务器 ",用其他方式上动态网。

因为自由 有突破封锁和隐藏用户身份的功能,中共控制的防病毒软件或少数海外防病毒软件有可能把自由 归为病毒,但自由 不是病毒,请大家放心使用。

在少数情况下,使用【代理模式】时,如果程序退出时出现异常,有可能使IE代理没有恢复原状,而保留 127.0.0.1:8580 的设置,造成不能上网。这时只要重新运行自由 ,然后正常退出即可修复。

使用动态网过程中,请保持这个程序运行。使用结束时,选【退出】菜单。

(一)如何使用界面上的菜单

1.【服务器】界面

自由 会一次找到多个服务器并选择最快的服务器作为当前服务器,并显示连接速度。

【当前代理】:当前正在使用的代理服务器和端口。可点击【代理设置】键设置。这是用户自己设置的代理服务器,与动态网没有关系。
【代理设置】: 设置IE代理服务器的方式。可以选择直接使用自由 代理,使用手动设置代理+自由 代理,或使用自动检测IE代理+自由 代理。
【当前端口】:正在使用的端口,F3通道通常是8580,F2通道通常是8567,也可能是8581或8568等. 这个数字对应IE中动态网首页的网址
http://127.0.0.1:8580/loc/phome.php
【服务器】:当前正在使用的服务器。用户可以自选一个不同的服务器。一般说来,连接速度数字越小,服务器的速度越快。但由于网络环境复杂,实际情况也可能不是这样或不总是这样。如果现在用的这个服务器变慢,可以点击服务器名换一个服务器试试。
【搜索服务器】:该功能会从新搜索服务器。供长时间使用后或一次搜索没找到服务器重新再试。

2.【内容】界面

【动态网主页】:如果IE被关闭,可以选这一项重新打开IE。【代理模式】下地址一般设为 http://127.0.0.1:8580/loc/phome.php 。【经典模式】下地址一般设为 http://127.0.0.1:8580/ 。【服务器】界面上的【端口】一般会显示8580/8567。个别情况下可能会是别的数字如8581。如果浏览器在程序开始后不能被自动打开,或点击【动态网主页】不灵的请自己打开IE(或别的浏览器),在地址中输入上述网址。如果【端口】中显示的不是8580/8567,要换用相应的端口。
【动态网论坛】:点击会上到动态网论坛。
【动态网络技术公司】:点击访问动态网络技术公司主页。

3.【模式】界面

【使用F3通道】:SSL隧道。IE代理为 127.0.0.1:8580 . F3通道除支持HTTP和HTTPS以外,还支持SOCKS5, 可以尝试把任意网络通信件如即时通信,实时音像,设上 127.0.0.1:8580 的SOCKS5代理。
【使用F2通道】:HTTP隧道。IE代理为127.0.0.1:8567。与自由 6.7以前的版本相同。
【使用应急版】:这种用法突破封锁功能更强,但是有些网站上不了或者显示不完整。在封锁加强,当前版本失效时,可以试试应急版,以便能上到动态网上下载升级版本.
【设置密道】:这个选项只有【代理模式】下才会有。自由 可以帮助设置动态网的加密代理软件包(动态网主页上的"软件下载"上有连接)。内容同样是高度加 密的。具体用法是把动态网加密代理软件包解压缩和自由 软件版放到同一目录下。运行自由 软件找到服务器后,点菜单中的【设置密道】。程序会自动设好与密 道有关的设置文件并设好IE代理。这种用法的原理请参见加密代理软件包的说明。其它浏览器的用户需要自行把浏览器的代理服务器设置成
127.0.0.1:8081 后使用。可以直接在浏览器地址栏输入要去的网址。
【取消密道】:取消与密道有关的所有设置,IE代理恢复为
127.0.0.1:8580
【代理模式】:推荐使用代理模式。自由 自动设置IE代理为127.0.0.1, 端口根据加密通道一般为8580/8567,上到动态网主页
http://127.0.0.1:8580/loc/phome.php 后,直接在IE浏览器窗口输入网址,就可安全浏览海外任意网站。如果使用其它浏览器,请自行把浏览器的代理服务器设置为 127.0.0.1:8580 后浏览。
【经典模式】:不需要设置IE代理,上到动态网主页
http://127.0.0.1:8580/ 后,通过动态网主页可安全浏览海外任意网站。经典模式下有的网站显示会有问题。

4.【设置】界面

【程序退出时自动清除IE的历史纪录】: 选择此项自由 退出时自动清除IE的历史纪录。这里的有关功能适应对安全性要求更高的情况,可以删除计算机上的上网痕迹。
【程序启动时不自动打开浏览器】: 选择此项自由 启动时不自动打开浏览器。
【程序启动时跳过代理设置】: 选择此项自由 启动时不显示外部代理设置选择窗口。
【在启动计算机时启动自由 】: 选择此项在启动计算机时自动启动自由 程序。
【使用Ctrl-Alt-Z热键隐藏窗口】: 选择此项可使用Ctrl-Alt-Z热键隐藏或显示自由 窗口及图标。
【不使用IE不设置IE代理】: 选择此项自由 启动时不自动设置IE代理,用户可使用其它浏览器,如运行代理模式,需要自行设置代理。
【设置浏览器】: 点击此项会跳出新的窗口。用户可设置浏览器的路径让自由 自动打开所选浏览器。但自由 不能设置所选浏览器的代理,用户需要自行设置代理。打开动态网首页不需要代理。
【域名解析】:该功能可以帮你找到被封锁的域名的真实IP,这样你就可以直接访问该地址。可用于访问用了动态IP但域名被劫持的网站。
【语言选择】: 设置语言选项。可以选择简体中文,正体中文,英文,波斯文。如果您选择的语言不能显示,请到动态网下载相关语言的dll文件,放到与自由 同一文件夹中,重新运行自由
【代理退出时】: 当程序退出后,不应该再继续访问被禁网站,建议关闭所有IE窗口。可以选择关闭,保留,或询问是否关闭IE窗口。

5.【下载】界面

提供几个热网站的每日新闻下载.选中"下载设置"可以设置下载的文件夹.选择下载天数和内容后,点击"开始下载".

6.【反馈信息】

7.【退出】:退出自由

8.【帮助】:显示这个帮助文件。

(二)如何手动找到动态网服务器

1. 访问网页 https://www.google.com/reader/view/feed/http://qxbbs.org/qxdailynews.xml ,点击任何一个加密代理
2. 如果您使用Skype的话,动态网的Skype帐号
dongtaiwang.com 提供随时更新动态网IP地址和下载自由 最新软件服务。Skype一定要到官方网站 下载 。 注册后,到"工具" - "搜索Skype用户" -- 输入"
dongtaiwang.com " -- "查找"。查找到后 --- "添加Skype联系人",会出现在主界面的联系人中。如果查找当前IP,看 dongtaiwang.com 的个人讯息就能看到IP,不需要加入联系人。用Skype 查找 dongtaiwang.com 的个人讯息会看到动态网当前IP。
3. 用谷歌通话给
dtwip001@gmail.com dtwip005@gmail.com 中的任意一个地址发一个即时短信。
4. 用雅虎通给
dynet_002@yahoo.com dynet_005@yahoo.com 中的任意一个地址发一个即时短信。
5. 用MSN即时消息给
dtwip001@hotmail.com dtwip005@hotmail.com 中的任意一个地址发一个即时短信。
6. 用海外邮箱给
d_ip@dongtaiwang.com 发一个电子邮件。邮件可能会被当作垃圾邮件,请检查垃圾邮件文件夹确认是否已收到邮件。

(三)常见问题

1. 速度比正常的要慢。换【服务器】。

2. IE打不开或者用的是其它浏览器。自己打开浏览器,输入前面提到的地址。保险起见,可以查一下【端口】,看一看是不是8580。

3. 自由 找不到服务器。可能有以下原因:
(1)封锁暂时导致服务器IP失效,请过15分钟再试。
(2)防火墙或防病毒软件设置不对,可暂时关掉防火墙等试试。
(3)封锁加剧使当前版本失效。请你在【模式】下选用应急版试试。

如果自由 找不到服务器,会显示一个【手动输入IP】的窗口,通过上述方法找到服务器后,输入IP就能使用自由 软件。 一个不行可以多试几个。

4. 退出自由 后,不能用IE上网。如果程序退出时出现异常,有可能使IE代理没有恢复原状,而保留 127.0.0.1:8580 的设置,造成不能上网。这时只要重新运行自由 ,然后正常退出即可修复.      

(四)技术说明


自由 6.x版进一步提高了突破封锁的能力,并增加了新闻下载的功能。
1. 更强。设计目标是【能上网的地方就能上动态网】。请广大网友继续帮助反馈无法使用该软件的各种上网环境。
2. 更快。设计目标是【看大纪元比看人民日报更快】。在服务器端和客户端采用了多种加速技术。其中之一是缓存技术,所以看大纪元这样的流行网站尤其快。
3. 安全。设计目标是【不封雅虎的地方就封不住动态网】。大隐隐于市,自由 应用了加密技术新概念,在现有的嗅包过滤技术无法发现自由 用户用了加密技术,所以也就谈不上解密了。   

(五)用户反馈

如有任何问题或意见,请反馈到动态网论坛上或发电子邮件给 d_help@earthlink.net 。请尽量详细描述您的系统环境和上网环境,并把【反馈信息】发给我们,最好能有截图。

多谢您使用自由 软件。

动态网络技术公司版权所有 (C) 2002-2008
http://www.dit-inc.us

2009年4月21日星期二

架设VPN服务器 实现点对点虚拟本地连接

提到VPN相信各位都不会很陌生,它其实就是通过TCP/IP协议下特有的隧道协议,利用接入互联网的"公共"通道来访问局域网共享资源的一种方法;这种方法具有良好的安全保密性以及不受外界干扰的特性,因此不少网络管理员都用架设VPN服务器的方法,来让资源共享双方借助互联网通道,实现安全可靠的点对点虚拟本地连接。下面,本文就向各位详细介绍一下,如何架设一台VPN服务器。


  一、配置windows 2003 VPN服务器

  服务器是Windows 2003系统,2003中VPN服务叫做"路由和远程访问",系统默认就安装了这个服务,但是没有启用。

  在管理工具中打开"路由和远程访问",在列出的本地服务器上点击右键,选择"配置并启用路由和远程访问",下一步。


  在此,由于服务器是公网上的一台一般的服务器,不是具有路由功能的服务器,是单网卡的,所以这里选择"自定义配置",下一步。





  这里选"VPN访问",我只需要VPN的功能,下一步。配置向导完成,点击"是",开始服务。启动VPN服务后,出现"路由和远程访问"界面。


  下面开始配置VPN服务器,在服务器上点击右键,选择"属性",在弹出的窗口中选择"IP"标签,在"IP地址指派"中选择"静态地址池"。

  然后点击"添加"按钮设置IP地址范围,这个IP范围就是VPN局域网内部的虚拟IP地址范围,每个拨入到VPN的服务器都会分配到一个范围内的IP,在虚拟局域网中用这个IP相互访问。这里设置为10.240.60.1-10.240.60.10,一共10个IP,默认的VPN服务器占用第一个IP,所以,10.240.60.1实际上就是这个VPN服务器在虚拟局域网的IP。至此,VPN服务部分配置完毕。
  二、添加VPN用户

  每个客户端拨入VPN服务器都需要有一个帐号,默认是windows身份验证,所以要给每个需要拨入到VPN的客户端设置一个用户,并为这个用户制定一个固定的内部虚拟IP以便客户端之间相互访问。

  在管理工具中的计算机管理里添加用户,这里以添加一个chnking用户为例,先新建一个叫chnking的用户,创建好后,查看这个用户的属性,在"拨入"标签中做相应的设置。





  远程访问权限设置为"允许访问",以允许这个用户通过VPN拨入服务器。点选"分配静态IP地址",并设置一个VPN服务器中静态IP池范围内的一个IP地址,这里设为10.240.60.2。

  如果有多个客户端机器要接入VPN,请给每个客户端都新建一个用户,并设定一个虚拟IP地址,各个客户端都使用分配给自己的用户拨入VPN,这样各个客户端每次拨入VPN后都会得到相同的IP。如果用户没设置为"分配静态IP地址",客户端每次拨入到VPN,VPN服务器会随机给这个客户端分配一个范围内的IP。

  三、配置windows 2003 客户端

  客户端可以是windows 2003,也可以是Windows XP,设置几乎一样,这里以2003客户端设置为例。选择程序->附件->通讯->新建连接向导,启动连接向导。


  这里选择第二项"连接到我的工作场所的网络",这个选项是用来连接VPN的,下一步。






  选择"虚拟专用网络连接",下一步。在"连接名"窗口,填入连接名称szbti,下一步。


  这里要填入VPN服务器的公网IP地址,下一步,完成新建连接。完成后,在控制面板的网络连接中的虚拟专用网络下面可以看到刚才新建的szbti连接,在szbti连接上点击右键,选"属性",在弹出的窗口中点击"网络"标签,然后选中"internet协议(tcp/ip)",点击属性按钮,在弹出的窗口中再点击"高级"按钮,把"在远程网络上使用默认网关"前面的勾去掉。


  如果不去掉这个勾,客户端拨入到VPN后,将使用远程的网络作为默认网关,导致的后果就是客户端只能连通虚拟局域网,上不了因特网了。下面就可以开始拨号进入VPN了,双击szbti连接,输入分配给这个客户端的用户名和密码,拨通后在任务栏的右下角会出现一个网络连接的图标,表示已经拨入到VPN服务器。

  一旦进入虚拟局域网,客户端设置共享文件夹,别的客户端就可以通过其他客户端ip地址访问它的共享文件夹。

  四、配置VSS

  VSS是在一台机器上配置VSS数据库,把数据库的文件夹设置共享,局域网内别的机器可以访问到这个共享文件夹,就可以从源代码数据库中打开项目。配置好VPN后,客户端之间就是相当于在局域网内,VSS的设置就跟局域网内一样的设置。

Windows XP下openVPN配置IP转发

在windowsXP环境下配置openVPN时,如果VPN客户端需要能够访问VPN Sever端的私用网络,需要配置windowsXP主机的IP转发才行。方法如下:


默认情况下,Windows XP 中不启用 TCP/IP 转发。要启用 TCP/IP 转发,请按照下列步骤操作:

1 启动注册表编辑器 (Regedit.exe)。

2 在注册表编辑器中,找到以下注册表项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

3 设置以下注册表值:

数值名称:IPEnableRouter
数值类型:REG_DWORD
数值数据:1

4 数值 1 启用此计算机上安装和使用的网络连接的 TCP/IP 转发。

5 退出"注册表编辑器"。

2009年4月20日星期一

Squid配置详解

Squid配置详解

原文说明

  • 引自linuxsir.org,感谢原文作者!
  • 原文地址:http://www.linuxsir.org/bbs/showthread.php?t=88659
  • 针对debian/ubuntu进行小范围修改
  • 前言
  • 在此,我们要配置一个只对内部网络提供代理服务的Proxy Server。它具有如下功能
  • 它将用户分为高级用户和普通用户两种,对高级用户采用网卡物理地址识别的方法,普通用户则需要输入用户名和口令才能正常使用。
  • 高级用户没有 访问时间和文件类型的限制,而普通用户只在上班时可以访问以及一些其它的限制。
  • 安装

从源中安装

源中自带稳定版本,执行下面的命令进行安装



sudo apt-get install squid squid-common


源码编译安装

当然你也可以到下面的官方网站下载最新的版本进行编译安装:



http://www.squid-cache.org/

其中STABLE稳定版、DEVEL版通常是提供给开发人员测试程序的,假定下载了最新 的稳定版squid-2.5.STABLE2.tar.gz,用以下命令解开压缩包:



tar xvfz squid-2.5.STABLE.tar.gz

用bz2方式压缩的包可能体积更小,相应的命令是:



tar xvfj squid-2.5.STABLE.tar.bz2

然后,进入相应目录对源代码进行配置和编译,命令如下:



cd squid-2.5.STABLE2

配置命令configure有很多选项,如果不清楚可先用"-help"查看。通常情况下,用到的选项有以下几个:



--prefix=/web/squid

指定Squid的安装位置,如果只指定这一选项,那么该目录下会有bin、sbin、man、conf等目录,而主要的配置文件此时在conf子目录中。为便于管理,最好用参数--sysconfdir=/etc把这个文件位置配置为/etc。



--enable-storeio=ufs,null

使用的文件系统通常是默认的ufs,不过如果想要做一个不缓存任何文件的代理服 务器,就需要加上null文件系统。



--enable-arp-acl

这样可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗。



--enable-err-languages="Simplify_Chinese"



--enable-default-err-languages="Simplify_Chinese"

上面两个选项告诉Squid编入并使用简体中文错误信息。



--enable-linux-netfilter

允许使用Linux的透明代理功能。



--enable-underscore

允许解析的URL中出现下划线,因为默认情况下Squid会认为带下划线的URL是 非法的,并拒绝访问该地址。 整个配置编译过程如下:



./configure --prefix=/var/squid
--sysconfdir=/etc
--enable-arp-acl
--enable-linux-netfilter
--enable-pthreads
--enable-err-language="Simplify_Chinese"
--enable-storeio=ufs,null
--enable-default-err-language="Simplify_Chinese"
--enable-auth="basic"
--enable-baisc-auth-helpers="NCSA"
--enable-underscore

其中一些选项有特殊作用,将在下面介绍它们。 最后执行下面两条命令,将源代码编译为可执行文件,并拷贝到指定位置。



make



sudo make install


基本配置

安装完成后,接下来要对Squid的运行进行配置(不是前面安装时的配置)。所有项目都在squid.conf中完成。Squid自带的squid.conf包括非常详尽的说明,相当于一篇用户手册,对配置有任何疑问都可以参照解决。

在这个例子中,代理服务器同时也是网关,内部网络接口eth0的IP地址为192.168.0.1,外部网络接eth1的IP地址为202.103.x.x。下面是一个基本的代理所需要配置选项:



http_port 192.168.0.1:3128

默认端口是3128,当然也可以是任何其它端口,只要不与其它服务发生冲突即可。为了安全起见,在前面加上IP地址,Squid就不会监听外部的网络接口。 下面的配置选项是服务器管理者的电子邮件,当错误发生时,该地址会显示在错误页面上,便于用户联系:



cache_mgr start@soocol.com

以下这些参数告诉Squid缓存的文件系统、位置和缓存策略:



cache_dir ufs /var/squid
cache_mem 32MB
cache_swap_low 90
cache_swap_high 95

在这里,Squid会将/var/squid目录作为保存缓存数据的目录,每次处理的缓存大小是32兆字节,当缓存空间使用达到95%时,新的内容将 取代旧的而不直接添加到目录中,直到空间又下降到90%才停止这一活动。

如果不想Squid缓存任何文件,如某些存储空间有限的专有系统,可以使用 null文件系统(这样不需要那些缓存策略):



cache_dir null /tmp

下面的几个关于缓存的策略配置中,较主要的是第一行,即用户的访问记录,可以通过分析它来了解所有用户访问的详尽地址:



cache_access_log /var/squid/access.log
cache_log /var/squid/cache.log
cache_store_log /var/squid/store.log

下面这行配置是在较新版本中出现的参数,告诉Squid在错误页面中显示的服务器名称:



visible_hostname No1.proxy

以下配置告诉Squid如何处理用户,对每个请求的IP地址作为单独地址处理:



client_netmask 255.255.255.255

如果是普通代理服务器,以上的配置已经足够。但是很多Squid都被用来做透明代理。

所谓透明代理,就是客户端不知道有代理服务器的存在,当然也不需要进行任何与代理有关的设置,从而大大方便了系统管理员。相关的选项有以下几个:



httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_user_host_header on

在Linux上,可以用iptables/ipchains直接将对Web端口80的请求直接转发到Squid端口3128,由Squid接手,而用户浏览器仍然认为它访问的是对方的80端口。例如以下这条命令:



iptables -t nat -A PREROUTING -s 192.168.0.200/32 -p tcp --dport 80 -j REDIRECT 3128

就是将192.168.0.200的所有针对80端口的访问重定向到3128端口。

所有设置完成后,关键且重要的任务是访问控制。Squid支持的管理方式很多,使用起来也非常简单(这也是有人宁愿使用不做任何缓存的Squid,也 不愿意单独使用iptables的原因)。

Squid可以通过IP地址、主机名、MAC地址、用户/密码认证等识别用户,也可以通过域名、域后缀、文件类 型、IP地址、端口、URL匹配等控制用户的访问,还可以使用时间区间对用户进行管理,所以访问控制是Squid配置中的重点。

Squid用ACL (Access Control List,访问控制列表)对访问类型进行划分,用http_access deny 或allow进行控制。根据需求首先定义两组用户advance和normal,还有代表所有未指明的用户组all及不允许上网的baduser,配置代 码如下:



acl advance 192.168.0.2-192.168.0.10/32
acl normal src 192.168.0.11-192.168.0.200/32
acl baduser src 192.168.0.100/32
acl baddst dst www.soocol.com
acl all src 0.0.0.0/0

http_access deny baduser
http_access allow advance
http_access allow normal

可以看出,ACL的基本格式如下: acl 列表名称 控制方式 控制目标 比如acl all src 0.0.0.0/0,其名称是all,控制方式是src源IP地址,控制目标是0.0.0.0/0的IP地址,即所有未定义的用户。出于安全考虑,总是在最后禁止这个列表。 下面这个列表代表高级用户,包括IP地址从192.168.0.2到192.168.0.10的所有计算机:



acl advance 192.168.0.2-192.168.0.20/32

下面这个baduser列表只包含一台计算机,其IP地址是192.168.0.100:



acl baduser 192.168.0.100/32

ACL写完后,接下来要对它们分别进行管理,代码如下:



http_access deny baduser
http_access allow advance
http_access allow normal

上面几行代码告诉Squid不允许baduser组访问Internet,但advance、normal组允许(此时还没有指定详细的权限)。由于 Squid是按照顺序读取规则,会首先禁止baduser,然后允许normal。如果将两条规则顺序颠倒,由于baduser在normal范围中, Squid先允许了所有的normal,那么再禁止baduser就不会起作用。

特别要注意的是,Squid将使用allow-deny-allow-deny……这样的顺序套用规则。例如,当一个用户访问代理服务器时, Squid会顺序测试Squid中定义的所有规则列表,当所有规则都不匹配时,Squid会使用与最后一条相反的规则。

就像上面这个例子,假设有一个用户 的IP地址是192.168.0.201,他试图通过这台代理服务器访问Internet,会发生什么情况呢?我们会发现,他能够正常访问,因为 Squid找遍所有访问列表也没有和192.168.0.201有关的定义,便开始应用规则,而最后一条是deny,那么Squid默认的下一条处理规则 是allow,所以192.168.0.201反而能够访问Internet了,这显然不是我们希望的。所以在所有squid.conf中,最后一条规则 永远是http_access deny all,而all就是前面定义的"src 0.0.0.0"。


高级控制

前面说过,Squid的控制功能非常强大,只要理解Squid的行为方式,基本上就能够满足所有的控制要求。下面就一步一步来了解Squid是如何进行控制管理的。

通过IP地址来识别用户很不可靠,比IP地址更好的是网卡的MAC物理地址。要在Squid中使用MAC地址识别,必须在编译时加上"--enable-arp-acl"选项,然后可以通过以下的语句来识别用户:



acl advance arp 00:01:02:1f:2c:3e 00:01:02:3c:1a:8b ...

它直接使用用户的MAC地址,而MAC地址一般是不易修改的,即使有普通用户将自己的IP地址改为高级用户也无法通过,所以这种方式比IP地址可靠得多。

假如不想让用户访问某个网站应该怎么做呢?可以分为两种情况:一种是不允许访问某个站点的某个主机,比如ok的主机是ok.sina.com.cn,而其它的新浪资源却是允许访问的,那么ACL可以这样写:



acl sinapage dstdomain ok.sina.com.cn
... ...
http_access deny ok
... ...

由此可以看到,除了ok,其它如http://www.sina.com.cn、news.sina.c...��常访问。

另一种情况是整个网站都不许访问,那么只需要写出这个网站共有的域名即可,配置如下:



acl qq dstdomain .tcccent.com.cn

注意tcccent前面的".",正是它指出以此域名结尾的所有主机都不可访问,否则就只有tcccent.com.cn这一台主机不能访问。

如果想禁止对某个IP地址的访问,如202.118.2.182,可以用dst来控制,代码如下:



acl badaddr dst 202.118.2.182

当然,这个dst也可以是域名,由Squid查询DNS服务器将其转换为IP。

还有一种比较广泛的控制是文件类型。如果不希望普通用户通过代理服务器下载MP3、AVI等文件,完全可以对他们进行限制,代码如下:



acl mmxfile urlpath_regex \.mp3$ \.avi$ \.exe$
http_access deny mmxfile

看到regex,很多读者应该心领神会,因为这条语句使用了标准的规则表达式(又叫正则表达式)。它将匹配所有以.mp3、.avi等结尾的URL请求,还可以用-i参数忽略大小写,例如以下代码:



acl mmxfile urlpath_regex -i \.mp3$

这样,无论是.mp3还是.MP3都会被拒绝。当然,-i参数适用于任何可能需要区分大小写的地方,如前面的域名控制。

如果想让普通用户只在上班时间可以上网,而且是每周的工作日,用Squid应当如何处理呢?看看下面的ACL定义:



acl worktime time MTWHF 8:30-12:00 14:00-18:00
http_access deny !worktime

首先定义允许上网的时间是每周工作日(星期一至星期五)的上午和下午的固定时段,然后用http_access 定义所有不在这个时间段内的请求都是不允许的。

或者为了保证高级用户的带宽,希望每个用户的并发连接不能太多,以免影响他人,也可以通过Squid控制,代码如下:



acl conncount maxconn 3
http_access deny conncount normal
http_access allow normal

这样,普通用户在某个固定时刻只能同时发起三个连接,从第四个开始,连接将被拒绝。

总之,Squid的ACL配置非常灵活、强大,更多的控制方式可以参考squid.conf.default。


认证

用户/密码认证为Squid管理提供了更多便利,最常用的认证方式是NCSA。从Squid 2.5版本开始,NCSA认证包含在了basic中,而非以前单独的认证模块。下面来看看实现认证的具体操作。

首先在编译时配置选项应包括以下配置:



--enable-auth="basic" --enable-basic-auth-helpers="NCSA"

"make install"以后,需要将"helpers/basic_auth/NCSA/ncsa_auth"拷贝到用户可执行目录中,如/usr/bin(如 果在该目录中找不到这个执行文件,在编译时请使用make all而不是make,或者直接在该目录中执行make),然后需要借助Apache的密码管理程序htpasswd来生成用户名/密码对应的文件,就像 下面这行代码:



htpasswd -c /var/squid/etc/password guest

在输入两遍guest用户的密码后,一个guest用户就生成了。如果以后需要添加用户,把上面的命令去掉-c参数再运行即可。

Squid 2.5在认证处理上有了较大的改变,这里就只讨论2.5版本的处理方法,2.4及以下版本请参考squid.conf.default。在2.5版的squid.conf中,包括以下几个相关选项:

该选项指出了认证方式(basic)、需要的程序(ncsa_auth)和对应的密码文件(password)



auth_param basic program /usr/bin/ncsa_auth /var/squid/etc/password

指定认证程序的进程数



auth_param basic children 5

浏览器显示输入用户/密码对话框时的领域内容



auth_param basic realm My Proxy Caching Domain

基本的认证有效时间



auth_param basic credentialsttl 2 hours

普通用户需要通过认证才能访问Internet



acl normal proxy_auth REQUIRED
http_access allow normal

通过以上的配置即可完成认证工作。有的读者可能要问:认证只针对普通用户,而高级用户是直接上网的,该怎么处理呢?其实,这两种用户是可以共存的。

如 前所述,Squid是顺序处理http_access的,所以在http_access处理过程中,如果先处理normal用户,那么当前用户无论是否属 于高级用户,都会被要求进行认证;相反如果先处理高级用户,剩下的就只有需要认证的普通用户了。例如以下配置代码:



...
http_access allow normal (需要认证)
http_access allow advance (不需要认证)
...

不管是否为noauth用户,都要求进行用户名/密码验证。正确的方法是将二者位置交换,代码如下:



...
http_access allow advance
http_access allow normal
...

这时,高级用户不会受到任何影响。


总结

下面把整个squid.conf总结一下:


服务器配置



http_port 192.168.0.1:3128
cache_mgr start@soocol.com
cache_dir null /tmp
cache_access_log /var/squid/access.log
cache_log /var/squid/cache.log
cache_store_log /var/squid/store.log
visible_hostname No1.proxy
client_mask 255.255.255.255
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_user_host_header on


用户分类



acl advance arp 00:01:02:1f:2c:3e 00:01:02:3c:1a:8b ...
acl normal proxy_auth REQUIED
acl all src 0.0.0.0


行为分类



acl mmxfile urlpath_regex \.mp3$ \.avi$ \.exe$
acl conncount maxconn 3
acl worktime time MTWHF 8:30-12:00 14:00-18:00
acl sinapage dstdomain ok.sina.com.cn
acl qq dstdomain .tcccent.com.cn


处理



http_access allow advance
http_access deny conncount normal
http_access deny !worktime
http_access deny mmxfile
http_access deny sinapage
http_access deny qq
http_access allow normal

配置后的状况是,advance组可以不受任何限制地访问Internet,而normal组则只能在工作时间上网,而且不能下载多媒体文件,不能访问某些特定的站点,而且发送请求不能超过3个。

通过本文的介绍,它可以了解Squid的基本能力。当然,它的能力远不止此,可以建立强大的代理服务器阵列,可以帮助本地的Web服务器提高性能,可以提高本地网络的安全性等。要想发挥它的功效,还需要进一步控制。



Squid ncsa用户认证的实现


ncsa是squid源代码包自带的认证程序之一,下面我们以squid-2.3.STABLE2版本为例讲述ncsa的安装和配置。
1.从http://www.squid-cache.org下载squi...mp目录下。
2.用tar解开:
tar xvzf squid-2.3.STABLE2-src.tar.gz
%make
%make install
3.然后,进入/tmp/squid-2.3.STABLE2/auth_modules/NCSA目录。
% make
% make install
编译成功后,会生成ncsa_auth的可执行文件。
4.拷贝生成的执行文件ncsa_auth到/usr/bin目录
cp ncsa_auth /usr/bin/bin
5.修改squid.conf中的相关选项如下所示:
authenticate_program /usr/local/squid/bin/ncsa_auth /usr/bin/passwd
6.定义相关的用户类
acl auth_user proxy_auth REQUIRED
注意,REQUIRED关键字指明了接收所有合法用户的访问。
7.设置http_access
http_access allow auth_user
注意,如果你在改行中指定了多个允许访问的用户类的话,应该把要认证的用户类放在第一个。如下所示:
错误的配置:http_access allow auth_user all manager
正确的配置:http_access allow auth_user manager all
8.利用apache携带的工具软件htpasswd在/usr/local/squid/etc下生成密码文件并添加相应的用户信息。一般说来,该密码文件每行包含一个用户的用户信息,即用户名和密码。
用htpasswd生成密码文件passwd并添加用户bye。
htpasswd -c /usr/local/squid/etc/passwd bye
然后重新启动squid,密码认证已经生效。


SHELL中实现多行注释


很简单,不用# 去实现, 使用:<< NOUSE开始,NOUSE结尾即可对其包括的语句全部注释.
如:
echo `date`



:<< NOUSE
echo `date`
NOUSE

NOUSE只是个字符, 使用其他的字符也可以,保持前后一致即可.


Squid配置详解+认证完全版


在此,我们要配置一个只对内部提供代理服务的Proxy Server。它将用户分为高级用户和普通用户两种,对高级用户采用网卡物理地址识别的方法,普通用户则需要输入用户名和口令才能正常使用。高级用户没有访问时间和类型的限制,而普通用户只在上班时可以访问以及一些其它的限制。
  
  安装
  可以从Squid站点www.squid-cache.org获取该软件的源代...的发行版,如Red Hat提供的RPM包。
  
  RPM方式安装很简单,命令如下:
  
  $ rpm -ivh Squid-2.x.STALBx.i386.rpm
  
  不过笔者认为,即便是系统中已经默认安装了Squid,也应当先删掉然后安装最新的源代码包。因为开源软件会不断修正问题、提供更新的功能,使用最新版本可以保证最高的性能及安全,而且源代码方式可以完全定制系统。不过STABLE稳定版、DEVEL版通常是提供给开发人员测试的,假定下载了最新的稳定版squid-2.5.STABLE2.tar.gz,用以下命令解开压缩包:
  
  $ tar xvfz squid-2.5.STABLE.tar.gz
  
  用bz2方式压缩的包可能体积更小,相应的命令是:
  
  $ tar xvfj squid-2.5.STABLE.tar.bz2
  
  然后,进入相应目录对源代码进行配置和编译,命令如下:
  
  $ cd squid-2.5.STABLE2
  
  配置命令configure有很多选项,如果不清楚可先用"-help"查看。通常情况下,用到的选项有以下几个:
  
  --prefix=/web/squid
  #指定Squid的安装位置,如果只指定这一选项,那么该目录下会有bin、sbin、man、conf等目录,而主要的配置此时在conf子目录中。为便于管理,最好用参数--sysconfdir=/etc把这个位置配置为/etc。
  --enable-storeio=ufs,null
  #使用的系统通常是默认的ufs,不过如果想要做一个不缓存任何的代理,就需要加上null系统。
  --enable-arp-acl
  #这样可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗。
  --enable-err-languages="Simplify_Chinese"
  --enable-default-err-languages="Simplify_Chinese"
  #上面两个选项告诉Squid编入并使用简体中文错误信息。
  --enable-linux-netfilter
  #允许使用Linux的透明代理功能。
  --enable-underscore
  #允许解析的URL中出现下划线,因为默认情况下Squid会认为带下划线的URL是非法的,并拒绝访问该地址。
  
  整个配置编译过程如下:
  
  ./configure --prefix=/var/squid
  --sysconfdir=/etc
  --enable-arp-acl
  --enable-linux-netfilter
  --enable-pthreads
  --enable-err-language="Simplify_Chinese"
  --enable-storeio=ufs,null
  --enable-default-err-language="Simplify_Chinese"
  --enable-auth="basic"
  --enable-baisc-auth-helpers="NCSA"
  --enable-underscore
  其中一些选项有特殊作用,将在下面介绍它们。
  
  最后执行make和make install两条命令,将源代码编译为可执行,并拷贝到指定位置。
  
  基本配置
  安装完成后,接下来要对Squid的运行进行配置(不是前面安装时的配置)。所有项目都在squid.conf中完成。Squid自带的squid.conf包括非常详尽的说明,相当于一篇用户手册,对配置有任何疑问都可以参照解决。
  
  在这个例子中,代理同时也是网关,内部接口eth0的IP地址为192.168.0.1,外部接口eth1的IP地址为202.103.x.x。下面是一个基本的代理所需要配置选项:
  
  http_port 192.168.0.1:3128
  
  默认端口是3128,当然也可以是任何其它端口,只要不与其它服务发生冲突即可。为了安全起见,在前面加上IP地址,Squid就不会监听外部的接口。
  
  下面的配置选项是管理者的电子邮件,当错误发生时,该地址会显示在错误页面上,便于用户联系:
  
  cache_mgr start@soocol.com
  
  以下这些参数告诉Squid缓存的系统、位置和缓存策略:
  
  cache_dir ufs /var/squid
  cache_mem 32MB
  cache_swap_low 90
  cache_swap_high 95
  
  在这里,Squid会将/var/squid目录作为保存缓存数据的目录,每次处理的缓存大小是32兆字节,当缓存空间使用达到95%时,新的内容将取代旧的而不直接添加到目录中,直到空间又下降到90%才停止这一活动。如果不想Squid缓存任何,如某些存储空间有限的专有系统,可以使用null系统(这样不需要那些缓存策略):
  
  cache_dir null /tmp
  
  下面的几个关于缓存的策略配置中,较主要的是第一行,即用户的访问记录,可以通过分析它来了解所有用户访问的详尽地址:
  
  cache_access_log /var/squid/access.log
  cache_log /var/squid/cache.log
  cache_store_log /var/squid/store.log
  
  下面这行配置是在较新版本中出现的参数,告诉Squid在错误页面中显示的名称:
  
  visible_hostname No1.proxy
  
  以下配置告诉Squid如何处理用户,对每个请求的IP地址作为单独地址处理:
  
  client_mask 255.255.255.255
  
  如果是普通代理,以上的配置已经足够。但是很多Squid都被用来做透明代理。所谓透明代理,就是客户端不知道有代理的存在,当然也不需要进行任何与代理有关的设置,从而大大方便了系统管理员。相关的选项有以下几个:
  
  httpd_accel_host virtual
  httpd_accel_port 80
  httpd_accel_with_proxy on
  httpd_accel_user_host_header on
  
  在Linux上,可以用iptables/ipchains直接将对Web端口80的请求直接转发到Squid端口3128,由Squid接手,而用户浏览器仍然认为它访问的是对方的80端口。例如以下这条命令:
  
  iptables -t nat -A PREROUTING -s 192.168.0.200/32 -p tcp --dport 80 -j REDIRECT 3128
  
  就是将192.168.0.200的所有针对80端口的访问重定向到3128端口。
  
  所有设置完成后,关键且重要的任务是访问控制。Squid支持的管理方式很多,使用起来也非常简单(这也是有人宁愿使用不做任何缓存的Squid,也不愿意单独使用iptables的原因)。Squid可以通过IP地址、主机名、MAC地址、用户/密码等识别用户,也可以通过域名、域后缀、类型、IP地址、端口、URL匹配等控制用户的访问,还可以使用时间区间对用户进行管理,所以访问控制是Squid配置中的重点。Squid用ACL(Access Control List,访问控制列表)对访问类型进行划分,用http_access deny 或allow进行控制。根据需求首先定义两组用户advance和normal,还有代表所有未指明的用户组all及不允许上网的baduser,配置代码如下:
  acl advance 192.168.0.2-192.168.0.10/32
  acl normal src 192.168.0.11-192.168.0.200/32
  acl baduser src 192.168.0.100/32
  acl baddst dst www.soocol.com
  acl all src 0.0.0.0/0
  
  http_access deny baduser
  http_access allow advance
  http_access allow normal
  
  可以看出,ACL的基本格式如下:
  
  acl 列表名称 控制方式 控制目标
  
  比如acl all src 0.0.0.0/0,其名称是all,控制方式是src源IP地址,控制目标是0.0.0.0/0的IP地址,即所有未定义的用户。出于安全考虑,总是在最后禁止这个列表。
  
  下面这个列表代表高级用户,包括IP地址从192.168.0.2到192.168.0.10的所有计算机:
  
  acl advance 192.168.0.2-192.168.0.20/32
  
  下面这个baduser列表只包含一台计算机,其IP地址是192.168.0.100:
  
  acl baduser 192.168.0.100/32
  
  ACL写完后,接下来要对它们分别进行管理,代码如下:
  http_access deny baduser
  http_access allow advance
  http_access allow normal
  上面几行代码告诉Squid不允许baduser组访问Internet,但advance、normal组允许(此时还没有指定详细的权限)。由于Squid是按照顺序读取规则,会首先禁止baduser,然后允许normal。如果将两条规则顺序颠倒,由于baduser在normal范围中,Squid先允许了所有的normal,那么再禁止baduser就不会起作用。
  
  特别要注意的是,Squid将使用allow-deny-allow-deny……这样的顺序套用规则。例如,当一个用户访问代理时,Squid会顺序测试Squid中定义的所有规则列表,当所有规则都不匹配时,Squid会使用与最后一条相反的规则。就像上面这个例子,假设有一个用户的IP地址是192.168.0.201,他试图通过这台代理访问Internet,会发生什么情况呢?我们会发现,他能够正常访问,因为Squid找遍所有访问列表也没有和192.168.0.201有关的定义,便开始应用规则,而最后一条是deny,那么Squid默认的下一条处理规则是allow,所以192.168.0.201反而能够访问Internet了,这显然不是我们希望的。所以在所有squid.conf中,最后一条规则永远是http_access deny all,而all就是前面定义的"src 0.0.0.0"。
  
  高级控制
  前面说过,Squid的控制功能非常强大,只要理解Squid的行为方式,基本上就能够满足所有的控制要求。下面就一步一步来了解Squid是如何进行控制管理的。
  
  通过IP地址来识别用户很不可靠,比IP地址更好的是网卡的MAC物理地址。要在Squid中使用MAC地址识别,必须在编译时加上"--enable-arp-acl"选项,然后可以通过以下的语句来识别用户:
  
  acl advance arp 00:01:02:1f:2c:3e 00:01:02:3c:1a:8b ...
  
  它直接使用用户的MAC地址,而MAC地址一般是不易修改的,即使有普通用户将自己的IP地址改为高级用户也无法通过,所以这种方式比IP地址可靠得多。
  
  假如不想让用户访问某个网站应该怎么做呢?可以分为两种情况:一种是不允许访问某个站点的某个主机,比如ok的主机是ok.sina.com.cn,而其它的新浪资源却是允许访问的,那么ACL可以这样写:
  
  acl sinapage dstdomain ok.sina.com.cn
  ... ...
  http_access deny ok
  ... ...
  由此可以看到,除了ok,其它如www.sina.com.cn、news.sina.com.cn都可以正常访问。
  
  另一种情况是整个网站都不许访问,那么只需要写出这个网站共有的域名即可,配置如下:
  
  acl qq dstdomain .tcccent.com.cn
  
  注意tcccent前面的".",正是它指出以此域名结尾的所有主机都不可访问,否则就只有tcccent.com.cn这一台主机不能访问。
  
  如果想禁止对某个IP地址的访问,如202.118.2.182,可以用dst来控制,代码如下:
  
  acl badaddr dst 202.118.2.182
  
  当然,这个dst也可以是域名,由Squid查询DNS将其转换为IP。
  
  还有一种比较广泛的控制是类型。如果不希望普通用户通过代理下载MP3、AVI等,完全可以对他们进行限制,代码如下:
  
  acl mmxfile urlpath_regex \.mp3$ \.avi$ \.exe$
  http_access deny mmxfile
  
  看到regex,很多读者应该心领神会,因为这条语句使用了标准的规则表达式(又叫正则表达式)。它将匹配所有以.mp3、.avi等结尾的URL请求,还可以用-i参数忽略大小写,例如以下代码:
  
  acl mmxfile urlpath_regex -i \.mp3$
  
  这样,无论是.mp3还是.MP3都会被拒绝。当然,-i参数适用于任何可能需要区分大小写的地方,如前面的域名控制。
  
  如果想让普通用户只在上班时间可以上网,而且是每周的工作日,用Squid应当如何处理呢?看看下面的ACL定义:
  
  acl worktime time MTWHF 8:30-12:00 14:00-18:00
  http_access deny !worktime
  
  首先定义允许上网的时间是每周工作日(星期一至星期五)的上午和下午的固定时段,然后用http_access 定义所有不在这个时间段内的请求都是不允许的。
  
  或者为了保证高级用户的带宽,希望每个用户的并发连接不能太多,以免影响他人,也可以通过Squid控制,代码如下:
  
  acl conncount maxconn 3
  http_access deny conncount normal
  http_access allow normal
  
  这样,普通用户在某个固定时刻只能同时发起三个连接,从第四个开始,连接将被拒绝。
  
  总之,Squid的ACL配置非常灵活、强大,更多的控制方式可以参考squid.conf.default。
  
  
  用户/密码为Squid管理提供了更多便利,最常用的方式是NCSA。从Squid 2.5版本开始,NCSA包含在了basic中,而非以前单独的模块。下面来看看实现的具体操作。
  
  首先在编译时配置选项应包括以下配置:
  
  --enable-auth="basic" --enable-basic-auth-helpers="NCSA"
  
  "make install"以后,需要将"helpers/basic_auth/NCSA/ncsa_auth"拷贝到用户可执行目录中,如/usr/bin(如果在该目录中找不到这个执行,在编译时请使用make all而不是make,或者直接在该目录中执行make),然后需要借助Apache的密码管理htpasswd来生成用户名/密码对应的,就像下面这行代码:
  
  htpasswd -c /var/squid/etc/password guest
  
  在输入两遍guest用户的密码后,一个guest用户就生成了。如果以后需要添加用户,把上面的命令去掉-c参数再运行即可。
  
  Squid 2.5在处理上有了较大的改变,这里就只讨论2.5版本的处理方法,2.4及以下版本请参考squid.conf.default。在2.5版的squid.conf中,包括以下几个相关选项:
  
  #该选项指出了方式(basic)、需要的(ncsa_auth)和
  对应的密码(password)
  auth_param basic program /usr/bin/ncsa_auth /var/squid/etc/password
  # 指定的进程数
  auth_param basic children 5
  # 浏览器显示输入用户/密码对话框时的领域内容
  auth_param basic realm My Proxy Caching Domain
  # 基本的有效时间
  auth_param basic credentialsttl 2 hours
  # 普通用户需要通过才能访问Internet
  acl normal proxy_auth REQUIRED
  http_access allow normal
  
  通过以上的配置即可完成工作。有的读者可能要问:只针对普通用户,而高级用户是直接上网的,该怎么处理呢?其实,这两种用户是可以共存的。如前所述,Squid是顺序处理http_access的,所以在http_access处理过程中,如果先处理normal用户,那么当前用户无论是否属于高级用户,都会被要求进行;相反如果先处理高级用户,剩下的就只有需要的普通用户了。例如以下配置代码:
  ...
  http_access allow normal (需要)
  http_access allow advance (不需要)
  ...
  
  不管是否为noauth用户,都要求进行用户名/密码验证。正确的方法是将二者位置交换,代码如下:
  ...
  http_access allow advance
  http_access allow normal
  ...
  
  这时,高级用户不会受到任何影响。
  
  总结
  下面把整个squid.conf总结一下:
  
  # 配置
  http_port 192.168.0.1:3128
  cache_mgr start@soocol.com
  cache_dir null /tmp
  cache_access_log /var/squid/access.log
  cache_log /var/squid/cache.log
  cache_store_log /var/squid/store.log
  visible_hostname No1.proxy
  client_mask 255.255.255.255
  httpd_accel_host virtual
  httpd_accel_port 80
  httpd_accel_with_proxy on
  httpd_accel_user_host_header on
  
  # 用户分类
  acl advance arp 00:01:02:1f:2c:3e 00:01:02:3c:1a:8b ...
  acl normal proxy_auth REQUIED
  acl all src 0.0.0.0
  
  # 行为分类
  acl mmxfile urlpath_regex \.mp3$ \.avi$ \.exe$
  acl conncount maxconn 3
  acl worktime time MTWHF 8:30-12:00 14:00-18:00
  acl sinapage dstdomain ok.sina.com.cn
  acl qq dstdomain .tcccent.com.cn
  
  # 处理
  http_access allow advance
  http_access deny conncount normal
  http_access deny !worktime
  http_access deny mmxfile
  http_access deny sinapage
  http_access deny qq
  http_access allow normal
  
  配置后的状况是,advance组可以不受任何限制地访问Internet,而normal组则只能在工作时间上网,而且不能下载多媒体,不能访问某些特定的站点,而且发送请求不能超过3个。
  
  通过本文的介绍,它可以了解Squid的基本能力。当然,它的能力远不止此,可以建立强大的代理阵列,可以帮助本地的Web提高性能,可以提高本地的安全性等。要想发挥它的功效,还需要进一步控制。


2009年4月19日星期日

查看vps的所有信息

拿到一个系统,肯定要看看系统配置,linux下看配置,可没有windows那么直观。你只能一个一个查看。

这个vps是centos5.0,不过已经把内核升级到最新版,也就是和centos5.2的内核一样。这个vps,其实就是一个精简版的 centos。比你最小化安装还要小。很多没有用的文件,都已经删除。你看看下面的信息就知道了,只有340m。先搞清楚系统情况,然后再去在上面安装 iredmail。

一:cpu

[root@srv /]# more /proc/cpuinfo | grep "model name"
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz

[root@srv /]# grep "model name" /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz

[root@srv /]# grep "model name" /proc/cpuinfo | cut -f2 -d:
Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
Intel(R) Xeon(R) CPU X3220 @ 2.40GHz

二:内存

[root@srv /]# grep MemTotal /proc/meminfo
MemTotal: 614400 kB

[root@srv /]# free -m
total used free shared buffers cached
Mem: 600 23 576 0 0 0
-/+ buffers/cache: 23 576
Swap: 0 0 0

[root@srv /]# free -m |grep "Mem" | awk '{print $2}'
600

三:查看CPU位数(32 or 64)

[root@srv /]# getconf LONG_BIT
32

四:查看linux版本

[root@srv /]# more /etc/redhat-release
CentOS release 5 (Final)

[root@srv /]# more /etc/issue
CentOS release 5 (Final)
Kernel \r on an \m


[root@srv /]# more /proc/version
Linux version 2.6.18-92.1.18.el5.028stab060.2PAE (root@rhel5-32-build-xemul) (gc
c version 4.1.2 20071124 (Red Hat 4.1.2-42)) #1 SMP Tue Jan 13 12:31:30 MSK 2009

五:查看内核版本

[root@srv /]# uname -r
2.6.18-92.1.18.el5.028stab060.2PAE

[root@srv /]# uname -a
Linux srv.eddiechen.cn 2.6.18-92.1.18.el5.028stab060.2PAE #1 SMP Tue Jan 13 12:31:30 MSK 2009 i686 i686 i386 GNU/Linux

六:查看时区

[root@srv /]# date -R
Wed, 25 Feb 2009 02:20:50 +0000

[root@srv /]# mv /etc/localtime /etc/localtime.save
[root@srv /]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@srv /]# date -R
Wed, 25 Feb 2009 10:24:26 +0800

七:主机名

[root@srv /]# hostname
srv.eddiechen.cn

八:查看selinux情况

[root@srv /]# sestatus
SELinux status: disabled

九:网络

IP

[root@srv /]# ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
207.154.202.216

网关

[root@srv /]# cat /etc/sysconfig/network
NETWORKING="yes"
GATEWAY="192.0.2.1"
HOSTNAME="srv.eddiechen.cn"

dns

[root@srv /]# cat /etc/resolv.conf
nameserver 208.74.168.131
nameserver 208.74.168.132
nameserver 4.2.2.1

十:已经安装的软件包

[root@srv /]# rpm -qa | wc -l

197

[root@srv /]# yum list installed | wc -l
198

十一:磁盘和分区

[root@srv /]# df -h
Filesystem Size Used Avail Use % Mounted on
/dev/simfs 10G 353M 9.7G 4% /

[root@srv /]# du -sh
353M

[root@srv /]# du /etc -sh
4.6M /etc

十二:系统启动的服务

[root@srv ~]# chkconfig --list | grep 3:on | cut -f1
crond
httpd
iptables
mcstrans
messagebus
network
restorecond
sendmail
sshd
syslog
xinetd

十三:系统默认字符集

[root@srv sysconfig]# locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

十四:列出变量

[root@srv ~]# set
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="1" [2]="17" [3]="1" [4]="release" [5]="i686-redhat-linux-gnu")
BASH_VERSION='3.1.17(1)-release'
COLORS=/etc/DIR_COLORS
COLUMNS=80
DIRSTACK=()
EUID=0
GROUPS=()
G_BROKEN_FILENAMES=1
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/root
HOSTNAME=srv.eddiechen.cn
HOSTTYPE=i686
IFS=$' \t\n'
INPUTRC=/etc/inputrc
LESSOPEN='|/usr/bin/lesspipe.sh %s'
LINES=24
LOGNAME=root
LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:'
MACHTYPE=i686-redhat-linux-gnu
MAIL=/var/spool/mail/root
MAILCHECK=60
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PIPESTATUS=([0]="0")
PPID=3695
PS1='[\u@\h \W]\$ '
PS2='> '
PS4='+ '
PWD=/root
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=1
SSH_AUTH_SOCK=/tmp/ssh-SfvoIj3695/agent.3695
SSH_CLIENT='123.123.36.61 1263 22'
SSH_CONNECTION='123.123.36.61 1263 207.154.202.216 22'
SSH_TTY=/dev/pts/0
TERM=linux
UID=0
USER=root
_=USERNAME

[root@srv ~]# env
HOSTNAME=srv.eddiechen.cn
TERM=linux
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=123.123.36.61 1263 22
SSH_TTY=/dev/pts/0
USER=root
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
SSH_AUTH_SOCK=/tmp/ssh-SfvoIj3695/agent.3695
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
INPUTRC=/etc/inputrc
PWD=/root
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=123.123.36.61 1263 207.154.202.216 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/bin/env

[root@srv ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[root@srv ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'

vps centos 第一次登陆设置

这次吧系统恢复到开始的状态,从头到尾做一次,也做一个完整的记录。

一:卸载软件

由于缺省安装了apache,sendmail,要装iredmail,所以要把这两个卸载

[root@srv ~]# yum -y remove httpd sendmail

二:停止没有必要的服务

系统有几个没有必要的服务,mcstrans ,messagebus,restorecond

[root@srv ~]# chkconfig --list |grep 3:on |awk '{print $1}' |egrep -v 'sshd|crond|iptables|xinetd|network|syslog' |xargs -i{} chkconfig --level 3 {} off

三:升级到CentOS5.2

[root@srv ~]# yum -y update

四:修改时区

[root@srv ~]# mv /etc/localtime /etc/localtime.save
[root@srv ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@srv ~]# date -R
Thu, 26 Feb 2009 13:39:20 +0800

五:vim增强

yum -y install vim-enhanced
mv /bin/vi /bin/vi.save
ln -s /usr/bin/vim /bin/vi
cp /etc/vimrc /etc/vimrc.save
sed -i "39 s/^/ set number \n filetype on\n set history=1000\n syntax on\n set tabstop=4\n set showmatch\n set vb t_vb=\n set mouse=a\n set ignorecase\n set autowrite\n /" /etc/vimrc

下面两个操作有问题,我做记录,就不删除了,修改字符集后,ssh上去反而中文是乱码,以前是正常。同步时间是不允许的。

六:修改字符集

发现下面的设置,会导致汉字显示乱码,如果我不做任何设置,反而现在中文没有问题,不知道为什么。

[root@srv ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
[root@srv ~]# export LC_ALL=zh_CN.utf8
[root@srv ~]# echo "export LC_ALL=zh_CN.utf8">> /etc/profile
[root@srv ~]# locale
LANG=
LC_CTYPE="zh_CN.utf8"
LC_NUMERIC="zh_CN.utf8"
LC_TIME="zh_CN.utf8"
LC_COLLATE="zh_CN.utf8"
LC_MONETARY="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_PAPER="zh_CN.utf8"
LC_NAME="zh_CN.utf8"
LC_ADDRESS="zh_CN.utf8"
LC_TELEPHONE="zh_CN.utf8"
LC_MEASUREMENT="zh_CN.utf8"
LC_IDENTIFICATION="zh_CN.utf8"
LC_ALL=zh_CN.utf8

七:同步时间


[root@srv ~]# yum -y install ntp

让linux命令在后台运行

今天在打算在我的vps上安装Zimbra,不过这个东西,300多m,在vps下载需要不少时间,如果这个时候,我的ssh断了,那么下载就中断。

我是知道linux可以后台运行,不过从来都没有用到过。这次就研究一下,发现如果只是简单使用后台运行,倒是很简单。

[root@srv ~]# nohup wget http://img.cs.montana.edu/zimbra/zcs-5.0.9_GA_2533.RHEL5.20080815132719.tgz &

看见没有,红色标记的东西是我加上就可以了。

如果确认这个程序已经在后台运行

[root@srv ~]# ps -ef |grep wget
root 7329 3699 0 20:49 pts/0 00:00:00 wget http://img.cs.montana.edu/zimbra/zcs-5.0.9_GA_2533.RHEL5.20080815132719.tgz
root 10194 9492 0 21:03 pts/1 00:00:00 wget http://img.cs.montana.edu/zimbra/zcs-5.0.9_GA_2533.RHEL5.20080815132719.tgz
root 11523 9492 0 21:05 pts/1 00:00:00 grep wget

http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/

还有其他几种方式,不过够我用了,改天再研究。

http://img.cs.montana.edu/linux/

vps 初始设置

登录vps后,查看完信息,需要做一些初始设置,这样会用起来比较顺手。这个会慢慢完善,现在想把我想到的都整理出来。

一:卸载没有必要的软件

缺省系统装了apache,sendmail,需要把这两个卸载。

二:停止没有必要的服务

停止 mcstrans ,messagebus ,restorecond

chkconfig --list |grep 3:on |awk '{print $1}' |egrep -v 'sshd|crond|iptables|xinetd|network|syslog' |xargs -i{} chkconfig --level 3 {} off

三:升级到5.2

yum update

四:修改时区

root@srv /]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@srv /]# date -R
Wed, 25 Feb 2009 10:24:26 +0800

五:同步时间

yum -y install ntp

ntpdate cn.pool.ntp.org

# crontab -e
加入一行:
15 3 * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1

六:修改默认字符集

localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
export LC_ALL=zh_CN.utf8
echo "export LC_ALL=zh_CN.utf8">> /etc/profile

升级vps到centos5.2

购买vps的时候,反复问卖家,我买的到底是5.0,还是5.2.卖家无法肯定回答。

登录vps,查看了一下,是centos5.0,不过已经升级内核。内核的版本和centos5.2是一样的。

升级到5.2,那么只需要

yum update

这样就可以把vps升级到centos5.2.

[root@iredos ~]# more /etc/redhat-release
CentOS release 5.2 (Final)

注意一点,所有的vps,都是使用相同的内核,你是不能升级内核的,所以你只能等托管商来升级内核。

还有就是yum不需要任何的设置就可以直接使用。这倒是非常不错。

高效配置Linux代理服务器 Squid介绍

作为一种免费的网络操作系统,Linux越来越受到广大网络爱好者的欢迎,目前Internet上运行的主机有相当一部分采用的就是Linux,而且中国已经把Linux作为政府上网的指定网络操作系统。种种迹象表明,Linux正在逐渐走向成熟。

为了解决Internet发展迅速和IP地址资源紧张的矛盾,代理服务器的使用越来越广泛。Squid是一种在Linux系统下使用的比较优秀的代理服务器软件。

代理服务

代理服务是指由一台拥有标准IP地址的机器代替若干没有标准IP地址的机器和 Internet上的其它主机打交道,提供代理服务的这台机器称为代理服务器。拥有内部地址的机器想连接到Internet上时,先把这个请求发给拥有标准IP地址的代理服务器,由代理服务器把这个请求通过它的标准IP地址发到请求的目的地址。然后目标地址的服务器把返回的结果发回给代理服务器,代理服务器再原封不动的把资料发给内部主机。若干拥有内部地址的机器就组成了内部网,代理服务器的作用就是沟通内部网和Internet,解决内部网访问 Internet的问题。这种代理事不可逆的,Internet上的主机不能访问任何一台拥有内部地址的机器,这样又可以保障内部资料的安全性。

代理软件的一个优点是它能够检验除了数据包之外的许多东西。Squid对数据包的有效载荷进行检验,也就是穿越防火墙的数据包中TCP(或者UDP)部分所占地份量。根据数据包报头(数据包中的IP部分)和数据包有效载荷(TCP部分)的信息,代理防火墙能够决定数据包将发往何处,数据包请求什么,以及根据数据包所必须提供的这些信息决定采取什么样的行动。

对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览 Internet的速度,提高客户机的访问命中率。Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。

Squid将数据元缓存在内存中,同时也缓存DNS查寻的结果,除此之外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持访问控制。由于使用了ICP,Squid能够实现重叠的代理阵列,从而最大限度的节约带宽。

Squid由一个主要的服务程序Squid,一个DNS查询程序dnsserver,几个重写请求和执行认证的程序,以及几个管理工具组成。当Squid启动以后,它可以派生出指定数目的dnsserver进程,而每一个dnsserver进程都可以执行单独的DNS查询,这样一来就大大减少了服务器等待DNS查询的时间。

Squid的另一个优越性在于它使用访问控制清单(ACL)和访问权限清单(ARL)。访问控制清单和访问权限清单通过阻止特定的网络连接来减少潜在的Internet非法连接,可以使用这些清单来确保内部网的主机无法访问有威胁的或不适宜的站点。

编译安装Squid

squid软件包有两种:一种是RedHat所使用的rpm包,另一种是源代码包。

rpm包的安装:

1.进入/mnt/cdrom/RedHat/RPMS。

2.执行rpm -ivh squid-2.2.STABLE4-8.I386.rpm。

源代码包的安装:

1.从http://www.squid-cache.org下载squid-2.2.STABLE4-src.tar.gz。

2.将该文件拷贝到/usr/local目录。

3.解开该文件tar xvzf squid-2.2.STABLE4-src.tar.gz,在/usr/local目录下生成一个新的目录squid-2.2.STABLE4,为了方便使用mv squid-2.2.STABLE4 squid将目录更名为squid。

4.进入squid目录。

5.执行./configure,可以用./configure -prefix=/directory/you/want指定安装目录。系统默认安装目录为/usr/local/squid。

6.执行make all。

7.执行make install。

8.安装结束后,Squid的可执行文件在安装目录的bin子目录下,配置文件在etc子目录下。

配置squid

配置文件squid.conf

Squid有一个主要的配置文件squid.conf,位于/etc/squid目录下,用户仅仅需要修改该配置文件即可。

squid.conf配置文件分为13个部分,分别是:

1.NETWORK OPTIONS(有关的网络选项)

2.OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM(作用于邻居选择算法的有关选项)

3.OPTIONS WHICH AFFECT THE CACHE SIZE(定义cache大小选项)

4.LOGFILE PATHNAMES AND CACHE DIRECTORIES(定义日志文件的路径及cache的目录)

5.OPTIONS FOR EXTERNAL SUPPORT PROGRAMS(外部支持程序选项)

6.OPTIONS FOE TUNING THE CACHE(调整cache选项)

7.TIMEOUTS(超时)

8.ACCESS CONTROLS(访问控制)

9.ADMINISTRATIVE PARAMETERS(管理参数)

10.OPTIONS FOR THE CACHE REGISTRATION SERVICE(cache注册服务选项)

11.HTTPD-ACCELERATOE OPTIONS(HTTPD加速选项)

12.MISCELLANEOUS(杂项)

13.DELAY POOL PARAMETERS(延时池选项)

虽然squid的配置文件很庞大,但是用户可以根据自己的实际情况修改相应的选项,并不需要配置所有的选项。下面介绍几个常用的选项。

1.http_port

定义squid监听HTTP客户连接请求的端口。缺省是3128,如果使用HTTPD加速模式则为80。可以指定多个端口,但是所有指定的端口都必须在一条命令行上。

2.cache_mem

指定squid可以使用的内存理想值,建议设为内存的1/3.

3.cache_dir Directory-Name Mbytes Level1 Level2

指定squid用来存储对象的交换空间的大小及其目录结构。可以用下面的公式来估算系统所需要的子目录数目。

已知量:

DS = 可用交换空间总量(单位KB)/ 交换空间数目

OS = 平均每个对象的大小= 20k

NO = 平均每个二级子目录所存储的对象数目 = 256

未知量:

L1 = 一级子目录的数量

L2 = 二级子目录的数量

计算公式:

L1 x L2 = DS / OS / NO

注意这是个不定方程,可以有多个解。

4.maximum_object_size

大于该值得对象将不被存储。如果要提高访问速度,就降低该值;如果想最大限度的节约带宽,降低成本,就增加该值。

5.dns_nameservers

定义Squid进行域名解析时使用的域名服务器。

6.acl

定义访问控制列表。定义语法为:

acl aclname acltype string ...

acl aclname acltype "file" ...

7.http_access

根据某个访问控制列表允许或禁止某一类用户访问。

运行Squid

配置并保存好squid.conf后,就可以启动、停止和重新启动Squid:

/etc/rc.d/init.d/squid start

/etc/rc.d/init.d/squid stop

/etc/rc.d/init.d/squid restart

可以通过ps命令查看Squid服务是否已经正常启动:

ps -A |grep squid

如果出现以下信息:

6573 ? 00:00:00 squid

6574 ? 00:00:00 squid

则表明Squid服务已经正常启动。

客户端的配置

将某台终端设置成内部地址,并将该终端的DNS服务器设置为代理服务器的DNS服务,在内部地址和标准地址之间作一个路由。在浏览器里设置代理服务器地址为Squid代理服务器的地址,就可以通过代理服务器上网了。

一个实例

假设有这样的应用环境,网络中有一台拨号服务器为用户提供拨号接入服务,且运行有Squid实现的代理服务器,其IP地址为192.168.2.32。拨号用户得到一个内部IP,地址范围为192.168.2.1-192.168.2.30。

1.配置squid.conf

http_port 80

cache_mem 32 MB

cache_swap_low 90

cache_swap_high 95

maximum_object_size 4096 KB

cache_dir /var/spool/squid 100 16 256

cache_access_log /var/log/squid/access.log

cache_log /var/log/squid/cache.log

cache_store_log /var/log/squid/store.log

cache_dns_program /usr/lib/squid/dnsserver

dns_nameservers 192.168.2.32

unlinkd_program /usr/lib/squid/unlinkd

acl all src 0.0.0.0/0.0.0.0

acl allow_ip src 192.168.2.1/255.255.255.0

acl manager proto cache_object

acl localhost src 192.168.2.32/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80 21 443 563 70 210 1025-65535

acl CONNECT method CONNECT

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost

http_access allow allow_ip

cache_effective_user squid

cache_effective_group squid

下面两个选项是用来定义squid加速模式的。用virtual来指定为虚拟主机模式。80端口为要加速的请求端口。采用这种模式时,Squid就取消了缓存及ICP功能,假如需要这些功能,必须设置httpd_accel_with_proxy选项。

httpd_accel_host virtual

httpd_accel_port 80

下面两个选项在透明代理模式下是必须设置成on的。在该模式下,Squid既是web请求的加速器,又是缓存代理服务器。

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

设置透明代理时,必须打开包转发功能,还要结合ipchains:

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

/sbin/ipchains -A input -j ACCEPT -i lo

/sbin/ipchains -A forward -s 192.168.2.1/24 -d 0/0 -j MASQ

2.用户认证设置

默认时,Squid本身不带任何认证程序,但是可以通过外部认证程序来实现用户认证。一般有以下的认证程序:LDAP认证、SMB认证、基于mysql的认证、基于sock5的密码认证和基于Radius的认证。下面介绍常用的ncsa实现的认证,ncsa是Squid源代码包自带的认证程序之一,实现步骤如下:

* 进入/usr/local/squid/auth_modules/NCSA目录,执行:

make

make install

* 编译成功后,会生成ncsa_auth的可执行文件,拷贝生成的可执行文件到/usr/bin目录下。

* 修改squid.conf文件的相关选项。

acl auth_user proxy_auth REQUIRED

http_access allow auth_user

authenticate_program /usr/local/squid/bin/ncsa_auth

/usr/local/squid/etc/passwd

* 利用Apache携带的工具软件htpasswd在/usr/locad/squid/etc下生成密码文件,并添加相应的用户信息。该密码文件每行包含一个用户的信息,即用户名和密码。例如,用htpasswd生成密码文件passwd并添加用户me:

htpasswd -c /usr/local/squid/etc/passwd me

* 重新启动Squid,密码认证生效。

3.客户端的设置

在客户端浏览器的选项中将代理服务器的IP地址设为192.168.2.32,http端口为80。若要设置透明代理,则客户端不需要在浏览器中指定代理服务器,而将网关设为192.168.2.32,并且客户端要配置好DNS。

现在,内部网的主机就可以通过代理访问Internet了。

结束语

Squid与Linux下其它的代理软件如Apache、Socks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议。用ipchains+Squid的解决方案,就可以获得通过缓存高性能的同时能够无缝的访问Internet。最后说明一点,squid不仅可用在Linux系统上,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。

Tor与Privoxy安装设置指南

本文作者:XueCan

授权许可:创作共享协议

背景知识

  • 什么是 tor ?

Tor是第二代onion routing(洋葱路由)的一种实现,用户通过Tor可以在因特网上进行匿名交流。

  • 什么是 privoxy ?

Privoxy是一款带过滤功能的代理服务器,针对HTTP、HTTPS协议,经常跟Tor、Squid组合使用。通过Privoxy的超级过滤功能,用户从而可以保护隐私、对网页内容进行过滤、管理cookies,以及拦阻各种广告等。

  • 我为什么要使用 tor 和 privoxy ?

我不知道,如果你对这份短文感兴趣,多半你已经知道或者急切的想要使用它们。如果你只是无意中来到这里,多半你并不需要它们。

安装与设置

  • 安装


sudo apt-get install tor privoxy

  • 使用你最喜欢的编辑器打开 /etc/privoxy/config 文件,在最前面加上下面这一行(别漏了那个不起眼的"."):


forward-socks4a / localhost:9050 .

你可能希望 privoxy 不要把什么事情都记录下来,找到下面的两行,通过在它们前面添加"#"注释掉它们:



...
logfile logfile
...
jarfile jarfile
...

保存修改了的 /etc/privoxy/config 文件。

  • 重新启动 privoxy 服务


sudo /etc/init.d/privoxy restart

  • 设置你的软件使用 tor + privoxy

在支持使用代理服务器的软件,设置代理服务器为:



localhost:8118

外部链接