在某些特殊場景下,我們可能有這樣的網(wǎng)絡配置訴求,即:訪問內(nèi)網(wǎng)同時也需要訪問外網(wǎng)。
本文主要針對該場景進行梳理,以雙網(wǎng)卡配置為例,指導初學者進行網(wǎng)卡配置,達成同時訪問內(nèi)外網(wǎng)。
雙網(wǎng)卡配置硬件前提條件
硬件方面:板卡有 2 個網(wǎng)卡。
雙網(wǎng)卡配置規(guī)則:
連接外網(wǎng) LAN 口,配置外網(wǎng)網(wǎng)段 IP、子網(wǎng)掩碼、路由和網(wǎng)關
連接內(nèi)網(wǎng) LAN 口,配置內(nèi)網(wǎng)網(wǎng)段 IP、子網(wǎng)掩碼和路由。
說明:特別要注意,一臺設備不能同時配置兩個網(wǎng)關,且網(wǎng)關只能配置為外網(wǎng)網(wǎng)關,否則設備將無法區(qū)分外網(wǎng)出口,導致外網(wǎng)訪問失敗。
如下為例
以下示例內(nèi)外網(wǎng)的 IP 分配如下:(具體以你所在的網(wǎng)絡為準)
外網(wǎng):IP地址10.61.***掩碼:255.0.0.0路由:10.61.***網(wǎng)關: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
本例中設置 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)正常。說明同時訪問內(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
知識總結(jié)
以上已經(jīng)成功完成了雙網(wǎng)卡配置,下面我們來看下相關配置命令。 ①相關調(diào)試命令
刪除路由:
routedel-net10.0.0.0netmask255.0.0.0deveth1 routedel-net10.61.***netmask255.255.252.0deveth1
刪除默認網(wǎng)關:
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
配置默認網(wǎng)關:
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.***
動態(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)線不自動清除 IP 和路由 【原因分析】:拔掉網(wǎng)線后事件觸發(fā) StopDhcpClient,但未同步更新網(wǎng)絡信息。
【解決方案】:在下面中的StopDhcpClient() 函數(shù)中增加更新網(wǎng)絡鏈接狀態(tài)。
foundationcommunicationnetmanager_extservicesethernetmanagersrcethernet_management.cpp
index9b03ad8..0c4f708100644 #NAME? #NAME? @@-569,6+569,7@@voidEthernetManagement::StopDhcpClient(conststd::string&dev,sptr通過以上示例指導,相信大家已經(jīng)掌握了如何配置雙網(wǎng)卡達成同時訪問內(nèi)、外網(wǎng)的目的,該示例相對簡單,重點是需要將默認網(wǎng)關配置為外網(wǎng)網(wǎng)關。同時,通過該示例,相信大家也熟練掌握了網(wǎng)絡配置相關命令。 當然,同時訪問內(nèi)網(wǎng)和外網(wǎng)的網(wǎng)絡結(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)關
+關注
關注
9文章
6813瀏覽量
56299 -
網(wǎng)卡
+關注
關注
4文章
341瀏覽量
28938 -
網(wǎng)絡
+關注
關注
14文章
8276瀏覽量
94943 -
LAN
+關注
關注
0文章
234瀏覽量
39438 -
OpenHarmony
+關注
關注
33文章
3955瀏覽量
21130
原文標題:OpenHarmony上配置雙網(wǎng)卡
文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
使用雙網(wǎng)卡的虛擬機ubuntu配置
sdk8.0如何使用雙網(wǎng)卡?
請問Am335x從nand啟動且使用雙網(wǎng)卡(rmii接口),該怎么辦?
雙網(wǎng)卡時,SSH連接不上無線網(wǎng)卡?
linux雙網(wǎng)卡雙網(wǎng)關實現(xiàn)
求指點使用Lwip協(xié)議棧做雙網(wǎng)卡通信
開發(fā)板直連電腦雙網(wǎng)卡配置的相關資料推薦
Android系統(tǒng)啟動以太網(wǎng)卡及支持雙網(wǎng)卡共存的操作流程
如何在OpenHarmony上進行雙網(wǎng)卡設置
VxWorks下雙網(wǎng)卡冗余熱切換技術的研究
無線網(wǎng)卡雙機互聯(lián)和雙網(wǎng)卡共享上網(wǎng)的設置及方法
Linux系統(tǒng)雙網(wǎng)卡綁定技術的介紹
OpenHarmony上配置雙網(wǎng)卡案例
評論