韌體動態模擬之網路介面的淺析
網路埠淺析
因為在做韌體模擬的時候,遇到了QEMU模擬時因為模擬執行的韌體內部·埠未開放導致不能訪問管理介面的問題,So簡單學習一下關於網路卡和開放埠的知識,總結如下。
1. 結構圖
OpenWrt的網路配置很豐富,在我看來幾乎可以完成任何網路結構。下圖為一個支援OpenWrt的路由器網路結構:這個路由器內部交換機有6個口,其中1個WAN口、4個LAN口、Port5預設連線內部網路卡eth0,還有連線Wifi的無線網路卡接eth2,eth3保留,其主要通過VLAN和Bridging實現
1.1 VLAN(Virtual Local Area Network)
-
主要功能:實現單網路卡路由器接入多個網路
-
基本原理:區域網中的同一工作組的主機連在一起,隔絕不同的子網(在一個或多個交換機上),減少了訊息全面廣播所帶來的危險。連線子網時省去額外路由器
-
網路劃分:VLAN需要路由器內建的交換機支援,最多可以劃分4096個VLAN。
一般使用只劃分兩個VLAN:WAN和LAN,分別對應外網和內網。如果是純的VLAN,則WAN和LAN之間是隔離的,互相不能通訊,但在自己的VLAN裡可以自由通訊。
1.2 Trunking
此技術是具體實現一張網路卡連線多個網路的核心技術,如上圖Port 5.
- 連線:Port5一邊連線路由器,一邊連線網路卡eth0
- 作用:連線vlan0和vlan1。這就是採用VLAN的Trunking技術,在Trunk Port(port5)經過的乙太網幀上打標籤(Tagging)用以區分來自那個VLAN,然後路由器用網路卡eth0接收並處理標籤從而處理(在CPU中處理)
1.3 Bridging
- 主要功能:用軟體模擬乙太網交換機,連線多個乙太網網路卡(虛擬的或物理的)分享同一個IP子網
- 在openWrt中,主要用來連線無線WIFI網路和LAN,組成一個統一的內部區域網
2.網路配置
2.1 有線網路配置
openwrt的有線網路配置檔案位於**/etc/config/network**,配置如下:
config interface 'loopback'//本地環回
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'auto'
config interface 'lan'//配置LAN口
option ifname 'eth0.1'// 代表vlan1,這個很重要,下面配置會用到
option force_link '1'
option type 'bridge' //橋接方式
option proto 'static'//靜態IP
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
option macaddr '64:09:80:05:e1:bb'//設定MAC地址
config interface 'wan' //配置WAN口
option ifname 'eth0.2'
option _orig_ifname 'eth0.2'
option _orig_bridge 'false'
option proto 'pppoe'
option macaddr '64:09:80:05:e1:bc'
option username '11100026295'
option password '380926'
config interface 'wan6'
option _orig_ifname '@wan'
option _orig_bridge 'false'
option proto '6to4'
config switch //switch中文意思就開關,所以下面就是使能vlan口
option name 'mt762x'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'mt762x'
option vlan '1' //VLAN1, 和上面的option ifname ‘eth0.1’相匹配,所以是配置LAN口
option ports '0 1 2 3 5 6t' //0~3都是LAN口,RT5350有5個埠
config switch_vlan
option device 'mt762x'
option vlan '2' //VLAN2, 和上面的option ifname ‘eth0.2’相匹配,所以是配置WAN口
option ports '4 6t' //4是WAN口
2.2無線網路配置
openwrt的無線網路配置檔案位於**/etc/config/wireless**,配置如下:
config wifi-device 'rai0'
option type 'mt7612'
option mode '14'
option channel 'auto'
option txpower '100'
option ht '20+40+80'
option country 'US'
option disabled '0'
config wifi-iface
option device 'rai0'
option network 'lan'
option mode 'ap'
option ssid 'BYBY_WORLD'
option encryption 'psk2'
option key 'xxx'
config wifi-device 'ra0'
option type 'rt2860v2'
option mode '9'
option channel 'auto'
option txpower '100'
option ht '40'
option country 'US'
option disabled '0'
config wifi-iface
option device 'ra0'
option network 'lan'
option mode 'ap'
option wps 'pbc'
option ssid 'HELLO_WORLD'
option encryption 'psk2'
option key 'xxx'
這裡可以與韌體中相關目錄下的做一下對比,即可發現埠開放情況。
2.3 配置相關解釋
-
lo:虛擬裝置,自身的迴環網裝置。
-
ra0 rai0:這兩個是成對出現,一看就知道是無線裝置,它們各自對應一個SSID,分別是2.4G和5G。
-
eth0:eth0是一塊物理網路卡。eth0.1 eth0.2都是從此裝置上虛擬出來的/eth0.1 是vlan1分出的lan口/eth0.2 是vlan分出的wan口
-
br-lan:虛擬裝置,用於LAN口裝置橋接,可以用brctl show檢視使用情況
~ brctl show bridge name bridge id STP enabled interfaces br-lan 7fff.64098005e1bb no eth0.1 rai0 ra0
br-lan = eth0.1 + rai0 + ra0,即將有線LAN口和無線網統一劃分為 LAN,便於管理,但是如果只開啟了br-lan,恐怕是不能與外部網路進行溝通的
相關文章
- 不會用RabbitMQ實戰?來,一文帶你操作介面管理和監控
- 卷積神經網路的引數量和計算量
- python-Flask編寫一個簡單的網路介面(2)--詳解(超基礎)介面傳參
- freemarker根據靜態模板和動態模板生成PDF與Word
- 繼承(extends)與介面( implements)
- 計網複習筆記【附思維導圖】——【4】網路層
- 中國信通院&FreeBuf:2020年中國網路流量監測與分析產品研究報告(附下載)
- CNCERT:2020年上半年我國網際網路網路安全監測資料分析報告(附下載)
- 2020人工神經網路第一次作業-參考答案第十部分
- 計算機網路期末複習 第四講 網路應用工作原理
- 網路部 11.14作業
- 主表子表動態欄位儲存實現方式總結
- 年輕人不講武德,竟然重構出這麼優雅後臺 API 介面
- 專訪 | 從《艾希》到《電子姬》,幻刃網路做了款TapTap 8.2分的Meta手遊
- springMVC整合swagger2來輸出介面文件
- 介面測試和效能測試的區別
- 網路拓撲例項之交換機基於介面地址池作為DHCP伺服器(六)
- 9 大主題卷積神經網路(CNN)的 PyTorch 實現