LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4776|回复: 12

linux下使用netpas

[复制链接]
发表于 2007-8-31 23:48:23 | 显示全部楼层 |阅读模式
0。 什么是netpas,就是一个网络加速软件,可以使电信、网通、教育网、铁通等等之间的互访速度大大提高;而且对于教育网用户一个特别大的作用是它可以使你访问国际网,真好,官方网站: http://www.netpas.cn
注意:netpas是收费的,你也可以选择其他免费的软件替代

1。 为什么要在linux下使用netpas,linux这个网络操作系统如果不使用internet等于暴殄天物,而且很多时候linux要连国际网下东西,而教育网用户使用国际网是个麻烦事,总是自己找那个极不稳定的代理也是很累的事情。所以如果能让linux也用上netpas的服务,嘿嘿。。。其中妙处自己才能体会。简单的说,netpas给我们提供了一个稳定、透明的代理

2。实现思路。当然首先要让netpas运行,而netpas目前只支持windows,所以,你先得有windows环境。一个思路是用wine,一个是用虚拟机。我觉得现在虚拟机发展不错,所以就选择了虚拟机这个思路。用虚拟机跑windows,然后在windows下运行netpas,最后在windows下开启代理服务,让linux走windows的线路出去,就能让linux也“享受”netpas的服务了 :)

3。虚拟机的选择及上网方式。这个没什么好多说的,看自己的喜好,我用virtualbox 1.4.。至于上网方式,nat是不行的,必须给主机和客户机都分配一个独立的地址,所以我选则了用桥接的方式。

4。虚拟机桥接的实现。这个是难点。大家可以参考一下网上的文章,很惭愧,我并没有搞懂原理,只是照葫芦画瓢,下面讲讲我这个瓢是怎么画出来的:
    4.1 去官方 http://www.virtualbox.org 下载对应你机器的包,我下载的是  virtualbox_1.4.0-21864_Debian_etch_i386.deb 装上。会提示缺少包,用 apt-get -f install 即可解决。
    4.2 安装编译工具及相关包。在安装过程中,要编译 VirtualBox 所用的内核模块。为此,你需要准备基本的编译工具及包,你可以使用下列指令来安装它们:
sudo apt-get install build-essential linux-headers-`uname -r`
实际上我还安装了内核源代码,不知道是否必要?
    4.3  现在,转到所保存 VirtualBox 安装包的目录,通过下面的指令来安装它:

sudo dpkg -i virtualbox_1.4.0-21864_Debian_etch_i386.deb

在安装的过程中,VirtualBox 会要求你接受许可协议。另外,安装程序也会创建 vboxusers 用户组,并编译所需的内核模块。
    4.4 现在,你还不能启动 VirtualBox,因为你的当前用户还不属于 vboxusers 用户组。你可以使用下面的指令来将当前的用户(请使用你的用户名代替指令中的“youruser”)添加到 vboxusers 用户组中:

sudo adduser youruser vboxusers
    4.5 在基于 Debian 和 Ubuntu 的系统上,首先要安装含有建立虚拟网络设备 ( TAP interfaces ) 的工具 uml-utilities 和桥接工具 bridge-utils:

sudo apt-get install uml-utilities

sudo apt-get install bridge-utils

为了使你的虚拟机能够访问网络接口,你必须将运行虚拟主机的用户的用户名(通常是你的ubuntu登录用户名)添加到uml-net用户组(请用你的用户名替换其中的“vboxuser”):

sudo gpasswd -a vboxuser uml-net

注意:为了使改动生效,请重新启动你的电脑。
    4.6 向你的 Debian 或者 ubuntu 操作系统描述你要添加的虚拟网络设备,编辑 /etc/network/interfaces,下面给出我的:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet manual
up ifconfig eth0 0.0.0.0 promisc up

auto eth0

auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user well(这个改成你的用户名)

auto br0
iface br0 inet static
address 你的ip
netmask 255.255.255.0
network 你的ip,最后一组改为0
broadcast 你的ip,最后一组改为255
gateway 你的网关的ip
(如果你用的dhcp,上面6行请改为 iface br0 inet dhcp )
bridge_ports all tap0
    4.7 首次使用需要激活刚才建立的虚拟网络接口和网络桥:

sudo /sbin/ifup tap0

sudo /sbin/ifup br0

这个步骤只需要做一次,下次主机重新启动时,这个接口和桥将自动激活

5. 让 virtualbox 使用这个虚拟网络接口。启动 virtualbox,在主界面上选中要使用刚才建立的虚拟网络接口tap0的虚拟机,点“设置”,在弹出的窗口中选“网络”,选中其中一块网卡(通常为 “网络适配器 0”),选中“启用网络适配器”,“连接到”后面选 "Host Interface",选中“接入网线”,然后在“主机网络界面名称”中填入刚才建立的虚拟网络接口的名字 "tap0",确定。

