热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux路由器

在tcpip网络中,路由是一个非常重要的概念,所谓路由,就是通过互联的网络把信息从原地址传输到目的地址。路由表路由表通常包含目标,网络掩码(Genmask),网关(GateWay)

在tcp/ip网络中,路由是一个非常重要的概念,所谓路由,就是通过互联的网络把信息从原地址传输到目的地址。

路由器的原理

路由器的原理非常的复杂。一般情况下,网络中的主机,路由器和交换机都具有路由的功能。这些设备收到数据包之后,要根据IP数据包的目标地址,决定选择

那个网络接口把数据包传送出去。如果路由器的某个网络接口与IP数据包的目的主机位于同一个局域网,则可以直接通过该接口把数据包传送到目的主机;如果目的主机

与路由器不位于同一个局域网中,则路由器会根据目的地址来选择另一台合适的路由器,再从某个网络接口把数据包发送出去。

注意:由于路由是在网络层的功能,所以只有工作在网络层的交换机才具有路由功能。只能工作在数据链路层的交换机不具有路由功能!

路由表

路由表通常包含目标,网络掩码(Genmask),网关(GateWay),接口(Iface)以及跃点数等内容。其中目标可以是目标主机,子网地址,网络地址或者默认路由。通常情况下,默认路由的目标为

0.0.0.0。当所有的路由都不匹配时,数据包将被转发给默认路由。

网络掩码和目标主机配合使用。例如,主机路由的掩码为255.255.255.255,默认路由的掩码为0.0.0.0,子网或者网络地址的掩码位于这两者之间,其中,掩码255.255.255.255

表示只有精确匹配的目标才使用此路由;掩码0.0.0.0表示任何目标都可以使用此路由。

网关是数据包需要发送到下一个路由器的ip地址。接口表明用于接通下一个路由器的网络接口。跃点数(Metric)表明使用此路由到达目标的相对成本。如果有

多个相同目标位置的路由,则跃点数最低的路由为最佳路由。

技术分享

系统管理员可以通过两种方法来配置路由表,分别为静态路由和动态路由。静态路由由系统管理员手工或者通过route命令对路由表进行配置,它不会随着网络结构

的改变而改变。动态路由是由主机上面的某一进程通过与其他主机或者路由器交换信息而后对路由表进行自动更新,他会根据网络系统的运行情况而动态进行调整。

配置网路接口地址

常用的方式有两种ifconfig命令和直接修改网络接口的配置文件。

route命令用来查看系统中路由表信息,以及添加,删除静态路由记录。直接执行route命令可以查看当前主机中的路由表信息。

route命令不仅可以用于查看路由表的信息,还可以添加,删除静态路由表条目,其中当然也包括设置默认网关地址。

man route部分示意图:

route [-CFvnee]

route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N]
[mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]

route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N]
[[dev] If]

route [-V] [--version] [-h] [--help]

其中-net选项来指定目标网段地址,host则用来指定目标主机的地址,target表示目标网络或者主机。netmask表示子网掩码,当target选项指定了

一个目标网络时,需要使用子网掩码来配合使用。gw表示网关地址,dev选项表示将该路由条目与某个网络接口绑定在一起。

在当前系统的路由表中添加一项静态路由信息。

技术分享

在上面的命令中,首先使用add子命令增加一条目标为192.168.255.130的路由信息,与该主机通信需要通过网关192.168.255.2,然后使用route

命令输出系统路由表,从输出结果可以得知该路由信息添加成功。

如果想要删除路由条目,则可以使用del子命令

技术分享

可以看出删除成功了!!!

默认网关记录是一条特殊的静态路由条目,如果目的地址不匹配所有的路由条目,则通过默认网关发送。

普通客户机的路由设置

如果某台linux主机并不充当路由器的功能,仅仅提供某些网络服务,则路由配置非常简单。在这种情况下,一般只需要两条路由即可,其中一条是到

本地子网的路由,另一条是默认路由。前者用于与同一子网的主机通信,后者则负责所有不发送到本地子网的数据包。这也是用户在使用route命令查看本地路由表经常见到的情况。

linux路由器配置实例

在本节中,以一个具体的例子来说明如何配置linux主机,实现网络之间的路由功能。

下图描述了3个子网之间的连接,其中linux主机拥有3个网路接口,其IP地址分别为192.168.1.2, 10.10.1.1和10.10.2.1,同时,这三个网络接口分别与子网192.168.1.0/24

,10.10.1.0/24,和10.10.2.0/24相连接。

技术分享

尽管这三个子网在物理上是相同的,但是如果没有添加路由的话,任然无法实现他们之间的数据交换,为了实现数据的交换,系统管理员应该在linux主机中添加以下三个

路由条目。

#route add -net 192.168.1.0/24 eth0

#route add -net 10.10.1.0/24 eth1

#route add -net 10.10.2.0/24 eth3

有了上面的静态路由后,当有了目标网络为10.10.1.0/24的数据包时,linux主机就知道需要从网络接口eth1转发,同理目标网络为10.10.2.0/24的数据包需要从网络接口eth2

转发,而目标为网络192.168.1.0/24的数据包需要从网络接口eth0转发。

linux路由器


推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 本文介绍如何在Linux服务器之间使用SCP命令进行文件传输。SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议,支持从远程机器复制文件到本地服务器或反之。示例包括从192.168.45.147复制tomcat目录到本地/home路径。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 以下实例展示了locals( ... [详细]
  • VPX611是北京青翼科技推出的一款采用6U VPX架构的高性能数据存储板。该板卡搭载两片Xilinx Kintex-7系列FPGA作为主控单元,内置RAID控制器,支持多达8个mSATA盘,最大存储容量可达8TB,持续写入带宽高达3.2GB/s。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
author-avatar
军长长军765
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有