在某些特殊场景下,我们可能有这样的网络配置诉求,即:访问内网同时也需要访问外网。
本文主要针对该场景进行梳理,以双网卡配置为例,指导初学者进行网卡配置,达成同时访问内外网。
双网卡配置硬件前提条件
硬件方面:板卡有 2 个网卡。
双网卡配置规则:
连接外网 LAN 口,配置外网网段 IP、子网掩码、路由和网关
连接内网 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
loLinkencap:LocalLoopback inetaddr:127.0.0.1Mask:255.0.0.0 inet6addr:::1/128Scope:Host UPLOOPBACKRUNNINGMTU:65536Metric:1 RXpackets:15errors:0dropped:0overruns:0frame:0 TXpackets:15errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:1000 RXbytes:1320TXbytes:1320 eth0Linkencap:EthernetHWaddr9679:2d88Driverrk_gmac-dwmac inetaddr:10.61.***Bcast:10.255.255.255Mask:255.0.0.0 inet6addr:fe80:79ff9b88/64Scope:Link UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1 RXpackets:28813errors:0dropped:0overruns:0frame:0 TXpackets:3445errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:1000 RXbytes:2706345TXbytes:330787 Interrupt:35 eth1Linkencap:EthernetHWaddrc2621f:20Driversmsc75xx inetaddr:192.168.***Bcast:192.168.***Mask:255.255.255.0 inet6addr:fe80:62ff1f20/64Scope:Link UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1 RXpackets:3282errors:0dropped:0overruns:0frame:0 TXpackets:488errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:1000 RXbytes:280938TXbytes:55862 #route KernelIProutingtable DestinationGatewayGenmaskFlagsMetricRefUseIface default10.61.***0.0.0.0UG000eth0 10.0.0.0*255.0.0.0U000eth0 10.61.****255.255.252.0U000eth0 192.168.0.0*255.255.255.0U000eth1
本例中设置 192 网段为内网,10 网段为外网,经过以上配置后,ping 内网(例如:192.168.***)正常,ping 外网(例如:ping www.baidu.com)正常。说明同时访问内外网成功。
Ping192.168.***(192.168.***):56(84)bytes. 64bytesfrom192.168.***:icmp_seq=1ttl=0time=1ms 64bytesfrom192.168.***:icmp_seq=2ttl=0time=2ms 64bytesfrom192.168.***:icmp_seq=3ttl=0time=1ms ---192.168.***pingstatistics--- 3packetstransmitted,3received,0%packetloss round-tripmin/avg/max=0/0/1ms #ping10.61.*** Ping10.61.***(10.61.***):56(84)bytes. 64bytesfrom10.61.***:icmp_seq=1ttl=0time=0ms 64bytesfrom10.61.***:icmp_seq=2ttl=0time=0ms 64bytesfrom10.61.***:icmp_seq=3ttl=0time=1ms ---10.61.***pingstatistics--- 3packetstransmitted,3received,0%packetloss round-tripmin/avg/max=0/0/0ms
知识总结
以上已经成功完成了双网卡配置,下面我们来看下相关配置命令。 ①相关调试命令
删除路由:
routedel-net10.0.0.0netmask255.0.0.0deveth1 routedel-net10.61.***netmask255.255.252.0deveth1
删除默认网关:
routedeldefault
配置 IP:
ifconfigeth0192.168.***//给eth0网卡配置IP地址 ifconfigeth0192.168.***netmask255.255.255.0//给eth0网卡配置IP,并加mask ifconfigeth0192.168.***netmask255.255.255.0broadcast192.168.120.255
配置默认网关:
routeadddefaultgw10.61.***deveth0`
配置路由:
routeadd-net10.61.***netmask255.255.252.0deveth0`②路由及 IP 在板子保存位置
路由保存位置:/proc/net/route
#catproc/net/route IfaceDestinationGatewayFlagsRefCntUseMetricMaskMTUWindowIRTT eth00000000001C43D0A000300000000000000 eth00000000A000000000001000000000FF000 eth000C43D0A00000000000100000FCFFFF000 eth10000A8C000000000000100000FFFFFF000
静态 IP 保存位置:
#catdata/ethernet/eth0 DEVICE=eth0 BOOTPROTO=STATIC IPADDR=10.61.*** NETMASK=255.255.255.0 GATEWAY=10.61.*** ROUTE=10.61.*** #catdata/ethernet/eth1 DEVICE=eth1 BOOTPROTO=STATIC IPADDR=192.168.***23 NETMASK=255.255.255.0 GATEWAY=192.168.*** ROUTE=192.168.***
动态 IP(dhcp)保存位置 :/data/dhcp/eth0.result
#cat/data/dhcp/eth0.result IP4166695241810.61.***10.61.***255.255.252.010.61.10.610.60.10.610.61.****
问题总结
【问题现象】:拔掉网线不自动清除 IP 和路由 【原因分析】:拔掉网线后事件触发 StopDhcpClient,但未同步更新网络信息。
【解决方案】:在下面中的StopDhcpClient() 函数中增加更新网络链接状态。
foundationcommunicationnetmanager_extservicesethernetmanagersrcethernet_management.cpp
index9b03ad8..0c4f708100644 #NAME? #NAME? @@-569,6+569,7@@voidEthernetManagement::StopDhcpClient(conststd::string&dev,sptr通过以上示例指导,相信大家已经掌握了如何配置双网卡达成同时访问内、外网的目的,该示例相对简单,重点是需要将默认网关配置为外网网关。同时,通过该示例,相信大家也熟练掌握了网络配置相关命令。 当然,同时访问内网和外网的网络结构,不止示例中一种,大家也可以不断尝试,举一反三。StopDhcpClient(dev,false); +devState->RemoteUpdateNetLinkInfo(); devState->SetDhcpReqState(false); } @@-581,4+582,4@@voidEthernetManagement::SetDevState(sptr &devState,constst devState->SetLowerUp(lowerUp); } }//namespaceNetManagerStandard -}//namespaceOHOS Nonewlineatendoffile +}//namespaceOHOS
审核编辑:汤梓红
-
网关
+关注
关注
9文章
4470浏览量
51110 -
网卡
+关注
关注
4文章
311浏览量
27384 -
网络
+关注
关注
14文章
7567浏览量
88794 -
LAN
+关注
关注
0文章
227浏览量
37439 -
OpenHarmony
+关注
关注
25文章
3722浏览量
16321
原文标题:OpenHarmony上配置双网卡
文章出处:【微信号:gh_834c4b3d87fe,微信公众号:OpenHarmony威廉希尔官方网站 社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论