MT7688學習筆記(11)——配置WAN/LAN

一、背景

LAN:局域網

局域網指在較小的地理范圍內,將兩臺以上的計算機通過傳輸電纜連接起來,實現資源共享。

局域網的傳輸速度通常在10Mb/s~1000Mb/s之間,主干1000Mb/s、桌面100Mb/s是目前的主流技術。局域網的設計通常是針對于一座建筑物內,提高資源和信息的安全性,用于減少管理者的維護操作等。

WAN:廣域網

廣域網是將一個較大的地理范圍內,將多臺計算機連接起來相互進行通信、共享資源的網絡。

與局域網相比,廣域網的傳輸速度相對要慢的多。在線路連接形式上有電話線、專線等幾種。在人們的思想中總認為 WAN 與 LAN 的區別在,WAN 是一種通過電話線路來實現地理位置相隔很遠的異地間進行通信的網絡。但隨著通信技術與網絡技術的發展,這個定義已經不再確切,相應地人們將逐步淡化 WAN 與 LAN 之間的界限,也可以說是將異地的局域網連在一起便形成廣域網。

VLAN:虛擬局域網

虛擬局域網是一組邏輯上的設備和用戶,這些設備和用戶并不受物理位置的限制,可以根據功能、部門及應用等因素將它們組織起來,相互之間的通信就好像它們在同一個網段中一樣,由此得名虛擬局域網

VLAN 是一種比較新的技術,工作在 OSI 參考模型的第 2 層和第 3 層,一個 VLAN 就是一個廣播域,VLAN之間的通信是通過第 3 層的路由器來完成的。與傳統的局域網技術相比較,VLAN技術更加靈活,它具有以下優點:

  • 網絡設備的移動、添加和修改的管理開銷減少
  • 可以控制廣播活動
  • 可提高網絡的安全性

VLAN劃分網絡

MT7688一共提供了5個物理網口,分別為ETHPHY0、ETHPHY1、ETHPHY2、ETHPHY3、ETHPHY4。使用VLAN可以對5個網口進行劃分,成為WAN和LAN。

二、查看當前網絡

root@hi-wooya:/nfs# ifconfig
apcli0    Link encap:Ethernet  HWaddr A2:9D:C1:0D:28:02  
          inet6 addr: fe80::a09d:c1ff:fe0d:2802/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

br-lan    Link encap:Ethernet  HWaddr 0C:EF:AF:CF:E1:B3  
          inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0
          inet6 addr: fe80::eef:afff:fecf:e1b3/64 Scope:Link
          inet6 addr: fdd8:c0ec:8d29::1/60 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:53691 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23930 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:21511968 (20.5 MiB)  TX bytes:1804340 (1.7 MiB)

eth0      Link encap:Ethernet  HWaddr A0:9D:C1:0D:28:03  
          inet6 addr: fe80::a29d:c1ff:fe0d:2803/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10112 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:1555238 (1.4 MiB)
          Interrupt:5 

eth0.1    Link encap:Ethernet  HWaddr A0:9D:C1:0D:28:03  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7041 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:484973 (473.6 KiB)

eth0.2    Link encap:Ethernet  HWaddr 0C:EF:AF:CF:E1:B3  
          inet6 addr: fe80::eef:afff:fecf:e1b3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3055 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:1028225 (1004.1 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1508180 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1508180 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:118239959 (112.7 MiB)  TX bytes:118239959 (112.7 MiB)

ra0       Link encap:Ethernet  HWaddr A0:9D:C1:0D:28:02  
          inet6 addr: fe80::a29d:c1ff:fe0d:2802/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:63744 errors:17 dropped:0 overruns:0 frame:0
          TX packets:19189 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:24063249 (22.9 MiB)  TX bytes:1306877 (1.2 MiB)
          Interrupt:6 
  • br-lan: 虛擬設備,LAN口橋接設備,包含通過LAN口和WAN口連入系統的設備統一橋接。
  • eth0: 真實設備,CPU內部到交換芯片之間只有一個接口。
  • eth0.1: 虛擬設備,由VLAN劃分的有線LAN口,VLAN編號1。
  • eth0.2: 虛擬設備,由VLAN劃分的有線WAN口,VLAN編號2。
  • lo: 虛擬設備,回環設備。
  • wlan: 真實設備,啟動Wi-Fi后將會產生此無線設備。
  • pppoe-wan: 虛擬設備,是PPPOE撥號上網成功后產生的。

三、配置WAN口外網

WAN口是任何一臺路由器用來連接外網的端口,WAN口可以被配置成為3種連接方式。

3.1 查看WAN配置

3.1.1 通過配置文件查看

配置文件位置:/etc/config/network
其內容如下:

config interface 'wan'
        option ifname 'eth0.2'
        option force_link '1'
        option macaddr '0c:ef:af:cf:e1:b3'
        option proto 'dhcp'

3.1.2 通過UCI查看

UCI命令:uci show network.wan

network.wan=interface
network.wan.ifname='eth0.2'
network.wan.force_link='1'
network.wan.macaddr='0c:ef:af:cf:e1:b3'
network.wan.proto='dhcp'

network.wan選項參數說明:

選項 說明 可選值及說明 必填
ifname 設備名稱 eth0.2
proto 協議類型 static:靜態IP地址
dhcp:動態獲取IP地址
pppoe:撥號上網
pptp:遠程VPN服務器
3g:連接3G/4G無線電話網絡
macaddr WAN口MAC地址,修改該地址即可實現MAC地址克隆功能 首次數據根據factory分區內參數自動生成

3.2 動態獲取IP地址

動態獲取IP選項說明

選項 說明 可選值及說明 必填
ifname 設備名稱 eth0.2
proto 協議類型 dhcp
macaddr WAN口MAC地址 首次數據根據factory分區內參數自動生成
mtu 修改最大數據包大小,默認不用設置 數值
reqopts 在向DHCP服務器發出請求時增加附加的DHCP信息 字符串
dns 使用指定的DNS服務器地址替代獲得的DNS 字符串

配置文件如下:

config interface 'wan'
        option ifname 'eth0.2'
        option macaddr '0c:ef:af:cf:e1:b3'
        option proto 'dhcp'

3.3 指定靜態IP地址

指定靜態IP選項說明

選項 說明 可選值及說明 必填
ifname 設備名稱 eth0.2
proto 協議類型 static
macaddr WAN口MAC地址 首次數據根據factory分區內參數自動生成
mtu 修改最大數據包大小,默認不用設置 數值
ipaddr WAN口的IP地址 字符串
netmask WAN口的子網掩碼 字符串
gateway 默認網關 字符串
broadcast 廣播地址 字符串
dns DNS服務器地址 字符串

配置文件如下:

config interface 'wan'
        option ifname 'eth0.2'
        option macaddr '0c:ef:af:cf:e1:b3'
        option proto 'static'
        option ipaddr '192.168.0.2'
        option netmask '255.255.255.0'
        option gateway '192.168.0.1'
        option dns '192.168.0.1'

3.4 修改OpenWrt源碼中WAN配置

3.4.1 在openwrt-hiwooya-stable-master中

配置文件位置/work/openwrt-hiwooya-stable-master/files/etc/config/network

config interface 'wan'
        option ifname 'eth0.2'
        option force_link '1'
        option macaddr '0c:ef:af:cf:e1:b3'
        option proto 'dhcp'

3.4.2 在OpenWrt 1505中

配置文件位置/work/openwrt/package/base-files/files/bin/config_generate

wan) uci -q batch <<EOF
set network.$1.proto='dhcp'
delete network.wan6
set network.wan6='interface'
set network.wan6.ifname='$ifname'
set network.wan6.proto='dhcpv6'
EOF

