将一台Linux主机作路由器使用,这本是件很容易的事情,利用Linux主机强大的网络功能,很轻松就实现了。这里在虚拟机环境下设定一台CentOS主机通过另一台CentOS主机路由接入Internet网。具体方法列述如下。

  VMware虚拟软件的宿主机已经正常上网。若非如此,虚拟机上网无从谈起。首先在虚拟机上克隆两台CentOS主机,具体方法使用VMware虚拟桥接,很容易的,这里不再重复,需要的可以自行上网搜索实现方法。

  一、环境准备:

  首先安装VMware Workstation及安装CentOS,完成后需要在VMware Workstation中添加一张网卡如“VMnet3”。

  在VMware Workstation主界面上选择编辑——>虚拟网络编辑器:

  在弹出的界面中选择“更改设置”:

  “添加网络”——>在弹出“添加虚拟网络”对话框中选择后面要使用的虚拟网卡如“VMnet3”,“确定”,即增加了一张虚拟网卡:

  这里能看到新增加的“VMnet3”虚拟网卡。其他参数不用调整,直接“确定”。这张网卡将在后面作为L1和L2之间的连通手段。

  二、Linux路由设置方法:

  我们需要将一台虚拟主机L1添加路由功能,另一台主机L2通过L1路由上网,最后两台虚拟机均可正常上网,且L2是通过L1上网而非使用虚拟机net或桥接方式。下面我们先从L1的设定开始:

  将L1设定为两张网卡(使用虚拟机真是方便,想几张网卡就有几张网卡),方法如下:

  选中L1,在虚拟机主界面点击“虚拟机”——>点选“设置”:

  在硬件——网络适配器中选择桥接模式,再添加一块网卡,这块网卡是留用以L2接入的网络接口:

  添加“网络适配器”:

  对添加的网络适配器进行设置:

  L1就有了两张网卡,一张用于桥接联接入Internet网,另一张用于L1和其他主机通讯。现在我们对L1进行设置。启动CentOS,进入命令行界面,使用root登录(测试阶段,免得各种操作修改因权限受限)。

  假设L1前端的外网路由器所设定的前端局域网为192.168.1.0,网关192.168.1.1。我们对L1的两块网卡eth2(实际为eth0,因克隆主机分配不同的MAC而变成eth2,用于外联上网)和eth3(克隆前的eth1,用于内联L2)。因克隆引起网卡名称改变情况可使用dmesg命令查看如下:

  可见,两个“renamed”将网卡的编号改为了eth2和eth3。我们按照改名后的网卡编号配置。

  我们对两块网卡的设置及参数如下:

  这时eth2为连接外网网卡,必须设置在外网的网段内;eth3为提供另一内网机连接的网卡,设置独立的网段。

  随后需要打开L1的转发功能,指令如下:

  关闭防火墙的指令:

  三、上网机的设置方法:

  接下来对L2即以L1为路由器连接上网的CentOS进行配置。

  选中L2后打开“虚拟机”菜单——>设置网卡为自定义,也选择与L1同样的第3张网卡“VMnet3”(不能选错哦):

  “确定”后开启CentOS虚拟机

  

  因为此主机也是使用克隆方式建立的,所以网卡亦非eth0而是eth2。开启并设置IP地址如下:

  增加一条路由规则,结果如下:

  在resolv.conf文件中增加DNS地址:

  在编辑界面增加nameserver地址,可以使用宽带运营商提供的DNS,也可以使用通用DNS如下:

  

  最后,如果L1接入互联网之前有路由器时,需要在前端路由器中增加一条路由设置,内容是192.168.100.0的信息路由到192.168.1.50(L1接入互联网的地址),以题主使用的路由器为例设置如下:

  “确定”后生效。

  现在,L2已经可以顺利连接互联网上网了。

最新文章

  1. js制作简单的计算器
  2. 实战使用Axure设计App,使用WebStorm开发(4) – 实现页面UI
  3. Java开发环境的搭建
  4. easy UI简单使用介绍
  5. swfupload浅谈
  6. 原生JS修改标签样式为带阴影效果
  7. java中的代理
  8. jQuery事件与事件对象
  9. 漫话Unity3D(一)
  10. GCD 的初步认识
  11. Laravel 用户验证Auth::attempt fail的问题
  12. mysql主从复制安装详解
  13. JavaScripy execCommand函数
  14. 1. String可调用方法
  15. 2015 CALLED THE INTERFACE OF 2014
  16. IIS下配置跨域设置Access-Control-Allow-Origin
  17. String 源码探究
  18. SpringBoot 六问
  19. 【JMeter】前置处理器
  20. WebDriverAPI(10)

热门文章

  1. RedisTemplate通过scan方法进行自定义操作:1、根据hashKey的名称匹配相关hash键值对
  2. mongoDB主从和集群
  3. js图表库
  4. Maven中解决jar包冲突的三种方式
  5. python 坑1
  6. AVR单片机教程——拨动开关
  7. kubernetes 实践一:基本概念和架构
  8. centos7,jdk8,tomcat8镜像推送到腾讯云
  9. PB 之多行标题报表
  10. spring boot + vue实现图片上传及展示