博客
关于我
二十五、网卡丢包与数据管理
阅读量:523 次
发布时间:2019-03-07

本文共 1522 字,大约阅读时间需要 5 分钟。

了解

交换机

交换机是一种用于连接多台计算机的网络设备,它允许这些计算机共享相同的IP地址。想象一下,有几台计算机连在同一个交换机上,配置相同的网段(IP地址),就能互相通信。

路由

路由是指跨网络访问的路径选择。简单来说,路由决定了数据包从一个网络区域传到另一个网络区域的路径。

Linux 数据包处理过程

当外界数据通过网卡进入Linux系统时,需要对它进行路由决策。根据目标地址,数据包会决定进入本机空间(用户空间)还是直接转发给其他主机。

路由决策流程

  • 流入本机空间的数据

    • 数据从内核空间进入用户空间,应用程序处理后,如果不需要发送数据包,不涉及路由决策。
    • 若应用程序需要发送数据包,则需选择目标网卡进行数据传输,这时需要做路由决策。
  • 仅穿过本机的数据包

    • 必须从入网卡转发到出网卡。但默认情况下,Linux主机不开启IP转发功能,这会导致数据包丢失。
  • Linux主机作为路由器的前提条件

    要让一台Linux主机充当路由器,必须满足以下三点条件:

  • 至少有两块网卡,连接两个不同的网段。
  • 开启路由转发功能。
    echo 1 > /proc/sys/net/ipv4/ip_forward

    长期有效配置:

    # CentOS 6echo 'net.ipv4.ip_forward=1' > /etc/sysctl.conf# CentOS 7及以上echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/ip_forward.conf
  • 添加正确的路由规则。
  • Linux主机默认开启路由转发的特点

    在未开启IP转发前,只要能与主机的某个接口通信,就能与另一个接口通信,无需额外配置。

    Linux路由配置

    路由类型

  • 主机路由:精确到某一台主机(32位掩码)。
  • 网络路由:精确到特定网段(小于32位掩码)。
  • 默认路由:地址为0.0.0.0/0。
  • 路由优先级

    路由按以下优先级选择:主机路由 > 网络路由 > 网络路由 > 默认路由。优先级还取决于距离和子网掩码长度。

    配置永久路由

  • 修改路由配置文件。

    vim /etc/sysconfig/network-scripts/route-ethX

    其中 ethX 是网卡名称。

  • 配置示例:

    default via 192.168.100.10192.168.10.0/24 via 192.168.100.1192.168.100.52/32 via 192.168.100.33 dev eth0
  • 注意事项:

    • 对应的 ifcfg-ethX 文件必须存在。
    • 若使用 DHCP 要保留默认路由,需设置 defroute=no
  • 实践

    创建仅主机网络

    在VMware中创建四个仅主机网络:vmnet1vmnet4。通过网络编辑器配置IP地址和网关。

    网卡配置

    精简配置文件为:

    TYPE=EthernetBOOT=staticNAME=eth1DEVICE=eth1ONBOOT=yesIPADDR=2.2.2.2NETMASK=255.255.255.255

    路由配置

  • 通过修改 route-ethX 文件添加默认路由:

    route add default gw 1.1.1.2
  • 永久生效后重启网络服务:

    systemctl restart network
  • 开启路由转发:

    echo 1 > /proc/sys/net/ipv4/ip_forward
  • 注意事项

    • 临时配置使用 route add,永久配置修改文件即可。
    • 若修改默认路由,需确保所有使用 DHCP 的网卡设置 defroute=no

    通过以上步骤,可以在实验环境中配置路由,实现不同网络之间的通信。

    转载地址:http://jprdz.baihongyu.com/

    你可能感兴趣的文章
    Node响应中文时解决乱码问题
    查看>>
    node基础(二)_模块以及处理乱码问题
    查看>>
    node安装卸载linux,Linux运维知识之linux 卸载安装node npm
    查看>>
    node安装及配置之windows版
    查看>>
    Node实现小爬虫
    查看>>
    Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
    查看>>
    Node提示:npm does not support Node.js v12.16.3
    查看>>
    Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
    查看>>
    Node服务在断开SSH后停止运行解决方案(创建守护进程)
    查看>>
    node模块化
    查看>>
    node模块的本质
    查看>>
    node环境下使用import引入外部文件出错
    查看>>
    node环境:Error listen EADDRINUSE :::3000
    查看>>
    Node的Web应用框架Express的简介与搭建HelloWorld
    查看>>
    Node第一天
    查看>>
    node编译程序内存溢出
    查看>>
    Node读取并输出txt文件内容
    查看>>
    node防xss攻击插件
    查看>>
    noi 1996 登山
    查看>>
    noi 7827 质数的和与积
    查看>>