您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > 鸿蒙

如何在OpenHarmony上进行双网卡设置

时间:2023-02-09 13:28:44  来源:  作者:软通动力HOS
本文带大家了解如何配置双网卡达成同时访问内、外网的目的,该示例相对简单,重点是需要将默认网关配置为外网网关。

前言

在某些特殊场景下,我们可能有这样的网络配置诉求,即:访问内网同时也需要访问外网。
本文主要针对该场景进行梳理,以双网卡配置为例,指导初学者进行网卡配置,达成同时访问内外网。

双网卡配置硬件前提条件:

硬件方面:板卡有2个网卡。
双网卡配置规则:1、连接外网LAN口,配置外网网段IP、子网掩码、路由和网关;2、连接内网LAN口,配置内网网段IP、子网掩码和路由。
说明:特别要注意,一台设备不能同时配置两个网关,且网关只能配置为外网网关,否则设备将无法区分外网出口,导致外网访问失败。
以下示例内外网的IP分配如下:(具体以你所在的网络为准)

如下为例:

外网:IP地址10.61.*** 掩码:255.0.0.0 路由:10.61.*** 网关:10.61.***
内网:IP地址192.168.*** 掩码:255.255.255.0 路由:192.168.0.0

lo Link encap:Local Loopback
.NET addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope: Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:15 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1320 TX bytes:1320
eth0 Link encap:Ethernet HWaddr 96:d0:79:2d:9b:88 Driver rk_gmac-dwmac
inet addr:10.61.*** Bcast:10.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::94d0:79ff:fe2d:9b88/64 Scope: Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28813 errors:0 dropped:0 overruns:0 frame:0
TX packets:3445 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2706345 TX bytes:330787
Interrupt:35
eth1 Link encap:Ethernet HWaddr c2:5c:62:d7:1f:20 Driver smsc75xx
inet addr:192.168.*** Bcast:192.168.*** Mask:255.255.255.0
inet6 addr: fe80::c05c:62ff:fed7:1f20/64 Scope: Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3282 errors:0 dropped:0 overruns:0 frame:0
TX packets:488 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:280938 TX bytes:55862
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.61.*** 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
10.61.*** * 255.255.252.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1

本例中设置192网段为内网,10网段为外网,经过以上配置后,ping内网(例如:192.168.***)正常,ping外网(例如:ping www.bAIdu.com)正常。说明同时访问内外网成功
Ping 192.168.*** (192.168.***): 56(84) bytes.
64 bytes from 192.168.***: icmp_seq=1 ttl=0 time=1 ms
64 bytes from 192.168.***: icmp_seq=2 ttl=0 time=2 ms
64 bytes from 192.168.***: icmp_seq=3 ttl=0 time=1 ms
--- 192.168.*** ping statistics ---
3 packets transmitted, 3 received, 0% packet loss
round-trip min/avg/max = 0/0/1 ms
# ping 10.61.***
Ping 10.61.*** (10.61.***): 56(84) bytes.
64 bytes from 10.61.***: icmp_seq=1 ttl=0 time=0 ms
64 bytes from 10.61.***: icmp_seq=2 ttl=0 time=0 ms
64 bytes from 10.61.***: icmp_seq=3 ttl=0 time=1 ms
--- 10.61.*** ping statistics ---
3 packets transmitted, 3 received, 0% packet loss
round-trip min/avg/max = 0/0/0 ms

知识总结:
以上已经成功完成了双网卡配置,下面我们来看下相关配置命令。
1、相关调试命令
1)删除路由

route del -net 10.0.0.0 netmask 255.0.0.0 dev eth1
route del -net 10.61.*** netmask 255.255.252.0 dev eth1

2)删除默认网关

route del default

3)配置IP

 
ifconfig eth0 192.168.*** //给eth0网卡配置IP地址
ifconfig eth0 192.168.*** netmask 255.255.255.0 //给eth0网卡配置IP,并加mask
ifconfig eth0 192.168.*** netmask 255.255.255.0 broadcast 192.168.120.255

4)配置默认网关

route add default gw 10.61.*** dev eth0`

5)配置路由

 
route add -net 10.61.*** netmask 255.255.252.0 dev eth0`

2、路由及IP在板子保存位置:
1)路由保存位置:/proc/net/route

 
# cat proc/net/route
Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT
eth0 00000000 01C43D0A 0003 0 0 0 00000000 0 0 0
eth0 0000000A 00000000 0001 0 0 0 000000FF 0 0 0
eth0 00C43D0A 00000000 0001 0 0 0 00FCFFFF 0 0 0
eth1 0000A8C0        00000000        0001    0       0       0       00FFFFFF        0       0       0

2)静态IP保存位置

 
# cat data/ethernet/eth0
DEVICE=eth0
BOOTPROTO=STATIC
IPADDR=10.61.***
NETMASK=255.255.255.0
GATEWAY=10.61.***
ROUTE=10.61.***
# cat data/ethernet/eth1
DEVICE=eth1
BOOTPROTO=STATIC
IPADDR=192.168.***23
NETMASK=255.255.255.0
GATEWAY=192.168.***
ROUTE=192.168.***

