湖北E信共享上网实验

来源:互联网 发布:苏联对中国的影响 知乎 编辑:程序博客网 时间:2024/04/27 15:40
原理分析:NAT地址转换,利用第三方虚拟系统的两块网卡为中介网关转发包数据,
虚拟系统中一块网卡用NAT连接到源主机,另一块网卡桥接到物理局域网。

物理实验工具:寝室4台Windows系统主机(2个Win7、2个XP),交换机一个,网线若干
运用软件:E信软件,VMware Workstation 6.5(英文完全版,500多M的), RedHat Linux 5的ISO镜像文件

1.连好网线,配置寝室局域网IP地址、子网掩码和网关,DNS等。
(IP地址随意配置,让寝室四台机子处于同一局域网即可,默认网关指定为虚拟机的桥接到局域网中的地址,
后面会详解,源主机---也就是运行虚拟机和E信的主机---可以不指定网关,DNS是武汉电信的DNS服务器)

 


然后将源主机防火墙都关掉还是有点必要的,客户端主机可以打开外网防火墙


 


 

2.源主机登陆E信账号,并且结束Netkeeper.exe 进程

这是电信的一个很流氓的进程,用于检测网络是否共享,还会自动终止网络桥接协议。

 

 


3. 安装VMware Workstation 6.5和RedHat Linux 5

Vware Workstation 6.5 的安装注册和普通软件一样,不截图了。

安装注册好Vware后会出现网络中心里面会出现本地连接、本地连接2、本地连接3

打开他们的属性,将VMware Bridge Protocol都勾选了,这时候一定要保证任务管理器中的NetKeeper进程确定关掉了,

不然他会偷偷的给你关闭桥接协议。

 

 

进入VMware,打开Edit-->Virtual  Network Editor
进入DHCP和NAT的选项卡,如果服务是stop则点旁边的start,然后点应用

 

 


按 Ctrl + N 新建虚拟机


 

选择镜像文件

 

建立用户密码

 

选择系统存放位置

 

分配系统存储空间大小

 

添加硬件

 

添加一块新的网卡

 

 

 

选择桥接模式

 

后面的Finishi,  OK, OK的就会自动开始安装Linux。


4.配置虚拟机Linux 服务器(如果对Linux操作不熟,可以直接把已经配置好的Linux系统文件打开就行!)

Linux系统安装好后,此时应该是可以通过第一块NAT设置的网卡上网的,

(可以用  nslookup www.baidu.com 测试下能不能查询到百度IP,如果连接不上就看看NAT,DHCP是否启动等等,慢慢排错吧!)

但我们要让Linux作为局域网中的网关,因此得设置第二块网卡信息


命令如下:


vi /etc/sysconfig/network-scripts/ifcfg-eth1

在文件后面添加三句话(如果已经存在则修改)
ONBOOT=yes
IPADDR=192.168.32.254  #指定局域网中网关IP
NETMASK=255.255.255.0    #子网掩码
BOOTPROTO=static  #静态地址协议

vi /etc/sysctl.conf
将net.ipv4.ip_forward=0  改为 1,可以实现ipv4的包转发功能 

sysctl -p
立即执行修改

chkconfig iptables off
service iptables stop
关闭防火墙,懒得具体设置了端口那些玩意了

iptables -t nat -A POSTROUTING -s 192.168.32.0/24 -o eth0 -j MASQUERADE
设置NAT转换规则, 192.168.32.0是指实际物理局域网络,/24是子网掩码, eth0是NAT的设置的网卡

service iptables save
保存NAT规则
(这里似乎有点问题,可能保存不了,保险起见,可以将NAT规则添加到rc.local文件中,命令如下
vi /etc/rc.local
在最后一行添加
iptables -t nat -A POSTROUTING -s 192.168.32.0/24 -o eth0 -j MASQUERADE
)

service network restart
重启网络

5.将其他Windows的网关指定为Linux的第二块网卡地址,就可以毫无压力的共享上网了,感觉速度还不错,
似乎交换机+虚拟机 比路由器的效率来得更高一点,就是每次都得开个虚拟机有点纠结,
Linux的 XWindows界面也比较消耗资源,我Win7机子开虚拟机都可以占1.8G的内存,苦逼的Win7伤不起啊,
过段时间还是换XP算了。。。所以Linux最好使用命令行界面好一点,可以通过修改一个文件来切换到命令行界面,占用资源就非常少了。
vi /etc/inittab
其中有一行  id:5:initdefault:  
5就是指默认XWindows启动,将5改为3则是以命令行启动,事实证明,对于Linux来说,命令行才是最效率的。

从原则上来说,不仅仅是RedHat,任何一款Linux都是可以实现以上功能的,
甚至虚拟一块软路由器理论上一样可以实现,这个有待以后慢慢尝试了。。。