将一台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已经可以顺利连接互联网上网了。