学习关于网络的内容,离不开路由,所以博主分享一下如何利用虚拟机搭建具有三个路由器和两个主机的路由环境。
当然了需要开启五个centos系统,如果虚拟机里没有添加这么多系统,可以复制现有的来打开,具体实现如下:
1、打开现有cengos所在文件夹,复制所有内容到新文件夹,然后在虚拟机中打开这个文件夹中的CentOS系统。
2、由于复制过来的系统与原来的一模一样,所以需要改一下网卡的mac地址再启动虚拟机。设置--》网络适配器--》高级--》生成--》确定
说明: 如果你的计算机运行内存不是很大,最好把内存改的小一点再启动,要不然同时开五个,根本卡的跑不动
那么接下来就可以开始搭建环境了:
一、规划网络(需要四个网络)
1、五个终端每个对应一个设备,改一下名字方便实验:设置-->选项 即可改名,分别改为A route1 route2 route3 B
2、A和B都只需要一个网卡就行了(移除一个网卡,或者单击虚拟机右下角的小图标断开一个连接)。
路由器需要两个网卡。
3、自定义网络
虚拟网络编辑器-->添加网络-->VMnet11/VMnet12/VMnet13/VMnet14
将主机A另一个网卡改成自定义VMnet11
将主机B另一个网卡改成自定义VMnet14
route1 一个网卡自定义成VMnet11,另一个自定义成VMnet12
route2 一个网卡自定义成VMnet12,另一个自定义成VMnet13
route3 一个网卡自定义成VMnet13,另一个自定义成VMnet14
二、虚拟机网卡配置:都要关闭NetworkManager服务,避免干扰。
service NetworkManager stop 临时关闭
chkconfig NetworkManager off 永久关闭
主机A:
centos7:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=none
IPADDR=10.1.111.111
PREFIX=16
GATEWAY=10.1.111.112
启动:
systemctl network restart 有时候会出错不生效,可以使用nmcli connection down ens33;nmcli connection up ens33
centos6:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
IPADDR=10.1.111.111
PREFIX=16
GATEWAY=10.1.111.112
启动:service restart network
主机B:
同A,只是文件内容的IPADDR、NETWORK、GATEWAY不一样
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
IPADDR=10.4.111.112
PREFIX=16
GATEWAY=10.4.111.111
启动:service restart network
R1:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
IPADDR=10.1.111.112
PREFIX=16
路由器不需要配网关,因为之后需要手动添加路由,相当于网关的功能。
vim /etc/sysconfig/network-scripts/ifcfg-eth1
BOOTPROTO=none
IPADDR=10.2.111.111
PREFIX=16
配置完之后重启服务service network restart
R2:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
IPADDR=10.2.111.112
PREFIX=16
vim /etc/sysconfig/network-scripts/ifcfg-eth1
BOOTPROTO=none
IPADDR=10.3.111.111
PREFIX=16
配置完之后重启服务service network restart
R3:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
IPADDR=10.3.111.112
PREFIX=16
vim /etc/sysconfig/network-scripts/ifcfg-eth1
BOOTPROTO=none
IPADDR=10.4.111.111
PREFIX=16
配置完之后重启服务service network restart
三、添加/删除 路由记录 配置完给防火墙关了:
centos6
chkconfig iptables off 开机即关闭
servcie iptables stop 当前关闭
centos7
systemctl disable firewalld
systemctl stop firewalld
缺少到达哪个网络的路由记录就添加哪个
A、B :
要有默认网关,一般是自动生成的
R1:
添加到达VMnet13和VMnet14的路由,语法如下:
route add -net 目标网络 netmask 子网掩码 gw 网关 dev 接口
或者route add -net 目标网络/子网掩码 gw 网关 dev 接口
R2 R3 用法同R1,只是添加的路由记录的内容不同,
R1添加到达VMnet13和VMnet14网络的路由
R2添加到达VMnet11和VMnet14网络的路由
R3添加到达VMnet11和VMnet12网络的路由
但是对于边界路由器,可以在原本基础上直接只添加默认路由,所以
R1:
route add default gw 网关
R3:
route add default gw 网关
说明:
如果主机A只有到达4网络的路由记录,没有到达3的,那么仍然能ping通4,但是不能ping通3,因为它只关心有没有到达目标的路由,而不关心中间经过谁。
四、开启路由器转发功能
系统不是直接就能当路由器的,还需要开启一个转发功能。所以R1、R2、R3都需要开启。
echo 1 > /proc/sys/net/ipv4/ip_forward 这个功能在重启服务后就失效,所以在所有网卡都配置完之后先重启服务,再设置这个功能。
如果想要了解更多关于配置网卡及路由的信息,请参照博主的另外一篇文章:
链接:http://13150617.blog.51cto.com/13140617/1963833
本文转自lc0108131451CTO博客,原文链接:http://blog.51cto.com/13150617/1963878 ,如需转载请自行联系原作者