在Hyper-V中实现windows与linux共享上网(2)
我们发现刚才新增的网卡是并没有被Linux识别的(在这里,我们使用的是CentOS 6.4 X86_64 版本,其他发行版的Linux可能会有所出入),我们需要手动的添加一个网卡配置文件。添加方法非常简单,进入“/etc/sysconfig/network-scripts/”目录,然后执行“cp ifcfg-eth0 ifcfg-eth1”(把eth0的配置文件再拷贝一份到eth1中),然后使用vi编辑器打开刚刚拷贝得到的“ifcfg-eth1”配置文件:
然后对该配置文件作出以下修改:
(1)、把“DEVICE”中由eth0改为eth1
(2)、删除“HWADDR”这一行(删除配置文件记录的网卡硬件地址)
(3)、删除“UUID”这一行(删除配置文件中硬件的唯一标识)
然后保存并退出。
继续使用vi编辑器打开“/etc/udev/rules.d/70-persistent-net.rules”,然后把里面的所有内容清空,保存并退出后重启Linux。
现在再setup就可以看到新添加的网卡了。
好的。就这样,我们成功的为Linux添加了一张新网卡。
3、对Hyper-V中的Linux赋予网络访问的权利
上一个小节中,我们添加了一张“内部”属性的适配器,现在我们把Windows中的宽带连接共享到这张“内部”适配器,让Linux能够共享Windows中的网络。
打开Windows中的“网络连接”:
里面有非常之多的网络适配器,这些大家都不用管,只需要留意图中两个蓝色框起来的适配器,一个为“宽带连接”(也就是Windows中的宽带连接),另一个是“vEthement(Internal Ethernet……)”(也就是在Hyper-V中新建的那一张内部网络适配器)。
在“宽带连接”中点击右键,选择“属性”,打开设置窗口,打开“共享”这个选项卡,勾上“允许其他网络用户通过此计算机的Internet连接来连接”,“家庭网络连接”这个下拉菜单中选择刚刚我们新建的“内部”网络适配器。
点击确定保存退出,断开当前的Windows宽带连接,重新拨号之后,刚才的设置即可生效。
然后继续设置我们的“内部”适配器的IP,如图所示,只要随意的设置一个与宽带连接不同网段的IP即可
然后,在Linux中的eth1网卡设置中采用DHCP的方式获取IP地址(有兴趣的读者可以分别尝试使用静态IP的方式和DHCP的方式获取Linux的IP,然后再对比一下“/etc/resolv”中的不同)
保存退出,并执行“service network restart”重启网络配置
现在尝试一下看能不能解析“www.baidu.com”的域名
嗯,非常好,我们的百度域名能够正常的解析,由于域名解析需要连网到DNS服务器,现在能够看到解析,这就表示,我们的Linux已经能够连网,具有网络访问的能力了。
4、应对拨号服务器的TTL检测
或许有一些读者遇过这么一种情况:现在有一个宽带的上网账号,由于某些原因(比如添置了一些新电脑之类的),想让几台电脑都能够共享这个宽带账号来上网,结果从电脑城中买回来一个路由器,非常正确的设置好相关的参数之后,竟然发现没有办法浏览网页,从路由器中的数据包监控中还发现,数据包不断的发送出去,却一个数据包都没有办法接收到。把路由器拿回电脑城中,路由器在哪里又能够正常的使用。
如果各位读者遇到了这种现象,并且排除了路由器故障这一问题之后,那就只能证明了一件事:当前的网路环境中存在对路由器使用的封杀,也就是在拨号服务器中有TTL的检测(当然,想要封杀路由器的使用方法有很多种,比较常用而且比较流行的办法就是采用TTL的检测,在本文中也是只针对TTL检测采取解决措施)。
关于什么是TTL值,各位读者可以用网上搜索详细的资料。在这里我只简单的解说一下:我们的数据包在网络中的传输,从一个网段的网络传输到另外一个网段的网络,这是需要路由器在其中发挥作用的,但是一个由多网段所组成的网络往往是非常庞大的(比如Internet),如果数据包没有一个传输次数的限制,那么就有可能发生这么一个事件:“数据包不断的在网络中传来传去,走遍了整个网络,并且还不断的重复这个动作”。这样,不仅使得网络的拥塞程度一下子大增甚至把整个网络挤垮,并且发送这个数据包的主机还无法获知这个数据包是否可达(也就是是否找到接收方或者接收方到底是否存在)。因此,为了解决这么一个问题,我们在发送数据包的时候,都会在数据包中设置一个TTL值,每当这个数据包经过一个路由器进行转发,数据包中的TTL值就会减1,直到数据包中的TTL值变为0,路由器就会自动的认为这个数据包是不可达的并自把这个数据包丢弃。