在某些特殊場(chǎng)景下,我們可能有這樣的網(wǎng)絡(luò)配置訴求,即:訪問內(nèi)網(wǎng)同時(shí)也需要訪問外網(wǎng)。
本文主要針對(duì)該場(chǎng)景進(jìn)行梳理,以雙網(wǎng)卡配置為例,指導(dǎo)初學(xué)者進(jìn)行網(wǎng)卡配置,達(dá)成同時(shí)訪問內(nèi)外網(wǎng)。
雙網(wǎng)卡配置硬件前提條件
硬件方面:板卡有 2 個(gè)網(wǎng)卡。
雙網(wǎng)卡配置規(guī)則:
連接外網(wǎng) LAN 口,配置外網(wǎng)網(wǎng)段 IP、子網(wǎng)掩碼、路由和網(wǎng)關(guān)
連接內(nèi)網(wǎng) LAN 口,配置內(nèi)網(wǎng)網(wǎng)段 IP、子網(wǎng)掩碼和路由。
說明:特別要注意,一臺(tái)設(shè)備不能同時(shí)配置兩個(gè)網(wǎng)關(guān),且網(wǎng)關(guān)只能配置為外網(wǎng)網(wǎng)關(guān),否則設(shè)備將無法區(qū)分外網(wǎng)出口,導(dǎo)致外網(wǎng)訪問失敗。
如下為例
以下示例內(nèi)外網(wǎng)的 IP 分配如下:(具體以你所在的網(wǎng)絡(luò)為準(zhǔn))
外網(wǎng):IP地址10.61.***掩碼:255.0.0.0路由:10.61.***網(wǎng)關(guān):10.61.*** 內(nèi)網(wǎng):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
本例中設(shè)置 192 網(wǎng)段為內(nèi)網(wǎng),10 網(wǎng)段為外網(wǎng),經(jīng)過以上配置后,ping 內(nèi)網(wǎng)(例如:192.168.***)正常,ping 外網(wǎng)(例如:ping www.baidu.com)正常。說明同時(shí)訪問內(nèi)外網(wǎng)成功。
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
知識(shí)總結(jié)
以上已經(jīng)成功完成了雙網(wǎng)卡配置,下面我們來看下相關(guān)配置命令。 ①相關(guān)調(diào)試命令
刪除路由:
routedel-net10.0.0.0netmask255.0.0.0deveth1 routedel-net10.61.***netmask255.255.252.0deveth1
刪除默認(rèn)網(wǎng)關(guān):
routedeldefault
配置 IP:
ifconfigeth0192.168.***//給eth0網(wǎng)卡配置IP地址 ifconfigeth0192.168.***netmask255.255.255.0//給eth0網(wǎng)卡配置IP,并加mask ifconfigeth0192.168.***netmask255.255.255.0broadcast192.168.120.255
配置默認(rèn)網(wǎng)關(guān):
routeadddefaultgw10.61.***deveth0`
配置路由:
routeadd-net10.61.***netmask255.255.252.0deveth0`②路由及 IP 在板子保存位置
路由保存位置:/proc/net/route
#catproc/net/route IfaceDestinationGatewayFlagsRefCntUseMetricMaskMTUWindowIRTT eth00000000001C43D0A000300000000000000 eth00000000A000000000001000000000FF000 eth000C43D0A00000000000100000FCFFFF000 eth10000A8C000000000000100000FFFFFF000
靜態(tài) 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.***
動(dòng)態(tài) 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.****
問題總結(jié)
【問題現(xiàn)象】:拔掉網(wǎng)線不自動(dòng)清除 IP 和路由 【原因分析】:拔掉網(wǎng)線后事件觸發(fā) StopDhcpClient,但未同步更新網(wǎng)絡(luò)信息。
【解決方案】:在下面中的StopDhcpClient() 函數(shù)中增加更新網(wǎng)絡(luò)鏈接狀態(tài)。
foundationcommunicationnetmanager_extservicesethernetmanagersrcethernet_management.cpp
index9b03ad8..0c4f708100644 #NAME? #NAME? @@-569,6+569,7@@voidEthernetManagement::StopDhcpClient(conststd::string&dev,sptr通過以上示例指導(dǎo),相信大家已經(jīng)掌握了如何配置雙網(wǎng)卡達(dá)成同時(shí)訪問內(nèi)、外網(wǎng)的目的,該示例相對(duì)簡單,重點(diǎn)是需要將默認(rèn)網(wǎng)關(guān)配置為外網(wǎng)網(wǎng)關(guān)。同時(shí),通過該示例,相信大家也熟練掌握了網(wǎng)絡(luò)配置相關(guān)命令。 當(dāng)然,同時(shí)訪問內(nèi)網(wǎng)和外網(wǎng)的網(wǎng)絡(luò)結(jié)構(gòu),不止示例中一種,大家也可以不斷嘗試,舉一反三。StopDhcpClient(dev,false); +devState->RemoteUpdateNetLinkInfo(); devState->SetDhcpReqState(false); } @@-581,4+582,4@@voidEthernetManagement::SetDevState(sptr &devState,constst devState->SetLowerUp(lowerUp); } }//namespaceNetManagerStandard -}//namespaceOHOS Nonewlineatendoffile +}//namespaceOHOS
審核編輯:湯梓紅
-
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
4306瀏覽量
50950 -
網(wǎng)卡
+關(guān)注
關(guān)注
3文章
303瀏覽量
27339 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7518瀏覽量
88632 -
LAN
+關(guān)注
關(guān)注
0文章
226瀏覽量
37375 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3660瀏覽量
16158
原文標(biāo)題:OpenHarmony上配置雙網(wǎng)卡
文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論