• 用Zebra打造Linux下小型路由器


    Zebra打造Linux下小型路由器
    现在的Internet网络相当庞大,不可能在不同的网络之间建立直接的连接,所以这时就必须用路由器为不同网络之间的通信提供路径选择。Linux下搭建路由器价格非常便宜, 中小型专业服务器甚至不需要钱。Linux路由器具有一定的专业性,如果配置得当,甚至不比Cisco路由器差。下面就来探讨如何在Linux下搭建出工作效率非常高的专业路由器。
    一、基本概念
    大家首先需要明白以下两个最基本的概念。
    1.     静态路由表
    由网络管理员事先设置好的固定路由表叫静态路由表。
    2.     动态路由表
    路由器根据网络系统的运行情况而自动调整的路由表叫动态路由表。
    上面两种路由表在Linux上都可以实现,它们的区别就是当网络系统因为某些情况需要做网络调整时,动态路由表可以很方便地随着变化而自动调整。
    二、  路由器实战
    架构环境VMware 6.5 (虚拟出三台机器,一台做路由,两台做客户端)。操作系统: 这里用的是RHEL5,大家可以随便用任何版本的Linux
    需要软件zebra-0.95b-1.i386.rpm (Linux下路由器软件)。试验目的:要求两个不同网段的机器能通过路由器而互相访问, 达到互相通信的目的。
    1.     运行环境
    首先必须知道VMware怎么使用,它采用了动态分配内存方案,这样就可以大大节省内存。另外,此版本还多出了一个克隆技术,可以把一个虚拟完的系统克隆出同样的一个系统,并且克隆出来的仅占用1O0多兆空间。
    2.     网络规划
    路由器所在的Linux分别有两个网卡,ethO192.168.1.1eth1192.168.10.1
    客户端A 所在网段为192.168.1.0/24IP192.168.1.2。客户端B所在网段为192.168.10.0/24IP192.168.10.2
    3.     配置路由器的网络设置
    因为路由器所在Linux必须虚拟出两块网卡, 分别做为两个不同网段的网关,所以在下面的目录中会看到有两个文件,分别是ifcfg-eth0ifcfgethl。它们分别是两个网卡的配置文件。
    首先编辑ifcfg-eth0,让它的地址为192.168.1.1, 详细内容如下:
    [root@rhel5~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.1.1
    NETMASK=255.255.255.0
    其次编辑ifcfg-eth1,让它的地址为192.168.10.1,详细内容如下:
    DEVICE=eth1
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.10.1
    NETMASK=255.255.255.0
    现在重新启动一下网络服务,让网络配置生效。
    如果以上操作都正确的话,那么下面就来安装和配置路由器。首先我们需要下载一个zebra-0.95b-1.i386.rpm,Linux下的路由器程序, 在RedHat的光盘里有这个RPM包。如果大家用的是别的版本Linux,可以到http://www.findrpm.com 里下载。到此为止,zebra成功安装完毕。下面再检查一下zebra是否真的安装成功:
    [root@rhel5 my]#rpm -aq|grep zebra
    zebra-0.95b-1
    上面的结果说明已经安装成功了。现在启动zebra
    [rot@rhel5 my]#service zebra start
    [rot@rhel5 my]#service ripd start
    ripd进程主要是用来使用zebra配置支持RIP路由协议的,所以不但要启动zebra, 还要同时启动ripd。如果大家想在下次开机后自动运行路由器,那么执行如下命令:
    [root@rhel5 my]chkconfig zebra on
    [root@rhel5 my]chkconfig ripd on
    下面来看一下zebra的配置文件:
    [root@rhel5 zebra]#ls
    ripd.conf vtysh.conf zebra.conf
    上面代码中,vtysh.conf是配置zebra所用的Shell配置文件,zebra.confzebra的主配置文件。
    为了使192.168.1.0/24192.168.10.0/24网段机器能够互相通信,需要进行相关的配置。大家如果用过Cisco路由器的话就会很容易用zebra, 因为它们的命令几乎都是一样的。下面就开始配置客户端。
    4.配置客户端的网络设置
    首先配制客户端A 。修改ifcfg-eth0, 内容如下:
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.1.2
    netmask=255.255.255.0
    GATWAY=192.168.1.1
    需要注意的是, 一定要把网关设置成我们刚才路由器的192.168.1.1网关。
    [root@rhel5 my]#service network restart
    重新启动网络服务后,客户A 的配置就算完成了。其次配置客户端B。配置B的方法其实和上面一样,不过有两个区别。客户端BIP设置成192.168.10.2,网关改成192.168.10.1。就这两点有所不同。
    三、最终测试
    A上执行如下命令:
    Ping主机 192.168.1.1
    [root@rhel5 ~]# ping 192.168.1.1
    PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
    64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.044 ms
    64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.036 ms
    64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.027 ms
    64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.027 ms
    --- 192.168.1.1 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3001ms
    rtt min/avg/max/mdev = 0.027/0.033/0.044/0.009 ms
     
    Ping主机 192.168.10.1
    [root@rhel5 ~]# ping 192.168.10.1
    PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
    64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=0.040 ms
    64 bytes from 192.168.10.1: icmp_seq=2 ttl=64 time=0.037 ms
    64 bytes from 192.168.10.1: icmp_seq=3 ttl=64 time=0.029 ms
    64 bytes from 192.168.10.1: icmp_seq=4 ttl=64 time=0.038 ms
    --- 192.168.10.1 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3001ms
    rtt min/avg/max/mdev = 0.029/0.036/0.040/0.004 ms
    Ping主机192.168.10.2
    [root@rhel5 ~]# ping 192.168.10.2
    PING 192.168.10.2 (192.168.10.2) 56(84) bytes of data.
    64 bytes from 192.168.10.2: icmp_seq=30 ttl=128 time=0.124 ms
    64 bytes from 192.168.10.2: icmp_seq=31 ttl=128 time=0.331 ms
    64 bytes from 192.168.10.2: icmp_seq=32 ttl=128 time=0.303 ms
    64 bytes from 192.168.10.2: icmp_seq=33 ttl=128 time=0.335 ms
    --- 192.168.10.2 ping statistics ---
    33 packets transmitted, 4 received, 87% packet loss, time 32026ms
    rtt min/avg/max/mdev = 0.124/0.273/0.335/0.087 ms
    B上也同样执行上面的命令,不过最后一个命令要改成“192.168.1.2”。如果两台机器ping以上三个地址都能ping通,那么zebra路由器就算设置成功了。以上所有操作都是最基本、最简单的路由器设置,如果大家需要更复杂的网络配置,完全可以用zebra来实现。
     

    本文出自 “李晨光原创技术博客” 博客,谢绝转载!

  • 相关阅读:
    开通博客第一天
    Vue 打包配置productionSourceMap 的记录
    supervisorctl 的 简单记录
    mvn打包方式记录
    springboot日志配置,关于logback
    springboot集成swagger
    关于mapper文件的bean
    elasticsearch 连接、操作记录
    关于前后端分离文件上传的些许问题
    代码优化--策略模式的四种表现
  • 原文地址:https://www.cnblogs.com/chenguang/p/3742441.html
Copyright © 2020-2023  润新知