韌體動態模擬之網路介面的淺析
網路埠淺析
因為在做韌體模擬的時候,遇到了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,恐怕是不能與外部網路進行溝通的
相關文章
- 移動網際網路贏利模式之廣告前景淺析模式
- 淺析動態代理IP 海外代理IP介紹
- 模擬網路狀態的利器TC
- iOS模擬各種網路狀態iOS
- JAVA動態繫結淺析Java
- 淺析DispatchProxy動態代理AOP
- Node.js之網路通訊模組淺析Node.js
- 摩申網路:淺析網路棋牌遊戲使用者群體遊戲
- 淺析MyBatis的動態代理原理MyBatis
- 淺析模糊神經網路神經網路
- 淺析PowerBuilder下動態SQL語句UISQL
- 計算機網路淺析(二)計算機網路
- 模擬展示動態按鈕
- 淺析C++裡面的宏 (轉)C++
- Cisco Packet Tracer Student(思科網路模擬器)模擬搭建VLAN網路
- 淺析虛擬機器記憶體管理模型虛擬機記憶體模型
- 模擬簡單的動態代理
- 淺析前端狀態管理前端
- Android NDK祕籍--淺析靜態庫和動態庫Android
- 一些網路方面的介紹
- 網際網路網站的反爬蟲策略淺析網站爬蟲
- 淺說:網路空間擬態防禦是個什麼鬼?
- JavaScript之淺析PromiseJavaScriptPromise
- Tina-TI電路模擬初體驗(德州儀器電路模擬軟體)
- 網路安全論文–淺析計算機網路安全技術計算機網路
- VPN介紹--虛擬網路
- 虛擬化網路演進模擬對話
- Linux 程式狀態淺析Linux
- 《深入淺出神經網路與深度學習》動態示例神經網路深度學習
- 淺析okHttp3的網路請求流程HTTP
- 淺析網路應用中常用的加密手段加密
- 探索網路安全:淺析檔案上傳漏洞
- 物聯網淺析
- 淺析防毒軟體開發原理(之查毒引擎)防毒
- 小車側方位停車過程的動態模擬matlab模擬Matlab
- 淺析Spring之IoCSpring
- mysql之 double write 淺析MySql
- 淺析Spring中AOP的實現原理——動態代理Spring