6。配置虚拟机网卡地址。这一步曾经难倒我了,其实很简单,和主机的br0一样的配置,只是ip改一个不重复的即可。子网掩码、网关、DNS 都不变,与br0的设置一样。

7。此时,主机和客户机就可以通讯了。但注意要调整双方的防火墙,使主机和客户机能够互访。(可以关闭客户机的防火墙)

8。关键一步。linux主机必须开启NAT才能让windows guest上网。注意到第7步,windows客户机还只是能和linux主机通讯,并不能上网。要让windows上网,在你的linux主机iptalbes规则中加入:
        echo -n "Setting up my NAT rules..."

        INTIF=br0
        EXTIF=tap0
        echo 1 > /proc/sys/net/ipv4/ip_forward

        # set forwarding and nat rules
        ${IPTABLES} -A FORWARD -i $EXTIF -o $INTIF -j ACCEPT
        ${IPTABLES} -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
        ${IPTABLES} -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

        echo " done."
这里主要是注意内部网络接口是br0,而外部接口是tap0 !!!
重启防火墙,OK

9。至此,我们得到了一个桥接上网的虚拟机。接下来就实现我们的让linux享受netpas服务的梦想。

10。当然首先是在windows下安装netpas软件,然后,掏钱吧,一个月15元,我觉得值。当然你也可以用其他免费的类似软件

11。接下来,在windows下安装一个代理服务软件,我推荐CCProxy。装好后,进行适当配置,让linux主机能享受CCProxy的服务。具体配置一目了然,也可以参考网上文章。

12。最后,在linux主机中设置使用代理,firefox xchat 都有相应的设置。其他软件也基本都有。填入windows客户机的ip和端口(注意是在CCProxy里面设置的端口),就可以使用windows的代理服务了。当然,很多文本软件比如apt gpg wget 等使用代理是通过设置 http_proxy环境变量或者修改自己的配置文件来实现的。给出一个参考:
export http_proxy=http://xxx.xxx.xxx.xxx:808

13。终于,看到胜利之光了。在windows下开启netpas和CCProxy,在linux下设置好代理,尽情享受netpas给你带来的快感吧。祝好运。。。

14。说明。中间设置往前的部分直接抄袭的 http://linux.ccidnet.com/art/9513/20070817/1181787_1.html图个省事。另外还有别的实现方式也可以考虑,比如internet连接共享等。或者用其他的网络拓扑来实现。大家可以进一步补充。eth0在全过程中似乎没什么作用,我把它设置为混杂(promisc)模式,不知道需要否。特别注意防火墙,如果不怕入侵,就关闭主机和客户机双方的防火墙吧!最后,能否用wine实现是个值得尝试的问题,netpas安装的时候要装驱动,不知道wine能否搞定?谢谢~~

15。感谢。这次实现参考了网上很多文章,对这些作者表示感谢。特别的,我要感谢freenode上#debian-cn #ubuntu-cn #fedora-cn #gentoo-cn 等频道的各位朋友的大力帮助与支持,在此鞠躬了(还得感谢你们让我flood了,哈哈)
发表于 2007-9-1 00:45:33 | 显示全部楼层
文章不错
回复 支持 反对

使用道具 举报

发表于 2007-9-1 01:25:09 | 显示全部楼层
没有看懂。。。
回复 支持 反对

使用道具 举报

发表于 2007-9-1 21:45:50 | 显示全部楼层
为一个netpas装个虚拟机做代理服务器
然后host机连到这个虚拟的windows上用这个代理上网
真能够折腾的

netpas真是FT
一年前就提建议开发linux版的
估计是开发不了吧
或者不愿意开发
国内做商业产品就这德性
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-2 10:09:11 | 显示全部楼层
我也觉得够折腾的,有没有更好的方式上国际网?比如VPN之类的,具体如何实现?还请知情的朋友吱一声
回复 支持 反对

使用道具 举报

发表于 2007-9-2 21:10:02 | 显示全部楼层
买教育网直接车吧
不过他们的服务很烂
也是没有办法的办法

还有一些其它的类似教育网直通车的
如aka
aka.cn

我买过
效果还可以
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-3 14:26:01 | 显示全部楼层
Post by linuxcpp
买教育网直接车吧
不过他们的服务很烂
也是没有办法的办法

确实烂,连个激活信息用163 gmail都收不到,该骂!
回复 支持 反对

使用道具 举报

发表于 2007-9-13 14:00:36 | 显示全部楼层
够折腾的!!
开个VM跑win, linux下基本没法作什么事情了!
回复 支持 反对

使用道具 举报

发表于 2007-9-27 14:15:01 | 显示全部楼层
哈哈,我和lz有一样的想法,按 lz的方法搞定了了,多谢!
回复 支持 反对

使用道具 举报

发表于 2007-9-30 22:55:11 | 显示全部楼层
好办法,今天晚上测试。
在教育网下用linux真的很苦的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表