转自Windf.orce's Cabin.
要穿过网络中的高墙,首先就要了解墙的原理[1],我们知道,当我们访问一个网站时,首先由主机向域名服务器发送域名解析请求,在这里,如果网络管理员不想让网络内部的人员看到某些网站,.让域名解析服务器发出一个假的服务器地址,不久之前的Google被重定向道Baidu就是用的该.方法,这种方法被称为.DNS劫持。. 杀毒
然后,我们知道,当你访问一个网址.时,需要输入一个url(Uniform Resource L.ocato.r),一个简单的基于内容的过滤的方法就是在网关检测url中是否含有敏感的关键字,如.果有则直接重置连接。然后还可以在网关检测所访问服务器所传回的网页中是否含有敏感信息,如果有,则将链接重置。电影
要穿越利用DNS劫持的防火墙,有人提出利用OpenDNS的.服务器解决.这一问题,但事实上这种做法是不可行的,因为在某些防火墙策略中,可以强制指定DNS的地址,但如果DN.S在防火墙外 建材
要穿越基于内容过滤的防火墙,一.个可行的方法是将传输的内容加密,有人提出过用ss.h端口.映射的方法来解决这一问题,但是,有一个更好的方法来解决这一问题,那就是OpenVpn。虚拟主机
Vpn是Virtual. Priv.ate Network的简称,他将你的电脑连接到远程主机,并和远程主机组成一个虚拟局域网,而且,你和远程主机之间的数据传送是加密的,这样,你就.可以利用VPN有效的穿越防火墙,因为,还没有防火墙可以做到实时破译RSA加密数据并扫描。.这样,我们只需要在远程主机上开启OpenVpn服务,然后再利用远程主机作为网关就可以很容易的穿墙上网了,下面.就是在Ubuntu 8.04.上安装使用OpenVPN的实例,首先要作的是安装OpenVPN,在shell中键入虚拟主机
sudo. a.pt-get install openvpn 美容
然后就是OpenVPN的配置了,你可以利用他提供的模板来建立配置文件,op.envpn的配置文件在/usr/share/doc/openvpn/exa.mples/下,我们首先做的是建立.密钥文件,首先,我们要输入--------------彩票
cd /usr./share/doc/openvpn/exam.ples/easy-rsa/2.0.
vi ./vars
#vars
export EASY_R.SA="`pwd`"教育
export OPENSSL=".openssl" 汽车
export P.KCS11TOOL="pkcs11-t.ool".
export GREP=."grep"[成人用品]
expo.rt KEY_CONFIG.=`$EASY_RSA/whichopensslcnf $EASY_RSA`电影
export KEY_DIR="$EASY_RSA./key.s"健康
echo NOTE: If you run ./clean-all, I will b.e doing a rm -rf on .$KEY_DIR--------------彩票
export. KEY_SIZE=1024.#如果需要,可以改为2048 美容
export CA_EXPIRE=3.650#证书.过期时间.
export KEY_EXPIRE=36.50.
#下面是证书颁发者的信息
exp..ort KEY_COUNTRY="US"#国家名外贸
expor.t KEY_PROVINCE="CA"#.省域名
export KEY._CITY="SanFranc.isco"#城市.
export KEY_ORG=."For.t-Funston"#所在组织投资
exp.ort KEY_EMAIL="
me@myhost.mydomai.n"#邮箱虚拟主机
然后,就可以利用如.下命令建立证书文件和密钥文件服务器
./clean-all
./build-ca
./build-key-se.rver server 汽车
./bui.ld-key clinet虚拟主机
./build.dh
然后就可以配置服务器端的配.置文件,ca.crt,server.crt,server.key,dh1024.pem通通拷贝到/etc/o.penvpn下,然后编辑/etc/s.erver.conf如下.
port 1194
proto udp
dev tun
ca ca.crt
cert .server.crt.
ke.y server.key # This file should be kep.t secret服务器
dh dh1024.pem
se.rver 10.8..0.0 255.255.255.0 美容
ifconfig.-pool-persist ipp..txt虚拟主机
push ."redirect-gateway".
;push ".dhcp-option DNS .10.8.0.1"--------------彩票
;push "d.hcp-option WINS 10..8.0.1"教育
keepali.ve 10 120学习
comp-lzo
;max-cl.ients 100( 游戏 )
;user nobody
;group nobody
persist-key
persist-tun
status openvpn.-status.log学习
verb 3
;mute 20
然后,运行
/etc/init.d/openvpn s.tart 建材
就可以成功运行VPN了。服务器开启VPN之后,就可以利用iptables开启ip转发了.。..
对于客户端
将ca..crt,client.crt,client.key拷贝道一个文件夹下,然后建立client.ovpn如下.学习
client
dev tun
;dev-node .MyTap 女人
proto udp
r.emote 此处为服务器地址 1194 婚庆
;remote-random
resolv-retry in.finite( 游戏 )
nobind
persist-key
persist-tun
ca ca.crt
cert. client.crt投资
key client.key
comp-lzo
verb 3
然后.在该文件下运行openvpn. –daemon –conf client.ovpn,并将本机的dns改为opendns即可。 健康
好了,现在你已经成功的翻阅高墙了.。(广告)
参考文献
[1] G.F.W在做什么(“连接被重置”背后的G..FW).
[ 本帖最后由 mfzz1.134 于 2009-6-27 16:41 编.辑 ].