四、配置LAN口服務

LAN口下的設備可以通過WAN口接入網絡,也可以直接訪問設備上的各項功能(系統防火墻對LAN口默認不做任何攔截)。

4.1 查看LAN配置

4.1.1 通過配置文件查看

配置文件位置:/etc/config/network
其內容如下:

config interface 'lan'
        option ifname 'eth0.1'
        option force_link '1'
        option macaddr '0c:ef:af:cf:e1:b3'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.100.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

4.1.2 通過UCI查看

UCI命令:uci show network.lan

network.lan=interface
network.lan.ifname='eth0.1'
network.lan.force_link='1'
network.lan.macaddr='0c:ef:af:cf:e1:b3'
network.lan.type='bridge'
network.lan.proto='static'
network.lan.ipaddr='192.168.100.1'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'

network.lan選項參數說明:

選項 說明 可選值及說明 必填
ifname 設備名稱,一旦改了就亂了 eth0.1
proto 協議類型 static:靜態IP地址
macaddr WAN口MAC地址,修改該地址即可實現MAC地址克隆功能 首次數據根據factory分區內參數自動生成
type 網絡類型必須是橋接模式,要不就沒交換機功能 bridge
ipaddr LAN口的IP地址,用于局域網內其他設備訪問路由器 字符串
netmask 子網掩碼 字符串

4.2 指定靜態IP地址

配置文件如下:

config interface 'lan'
        option ifname 'eth0.1'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'

修改過LAN口的配置后要重啟網絡及DHCP服務:

root@OpenWrt:~# /etc/init.d/network restart
root@OpenWrt:~# /etc/init.d/odhcpd restart

4.3 修改OpenWrt源碼中LAN配置

4.3.1 在openwrt-hiwooya-stable-master中

配置文件位置/work/openwrt-hiwooya-stable-master/files/etc/config/network

config interface 'lan'
        option ifname 'eth0.1' 
        option force_link '1'
        option macaddr '0c:ef:af:cf:e1:b3'
        option type 'bridge' 
        option proto 'static'  
        option ipaddr '192.168.100.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

可將LAN口下的設備通過WAN口接入網絡。

4.3.2 在OpenWrt 1505中

配置文件位置/work/openwrt/package/base-files/files/bin/config_generate

        case $1 in
        lan) uci -q batch <<EOF
set network.$1.type='bridge'
set network.$1.proto='static'
set network.$1.ipaddr='192.168.1.1'
set network.$1.netmask='255.255.255.0'
set network.$1.ip6assign='60'
EOF

五、WAN口和LAN口切換

在OpenWrt源碼中:

5.1 分析配置文件

配置文件位置/work/openwrt-hiwooya-stable-master/files/etc/config/network

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '1 2 6t'

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option ports '0 6t'

其中eth0.1 對應vlan1:

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '1 2 6t'

分配了2個網口:網口1、網口2

eth0.2 對應vlan2:

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option ports '0 6t'

分配了1個網口:網口0
根據network配置文件中關于網卡的內容:

config interface 'lan'
    option ifname 'eth0.1'
    option force_link '1'
    option macaddr '20:20:20:20:20:a8'
    option type 'bridge'
    option proto 'static'
    option ipaddr '192.168.1.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

option interface 'wan'
    option ifname 'eth0.2'
    option force_link '1'
    option macaddr '20:20:20:20:20:a8'
    option proto 'dhcp'

可知WAN對應eth0.2,LAN對應eth0.1,則網口0為WAN,網口1與網口2為LAN

5.2 修改配置

  • 將WAN設置到最右邊的網口上,我們只需做出以下修改:


  • 執行reboot,重啟
  • 插上網線進行測試

? 由 Leung 寫于 2019 年 4 月 8 日

? 參考:YDH Kit 開發板WAN口和LAN口切換

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容