3)动态IP(dhcp)保存位置 :/data/dhcp/eth0.result

# cat /data/dhcp/eth0.result
IP4 1666952418 10.61.*** 10.61.*** 255.255.252.0 10.61.10.6 10.60.10.6 10.61.*** *

问题总结:
【问题现象】:拔掉网线不自动清除IP和路由
【原因分析】:拔掉网线后事件触发StopDhcpClient,但未同步更新网络信息;
【解决方案】:
在foundationcommunicationnetmanager_extservicesethernetmanagersrcethernet_management.cpp 的StopDhcpClient()函数中增加更新网络链接状态。

index 9b03ad8..0c4f708 100644
#NAME?
#NAME?
@@ -569,6 +569,7 @@ void EthernetManagement::StopDhcpClient(const std::string &dev, sptr<DevInterfac
{
NETMGR_EXT_LOG_D("EthernetManagement StopDhcpClient[%{public}s]", dev.c_str());
ethDhcpController_->StopDhcpClient(dev, false);
+ devState->RemoteUpdateNetLinkInfo();
devState->SetDhcpReqState(false);
}
@@ -581,4 +582,4 @@ void EthernetManagement::SetDevState(sptr<DevInterfaceState> &devState, const st
devState->SetLowerUp(lowerUp);
}
} // namespace NetManagerStandard
-} // namespace OHOS
 No newline at end of file
+} // namespace OHOS

通过以上示例指导,相信大家已经掌握了如何配置双网卡达成同时访问内、外网的目的,该示例相对简单,重点是需要将默认网关配置为外网网关。同时,通过该示例,相信大家也熟练掌握了网络配置相关命令。当然,同时访问内网和外网的网络结构,不止示例中一种,大家也可以不断尝试,举一反三。



