在网络环境中,路由阻隔广播域的,广播域就是ARP寻址的过程,pc机是在各个广播域中的,ICMP(ping)、TCP都是经过创建ARP协议之后才通信的。寻址过程这里再也不详细介绍,ARP篇有说明。 在数据传输过程当中,只有相同网段才属于一个广播域,才能够进行ARP寻址创建网络链接,若是不在一个网段内,则须要经过网关(路由),才能够跟其余网络中的pc、路由、等网络设备进行通讯。在这个创建通信和数据传输的过程当中,只知道对方的IP地址,没有mask地址等信息,而且还有没相互通信的介质。这个介质创建和寻找对方mask地址的过程,及所须要用到的网络设备及协议(或是现实其功能、协议的网络设备)咱们称之为路由。路由工做在OSI七层模型中的第三从(网络层),主要工做:隔离广播域(ARP)、进行数据包的转发来创建网络的互连。linux
四种路由方式:vim
目标网络ID netmask 接口 网关 192.168.1.3 255.255.255.0 eth3 192.168.1.1 主机路由 192.168.1.0 255.255.255.0 eth0 192.168.1.254 网络路由 192.168.0.0 255.255.0.0 eth1 192.168.2.254 网络路由 0.0.0.0 0.0.0.0 eth2 192.168.3.254 默认路由
查看路由信息
route //查看路由信息
route -i //#以IP地址方式显示centos
[root@centos6 ~]#route //查看路由信息(以域名方式反向解析) Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.117.0 * 255.255.255.0 U 1 0 0 eth1 172.18.0.0 * 255.255.0.0 U 1 0 0 eth0 default 172.18.0.1 0.0.0.0 UG 0 0 0 eth0 [root@centos6 ~]#route -n //#以IP地址方式显示 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.117.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1 172.18.0.0 0.0.0.0 255.255.0.0 U 1 0 0 eth0 0.0.0.0 172.18.0.1 0.0.0.0 UG 0 0 0 eth0
route add 添加路由
-net 网络路由 (目标地址:须要制定掩码)
-host 主机路由 (目标地址:不须要指定掩码)
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 网络
目标:192.168.1.3 网关:172.16.0.1 [root@centos6 ~]# route add -host 192.168.1.3 gw 172.16.0.1 [dev eth0] //主机地址:接口地址能够不指定 目标:192.168.0.0 网关:172.16.0.1 [root@centos6 ~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 [dev eth0] //网络地址:接口地址能够不指定 [root@centos6 ~]#route add -net 192.168.0.0/24 gw 172.16.0.1 [dev eth0] //网络地址:接口地址能够不指定
默认路由,网关:172.16.0.1 编辑器
[root@centos6 ~]#route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1 [root@centos6 ~]#route add default gw 172.16.0.1
删除:route del
#route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If] ide
目标:192.168.1.3 网关:172.16.0.1 [root@centos6 ~]#route del -host 192.168.1.3 目标:192.168.0.0 网关:172.16.0.1 [root@centos6 ~]# route del -net 192.168.0.0 netmask 255.255.255.0 [root@centos6 ~]# route del -net 192.168.0.0/24
开启路由转发功能3d
[root@centos6 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward #该进程原本是0,须要改为1,临时,重启后再也不生效 [root@centos6 ~]#vim /etc/sysctl.conf #永久开启路由功能须要更改配置文件(更改完文件须要重启,建议在执行第一条命令) net.ipv4.ip_forward = 1
路由实验前准备工做:(由于咱们实验所用的设备是linux虚拟机因此须要对实验环境进行一些准备工做)
首先要在虚拟中设置多个VMnet,这里有多个VMnet,做用就是把多个主机链接到不一样交换机上,使其再也不一个内网中。
一、点击设置虚拟网络编辑器rest
显示已有的VMnet信息,点击更改设置进行自定义设置。code
点击添加网络,添加须要的VMnet,添加完成后去掉下边DHCP功能。(能够跟据本身意愿更该设置)blog
2.下面就开始克隆主机,首先要准备一个设置好基本配置的主机,而后在克隆6台主机。
三、根据拓扑图来把每一台主机的网卡链接到不一样的VMnet中
四、克隆的linux虚拟机网卡的MAC地址须要从新生成,不然会跟其余的linux虚拟机网卡MAC地址冲突。
1.由于虚拟机是克隆的,网卡名须要从新修改,不然系统默认会觉得eth0和eth1被占用,直接把后面分配,这里就修改一下,根据一下网卡的MAC地址,更更名字。
[root@centos6 ~]#vim /etc/udev/rules.d/70-persistent-net.rules SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0C:29:B4:EF:DF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0C:29:B4:EF:F3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
2.而后配置网卡配置文件,其余网卡跟主机也以下
[root@centos6 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=172.18.253.211 PREFIX=16 GATEWAY=172.18.0.1 DNS1=172.18.0.1 HWADDR=00:0C:29:B4:EF:DF
3.卸载网卡模块和加载网卡,这一步须要在虚拟机里面作,不然远程会断
[root@centos6 ~]#modprobe -r e1000 [root@centos6 ~]#modprobe e1000
4.重启网卡服务,也能够用service network restart ,用这个网络服务重启服务,则须要把这个NetworkManager 服务中止
[root@centos6 ~]#service NetworkManager restart Stopping NetworkManager daemon: [FAILED] Setting network parameters... [ OK ] Starting NetworkManager daemon: [ OK ]
5.增长路由功能
[root@centos6 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward #该进程原本是0,须要改为1,临时,重启后再也不生效 [root@centos6 ~]#vim /etc/sysctl.conf #永久开启路由功能须要更改配置文件 net.ipv4.ip_forward = 1
6.清空防火墙策略防火墙
[root@centos6 ~]#iptables -F #临时生效 [root@centos6 ~]#service iptables save #保存 iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] 7.开始配置路由器, [root@centos6 ~]#route -n #查看路由信息 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.86.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 172.18.0.1 0.0.0.0 UG 0 0 0 eth0 [root@centos6 ~]#route add -net 1.1.1.0/24 gw 2.2.2.251 #添加路由
pc1:6.6.6.6
pc2:8.8.8.8
route1: 6.6.6.1 7.7.7.1
route2: 7.7.7.2 8.8.8.2
4台机器.按要求改好网卡名,配置好静态IP,保证没有网关. [root@centos6(route1) ~]# vim /etc/sysctl.conf //编辑 /etc/sysctl.conf 文件 、开启路由功能 net.ipv4.ip_forward = 1 //将值0改成1 [root@centos6(route2) ~]# vim /etc/sysctl.conf //编辑 /etc/sysctl.conf 文件 、开启路由功能 net.ipv4.ip_forward = 1 //将值0改成1 [root@centos6(route1) ~]# sysctl -p //检查更改 [root@centos6(route2) ~]# sysctl -p //检查更改 [root@centos6(route1) ~]# route add -net 8.8.8.0/24 gw 7.7.7.2 //设置静态路由(临时) [root@centos6(route2) ~]# route add -net 6.6.6.0/24 gw 7.7.7.1 //设置静态路由(临时) [root@centos6(route1) ~]# iptables -F //关闭防火墙(临时) [root@centos6(route2) ~]# iptables -F //关闭防火墙(临时) [root@centos6(pc1) ~]# route add default gw 6.6.6.1 //设置默认路由(临时) [root@centos6(pc2) ~]# route add default gw 8.8.8.2 //设置默认路由(临时)
命令以下: route1 route add -net 3.3.3.0/24 gw 2.2.2.2 route add -net 4.4.4.0/24 gw 2.2.2.2 route2 route add -net 1.1.1.0/24 gw 2.2.2.1 route add -net 4.4.4.0/24 gw 3.3.3.2 route3 route add -net 2.2.2.0/24 gw 3.3.3.1 route add -net 1.1.1.0/24 gw 3.3.3.1 pc1 route add default gw 1.1.1.2 pc2 route add default gw 4.4:.4.1
命令以下: pc1: route add default gw 1.1.1.251 pc2: route add default gw 5.5.5.254 R1: route add -net 3.3.3.0/24 gw 2.2.2.252 route add -net 4.4.4.0/24 gw 2.2.2.252 route add -net 5.5.5.0/24 gw 2.2.2.252 R2: route add -net 1.1.1.0/24 gw 1.1.1.251 route add -net 4.4.4.0/24 gw 3.3.3.253 route add -net 5.5.5.0/24 gw 3.3.3.253 R3: route add -net 1.1.1.0/24 gw 3.3.3.252 route add -net 2.2.2.0/24 gw 3.3.3.252 route add -net 5.5.5.0/24 gw 4.4.4.254 R4: route add -net 1.1.1.0/24 gw 4.4.4.253 route add -net 2.2.2.0/24 gw 4.4.4.253 route add -net 3.3.3.0/24 gw 4.4.4.253