利用单主机搭建和物理机器通讯的测试网络
2010-11-01 15:22
351 查看
前言
很多情况下搭建的虚拟环境都是在局域网的环境中,一旦主机脱离了局域网环境那么很多网络方面的测试就很难开展了。这里通过在物理主机添加微软环回网卡的方式实现了虚拟机网络和物理主机联通测试(在物理机失去和局域网联系或是物理主机的网卡在断开的情况下)。通过这种方式可以在单台机器上实现不同的网络互联测试而不再依赖于物理机器的网络连接。
这里的网络环境都是为了学习linux下iptables所设定,所以在测试环境中大部份虚拟主机都为linux系统。
iptables问题答案
在上一篇文章中留下了“牛刀小试”的题目,这里先公布它的答案然后再继续测试网络的组建。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595951K94M.jpg)
一、
假设在防火墙主机执行“iptables -A INPUT -p icmp -j DROP”指令,请问192.168.2.15及192.168.0.20哪一台主机可以ping到防火墙主机?
解答:
都不行。因为在这个范例中的匹配条件只有一个“-p icmp”,因此,不管是哪一台主机去ping防火墙主机,封包都会符合-p icmp的条件,这样封包就被丢弃掉了。
二、
假设在防火墙主机上执行“iptables -A INPUT -i eth0 -p icmp -d 192.168.0.2 -j DROP”命令,请问192.168.2.15及192.168.0.20哪一台主机可以ping到防火墙主机的192.168.0/2这个IP?
解答:
只有192.168.0.20可以ping到。因为在这个例子中有两个条件,分别为“-i eth0”及“-p icmp”,因此,如果是192.168.2.15发送ICMP封包到192.168.0.2时,封包会符合以上两个条件,并遭到丢弃;但如果是192.168.0.20送进来的封包,因为封包是从eth1进入的,因此,并不会全部符合我们所定的条件,所以192.168.0.20可以成功地ping到防火墙主机上192.168.0.2这个IP。
三、
假设在防火墙主机有WEB Server正在执行中,且我们在防火墙主机上执行“iptables -A INPUT -i eth1 --dport 80 -s 192.168.0.0/24 -j REJECT”指令,请问在上图中哪些主机可以访问到该WEB Server?
解答:
全部都可以。因为这个语法不正确,--sport或是--dport参数一定要指明TCP或UDP协议。
四、
假设192.168.2.5主机为WEB Server,且我们在防火墙主机上执行“iptables -A INPUT -i eth1 -p tcp -d 192.168.2.5 --dport 80 -j REJECT”指令,请问192.168.0.20及192.168.2.15哪一台主机可以方问到该WEB Server?
解答:
都可以,因为192.168.2.15与192.168.2.5在同一个网段。在这个例子中用的是INPUT Chain,不能干涉192.168.0.20对192.168.2.5的访问动作,除非是FORWARD Chain。
五、
假设192.168.2.5及192.168.0.10主机都为WEB Server,且我们在防火墙主机上执行“iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport -j REJECT”命令,请问:192.168.0.20可以该问到哪一台WEB Server?192.168.2.15可以该问到哪一台WEB Server?
解答:
192.168.0.20可以访问到两部WEB SERVER,因为是防火墙同一边;192.168.0.10也可以访问到192.168.2.5,具体原因大家想想。192.168.2.15可以访问192.168.2.5,因为和防火墙是同边;而192.168.2.15无法访问192.168.0.10。
实际环境说明
以下图为例说明实际的主机及网络情况。物理主机为笔记本电脑,本身含有两块物理网卡(无线网卡和有线网卡),其中物理网卡通过DHCP方式和局域网或是internet网联接;在此基础上添加一块微软的环回网卡用作和虚拟网络通讯。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595954kQpJ.jpg)
添加环回网卡
打开系统中控制面板中的的“添加硬件”选项,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595964pnE7.jpg)
按提示选择同意添加,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595969lao4.jpg)
在出现的硬件列表中找到微软的环回网卡,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595977ecpg.jpg)
完成添加后,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595987gwaR.jpg)
在随后的网络连接中选中该网卡,将该网卡重命名并设定相应的测试IP地址,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_12885960083dql.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596021xomx.jpg)
虚拟网络设定
测试网络是两台linux加一台RouterOS(RouterOS相关内容请参考前面的内容)做成的测试TEAM,其中test1主机联接LANA网络,test2联接LANB网络,RouteOS分别桥接物理机的环回网卡及LANA、LANB、LANC三个网络。如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288596029n9uX.jpg)
路由设置
有关RouterOS的内容前面已经讲得够多了,这里不做太多的展开。需说明的是各测试网段都是采用DHCP的方式派发IP地址分加区分为A、B、C三类网段。如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288596035ozFY.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596044SrnQ.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596049dWrl.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596055RXO1.jpg)
虚拟机设置
虚拟机没什么特别的地方,只要能正常获取路由上派发的IP地址就可以了,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288596069uegL.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_12885960901tj5.jpg)
物理机设置
物理机需要设定指向虚拟网络的路由才能保证和虚拟网络通讯,设定正常后可以在物理机上通过相应的软件和虚拟机联通。如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288596108m3N1.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596118mnDt.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596131LDTt.jpg)
本文出自 “虚拟的现实” 博客,转载请与作者联系!
很多情况下搭建的虚拟环境都是在局域网的环境中,一旦主机脱离了局域网环境那么很多网络方面的测试就很难开展了。这里通过在物理主机添加微软环回网卡的方式实现了虚拟机网络和物理主机联通测试(在物理机失去和局域网联系或是物理主机的网卡在断开的情况下)。通过这种方式可以在单台机器上实现不同的网络互联测试而不再依赖于物理机器的网络连接。
这里的网络环境都是为了学习linux下iptables所设定,所以在测试环境中大部份虚拟主机都为linux系统。
iptables问题答案
在上一篇文章中留下了“牛刀小试”的题目,这里先公布它的答案然后再继续测试网络的组建。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595951K94M.jpg)
一、
假设在防火墙主机执行“iptables -A INPUT -p icmp -j DROP”指令,请问192.168.2.15及192.168.0.20哪一台主机可以ping到防火墙主机?
解答:
都不行。因为在这个范例中的匹配条件只有一个“-p icmp”,因此,不管是哪一台主机去ping防火墙主机,封包都会符合-p icmp的条件,这样封包就被丢弃掉了。
二、
假设在防火墙主机上执行“iptables -A INPUT -i eth0 -p icmp -d 192.168.0.2 -j DROP”命令,请问192.168.2.15及192.168.0.20哪一台主机可以ping到防火墙主机的192.168.0/2这个IP?
解答:
只有192.168.0.20可以ping到。因为在这个例子中有两个条件,分别为“-i eth0”及“-p icmp”,因此,如果是192.168.2.15发送ICMP封包到192.168.0.2时,封包会符合以上两个条件,并遭到丢弃;但如果是192.168.0.20送进来的封包,因为封包是从eth1进入的,因此,并不会全部符合我们所定的条件,所以192.168.0.20可以成功地ping到防火墙主机上192.168.0.2这个IP。
三、
假设在防火墙主机有WEB Server正在执行中,且我们在防火墙主机上执行“iptables -A INPUT -i eth1 --dport 80 -s 192.168.0.0/24 -j REJECT”指令,请问在上图中哪些主机可以访问到该WEB Server?
解答:
全部都可以。因为这个语法不正确,--sport或是--dport参数一定要指明TCP或UDP协议。
四、
假设192.168.2.5主机为WEB Server,且我们在防火墙主机上执行“iptables -A INPUT -i eth1 -p tcp -d 192.168.2.5 --dport 80 -j REJECT”指令,请问192.168.0.20及192.168.2.15哪一台主机可以方问到该WEB Server?
解答:
都可以,因为192.168.2.15与192.168.2.5在同一个网段。在这个例子中用的是INPUT Chain,不能干涉192.168.0.20对192.168.2.5的访问动作,除非是FORWARD Chain。
五、
假设192.168.2.5及192.168.0.10主机都为WEB Server,且我们在防火墙主机上执行“iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport -j REJECT”命令,请问:192.168.0.20可以该问到哪一台WEB Server?192.168.2.15可以该问到哪一台WEB Server?
解答:
192.168.0.20可以访问到两部WEB SERVER,因为是防火墙同一边;192.168.0.10也可以访问到192.168.2.5,具体原因大家想想。192.168.2.15可以访问192.168.2.5,因为和防火墙是同边;而192.168.2.15无法访问192.168.0.10。
实际环境说明
以下图为例说明实际的主机及网络情况。物理主机为笔记本电脑,本身含有两块物理网卡(无线网卡和有线网卡),其中物理网卡通过DHCP方式和局域网或是internet网联接;在此基础上添加一块微软的环回网卡用作和虚拟网络通讯。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595954kQpJ.jpg)
添加环回网卡
打开系统中控制面板中的的“添加硬件”选项,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595964pnE7.jpg)
按提示选择同意添加,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595969lao4.jpg)
在出现的硬件列表中找到微软的环回网卡,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595977ecpg.jpg)
完成添加后,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288595987gwaR.jpg)
在随后的网络连接中选中该网卡,将该网卡重命名并设定相应的测试IP地址,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_12885960083dql.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596021xomx.jpg)
虚拟网络设定
测试网络是两台linux加一台RouterOS(RouterOS相关内容请参考前面的内容)做成的测试TEAM,其中test1主机联接LANA网络,test2联接LANB网络,RouteOS分别桥接物理机的环回网卡及LANA、LANB、LANC三个网络。如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288596029n9uX.jpg)
路由设置
有关RouterOS的内容前面已经讲得够多了,这里不做太多的展开。需说明的是各测试网段都是采用DHCP的方式派发IP地址分加区分为A、B、C三类网段。如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288596035ozFY.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596044SrnQ.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596049dWrl.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596055RXO1.jpg)
虚拟机设置
虚拟机没什么特别的地方,只要能正常获取路由上派发的IP地址就可以了,如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288596069uegL.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_12885960901tj5.jpg)
物理机设置
物理机需要设定指向虚拟网络的路由才能保证和虚拟网络通讯,设定正常后可以在物理机上通过相应的软件和虚拟机联通。如下图所示。
![](http://img1.51cto.com/attachment/201011/1/65148_1288596108m3N1.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596118mnDt.jpg)
![](http://img1.51cto.com/attachment/201011/1/65148_1288596131LDTt.jpg)
本文出自 “虚拟的现实” 博客,转载请与作者联系!
相关文章推荐
- dynamips + vmware + 真实机器搭建网络测试环境
- 在多个网卡的机器上利用socket进行网络测试的问题
- 不使用Mac机器网络使用iPhone网络搭建ipv6测试环境(cocos2dx项目苹果审核支持ipv6处理一)
- 虚拟机网络设置,利用物理主机连接外网
- ping命令_Linux ping 命令用法详解:测试主机之间网络的连通性
- 最基本,最常用的,测试物理网络的
- .Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--类设计2
- .Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--使用封装的网络服务1[使用IE浏览本页]
- 通讯中的字节网络顺序和字节主机顺序
- C# Ping类的例子,可用于测试网络,主机响应时间等
- Shell 脚本简记 -- 测试网络主机执行某段程序
- 主机、虚拟机、开发板网络环境搭建小结备忘
- 利用 Virtualbox 进行 Ironic 环境的搭建和测试
- vmware虚拟机设计bridge的网络桥接模式无法ping通宿主机但是可以ping通局域网内的其他机器
- VMWare不同物理主机上虚拟机的网络互通
- docker应用-5(使用overlay 网络进行容器间跨物理主机通信)
- Android网络编程--问题汇总(02) 利用花生壳实现免费外网服务器搭建
- docker应用-5(使用overlay 网络进行容器间跨物理主机通信)
- 使用Docker的macvlan为容器提供桥接网络及跨主机通讯
- VirtualBox实现宿主机和虚拟机之间网络的通讯