Tags:Harmony   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
OpenHarmony - 基于ArkUI框架实现日历应用
前言对于刚刚接触OpenHarmony应用开发的开发者,最快的入门方式就是开发一个简单的应用,下面记录了一个日历应用的开发过程,通过日历应用的开发,来熟悉基本图形的绘制,ArkUI的组件...【详细内容】
2024-01-16  Search: Harmony  点击:(54)  评论:(0)  加入收藏
华为HarmonyOS NEXT将全面开放
华为全新的HarmonyOS NEXT将在2024年第一季度面向所有开发者开放。该系统仅支持鸿蒙HAP格式,并标志着鸿蒙生态和HarmonyOS的进一步演进。作为华为鸿蒙操作系统的新篇章,Harmon...【详细内容】
2024-01-05  Search: Harmony  点击:(73)  评论:(0)  加入收藏
纯血鸿蒙来了!HarmonyOS NEXT将于一季度开放:华为彻底与安卓划清界限
快科技1月4日消息,根据华为规划,全新HarmonyOS NEXT开发者预览版,将在今年第一季度面向所有开发者开放。而在1月18日,华为将举办鸿蒙重要活动,届时将揭秘鸿蒙生态和HarmonyOS NEX...【详细内容】
2024-01-04  Search: Harmony  点击:(53)  评论:(0)  加入收藏
华为HarmonyOS 4升级进展公布:12款老机型公测招募
12月25日,手机中国了解到,HarmonyOS官方公布HarmonyOS 4百机升级新进展。官方表示12款手机即日起开启HarmonyOS 4花粉Beta招募活动,感兴趣的小伙伴请及时关注参加。截止目前,已...【详细内容】
2023-12-25  Search: Harmony  点击:(77)  评论:(0)  加入收藏
OpenHarmony4.0发布:新增4000多个API接口,交互及隐私能力增强
钛媒体App 11月6日消息,以“技术筑生态,智联赢未来”为主题的第二届OpenHarmony技术大会在北京举办,活动中,OpenHarmony 4.0版本正式发布。据介绍,OpenHarmony4.0版本开发套件同...【详细内容】
2023-11-07  Search: Harmony  点击:(139)  评论:(0)  加入收藏
OpenHarmony,奏响中国基础软件的“光辉岁月”
梦想需要多久的时间,多少血和泪,才能慢慢实现?天地间任我展翅高飞,谁说那是天真的预言?《光辉岁月》歌词中的这两个问题,恰好可以送给今天的中国基础软件事业。曾几何时,我们认为中...【详细内容】
2023-11-07  Search: Harmony  点击:(101)  评论:(0)  加入收藏
OpenHarmony:如何使用HDF驱动控制LED灯
一、程序简介该程序是基于OpenHarmony标准系统编写的基础外设类:RGB LED。目前已在凌蒙派-RK3568开发板跑通。详细资料请参考官网:https://gitee.com/Lockzhiner-Electronics/...【详细内容】
2023-09-08  Search: Harmony  点击:(263)  评论:(0)  加入收藏
深入了解华为OpenHarmony开源系统的架构与功能
当下最火的科技圈新闻,莫过于华为即将发布的Mate 60系列手机,但是今天摸鱼君不讲这些,毕竟我也没抢到,我也不是专业测评。但是以我所长说说它搭载鸿蒙系统的一些内容。 鸿蒙系...【详细内容】
2023-09-07  Search: Harmony  点击:(208)  评论:(0)  加入收藏
HarmonyOS登陆PC:这不是挑战,这是求活!
近日,中国深圳凯虹数字产业发展有限公司首席执行官王成录宣布,鸿蒙操作系统将登陆PC,这一消息引发了广泛的关注和讨论。这一举措可能会对PC行业的前景产生深远的影响,尤其是对于...【详细内容】
2023-09-04  Search: Harmony  点击:(157)  评论:(0)  加入收藏
OpenHarmony中使用MQTT
MQTT**(**消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而...【详细内容】
2023-08-29  Search: Harmony  点击:(432)  评论:(0)  加入收藏
▌简易百科推荐
OpenHarmony - 基于ArkUI框架实现日历应用
前言对于刚刚接触OpenHarmony应用开发的开发者,最快的入门方式就是开发一个简单的应用,下面记录了一个日历应用的开发过程,通过日历应用的开发,来熟悉基本图形的绘制,ArkUI的组件...【详细内容】
2024-01-16    51CTO  Tags:OpenHarmony   点击:(54)  评论:(0)  加入收藏
鸿蒙工程师,熬来了「造富时代」
  作者|张俊  来源|新浪科技  ID|techsina  “套壳安卓”的质疑言犹在耳,如今华为正在计划将鸿蒙OS与安卓完全脱离。  此前,鸿蒙OS为了迅速扩大用户规模,采取了兼容安卓...【详细内容】
2023-11-20    锌财经  Tags:鸿蒙   点击:(213)  评论:(0)  加入收藏
OpenHarmony:如何使用HDF驱动控制LED灯
一、程序简介该程序是基于OpenHarmony标准系统编写的基础外设类:RGB LED。目前已在凌蒙派-RK3568开发板跑通。详细资料请参考官网:https://gitee.com/Lockzhiner-Electronics/...【详细内容】
2023-09-08    51CTO  Tags:OpenHarmony   点击:(263)  评论:(0)  加入收藏
深入了解华为OpenHarmony开源系统的架构与功能
当下最火的科技圈新闻,莫过于华为即将发布的Mate 60系列手机,但是今天摸鱼君不讲这些,毕竟我也没抢到,我也不是专业测评。但是以我所长说说它搭载鸿蒙系统的一些内容。 鸿蒙系...【详细内容】
2023-09-07  摸鱼IT  微信公众号  Tags:OpenHarmony   点击:(208)  评论:(0)  加入收藏
鸿蒙操作系统开发 搭建环境
2019年8月9日,华为在东莞举行华为开发者大会,正式发布鸿蒙操作系统;2020年9月推出了鸿蒙2.0,全面使能全场景生态,具备跨设备、服务流转、极速直达、可视可说、隐私安全五大能力。...【详细内容】
2023-09-07  清华计算机学堂  微信公众号  Tags:鸿蒙   点击:(198)  评论:(0)  加入收藏
OpenHarmony中使用MQTT
MQTT**(**消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而...【详细内容】
2023-08-29    51CTO  Tags:OpenHarmony   点击:(432)  评论:(0)  加入收藏
OpenHarmony组件复用示例
OpenHarmony组件复用示例 摘要:在开发应用时,有些场景下的自定义组件具有相同的组件布局结构,仅有状态变量等承载数据的差异。这样的组件缓存起来,需要使用到该组件时直接复用,...【详细内容】
2023-08-28  zhushangyuan  51CTO  Tags:OpenHarmony   点击:(352)  评论:(0)  加入收藏
HarmonyOS开发第一步,熟知开发工具DevEco Studio
俗话说的好,工欲善其事,必先利其器,走进HarmonyOS第一步,开发工具必须先行,当然了,关于开发工具的使用,官网和其他的博客也有很多的讲解,但是并没有按照常用的功能进行概述,如果需要...【详细内容】
2023-08-22  程序员一鸣  今日头条  Tags:HarmonyOS   点击:(205)  评论:(0)  加入收藏
鸿蒙元服务开发实例:桌面卡片上的电动自行车助手E-Bike
E-Bike是一款基于HarmonyOS开发的元服务,以万能卡片的形式给骑行提供便捷服务。首先需要完成HarmonyOS开发环境搭建。一、元服务E-Bike简介E-Bike是一款基于HarmonyOS开发的...【详细内容】
2023-08-16    51CTO  Tags:鸿蒙   点击:(302)  评论:(0)  加入收藏
OpenHarmony运行docker详细步骤
本文将介绍如何在OpenHarmony内核上运行docker容器。 目录 1.环境和设备 2.准备支持Docker容器的OpenHarmony内核 3.编译烧录镜像 4.安装docker容器引擎组件 5.格式...【详细内容】
2023-07-28  离北况归  51CTO  Tags:OpenHarmony   点击:(399)  评论:(0)  加入收藏
站内最新
站内热门
站内头条