首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

瑞芯微|如何让拥有双网口的Linux设备实现数据包转发?【超实用】

本文主要讲解如何,解决基于3568实现双网口互通问题。

一、组网

如下图所示:

rk3568自带2个千兆以太口,对应网卡名称为:eth0、eth1

pc1和pc2分别连接这2个网口

pc1与eth0连接,网段:192.168.30.0

pc2与eth1连接,网段:192.168.40.0

目标:

实现pc1与pc2互通。

组网也可以简化为:

二、完整配置

下面我们首先说明各个设备完整配置

1. pc1

默认网关含义:

协议栈根据数据包的目的ip查找路由表,

如果没有匹配的路由条目则发送给网关,

网关通常是当前设备的网卡直连(或者通过交换机、路由器连接)的局域网内的某个网卡

掩码通常是255.255.255.0

根据组网图,pc1的网卡连接的是rk3568的eth0:192.168.30.111

2. pc2

配置含义同pc1

3. rk3568上配置

配置网口对应的IP地址

使能转发默认设备是不转发数据包的,需要使能该功能

增加策略路由表main,目的是转发数据的时候,查找表main 的路由策略

该表为main,

没指明路由表的所有路由放在该表。

删除默认的iptables规则系统出厂会有默认的iptables规则,必须删除,否则数据转发会受影响。

测试上述配置全部配置完,pc1和pc2就可以互相ping通了。如果要测试通信功能,可以使用网络调试助手,软件截图参考下图。

三、补充调试工具

调试该功能,还需要配合下面几条指令

1. ip rule查看路由表

传统路由:在Android4.4之前是使用的传统路由,即只使用了一张路由表。

策略路由:从Android5.0之后开始可以支持多网络,即在同一时间下,Android允许多网络类型连接,每个网络有自己的一套DNS、网关、路由表等。这使得功能更强大,使用更灵活,它使网络管理员不仅能够根据目的地址而且能够根据报文大小,应用或IP源地址等属性来选择转发路径。一般的路由以目的地址作为识别与区分的标识。

系统最多可支持255张路由表:系统默认是有维护4张路由表的,可以自定义1~252张路由表。

下面是查看策略路由表

2. ip route配置路由表

该命令用于配置路由器静态路由的命令。

本文只举例如何查看路由表,查看默认路由表:

也通过table名字显示路由,查找main表:

3. iptables

IPTABLES 是Linux 内核集成的 IP 信息包过滤系统。功能非常强大。

要查看所有iptables规则可以使用下面命令

四、最后

有喜欢Linux、驱动、嵌入式、网络,或者想和一口君侃大山的可以加我好友:

yikoupeng

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OzD8_UPI7SE8_CDpNC9k7Z_Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券