单网口OpenWrt设备通过设置vlan做主路由

运行OpenWrt系统的单网口设备,例如某些电视盒子,开发板,小主机,可以通过用交换机划分vlan的方式划出两个虚拟局域网,再分别设置成WAN和LAN,就可以当做主路由了。硬路由内部也是这个原理,硬路由的CPU只有一个网卡,连接在交换机芯片上,通过设置vlan隔离广播域即可区分WAN和LAN。

设置交换机

选择一台能划分vlan的交换机,这里使用缩水星 SG105 Pro为例。
先设置交换机的ip地址,推荐设置为路由器LAN网段下的一个ip。这一步是可选的。


image.png

然后要在交换机上设置两个vlan。此交换机为5口交换机,1口划分到WAN里,345口划分到LAN里,2口作为trunk口连接软路由。

vlan划分

直接来到vlan设置下的802.1Q vlan设置,在vlan使能选项上,点击启用,再点击应用。


image.png

此时系统会创建一个默认的vlan,不用管它。
先创建一个LAN口的vlan,vlan id为10。untagged端口选345,tagged端口选2,非成员端口选1。填好之后点添加/编辑。


image.png

再创建一个WAN口的vlan,vlan id为11。untagged端口选1,tagged端口选2,非成员端口选345。设置完成后应该是这样的:
image.png
设置PVID

打开802.1Q PVID设置,将端口1的PVID设为11,将端口345的PVID设为10。当没有加vlan标签的数据帧进入端口时,交换机会给数据帧打上对应的vlan id。


image.png

配置完成后,点击配置保存。此时,交换机已经配置好了,放在一边就行。

设置软路由

准备一台运行OpenWrt的软路由,以下用斐讯N1演示。
电脑连接交换机的3口,软路由连接交换机的4口,手动设置电脑网卡ip,确保电脑网卡ip与软路由的ip在同一ip段内且不重复。
系统安装完成,初次开机后,系统会自动添加一个LAN接口。如果有第二张网卡,系统就会添加一个WAN口,显然,这里是没有第二张网卡的。


t1.PNG

点击网络LAN的修改键,转到物理设置。
如果不使用WiFi,可以取消勾选桥接接口,可以降低那么一点点CPU负载。
在接口选项上,取消勾选以太网适配器eth0,这里的eth0是机器上物理网卡的名称。选上自定义接口,输入eth0.10,代表使用eth0网卡上的vlan 10。
配置完成后点击保存。不要点击保存&应用,否则路由器的网络会发生改变,导致与路由器失联。


t2.PNG

LAN口的配置就到这里,接下来要新建WAN接口和WAN6接口,其中WAN6接口是可选的,不使用IPv6就不用创建了。
在接口页面,点击新建接口。接口名称填WAN,接口的协议按自己的需要选择。拨号上网的选PPPoE,其余情况可以选DHCP。接口选择自定义接口,eth0.11。
t3.PNG

点击提交,会转到接口的配置页面,点击防火墙设置,区域选择wan。然后点击保存,不要点保存&应用。
t4.PNG

创建WAN6接口,这一步是可选的。在接口页面新建一个接口,物理接口和WAN接口一样,协议选择DHCPv6客户端。


t5.PNG

配置防火墙,选择wan区域。配置好后点保存。
t6.PNG

回到接口页面,配置完成应该是这样的:
t7.PNG

点击网页下面的保存&应用,应用所有配置。这时将软路由直接连接交换机的2口,即可获取ip地址。


t8.PNG
root@PhicommN1:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr FC:7C:02:87:78:C3
          inet addr:10.0.11.1  Bcast:10.0.11.255  Mask:255.255.255.0
          inet6 addr: 2xxx:xxxx:xxxx::1/62 Scope:Global
          inet6 addr: fe80::fe7c:2ff:fe87:78c3/64 Scope:Link
          inet6 addr: fdf5:4538:ce3d::1/60 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:129441 errors:0 dropped:0 overruns:0 frame:0
          TX packets:202647 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:64613947 (61.6 MiB)  TX bytes:220551227 (210.3 MiB)

docker0   Link encap:Ethernet  HWaddr 02:42:35:48:B9:C1
          inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST 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:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr FC:7C:02:87:78:C3
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:341128 errors:0 dropped:1 overruns:0 frame:0
          TX packets:339438 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:305424645 (291.2 MiB)  TX bytes:288211120 (274.8 MiB)
          Interrupt:20

eth0.10   Link encap:Ethernet  HWaddr FC:7C:02:87:78:C3
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:124375 errors:0 dropped:5 overruns:0 frame:0
          TX packets:197307 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:64100865 (61.1 MiB)  TX bytes:218673875 (208.5 MiB)

eth0.11   Link encap:Ethernet  HWaddr FC:7C:02:87:78:C3
          inet addr:10.0.1.199  Bcast:10.0.1.255  Mask:255.255.255.0
          inet6 addr: 2xxx:xxxx:xxxx:xxxx:fe7c:2ff:fe87:78c3/64 Scope:Global
          inet6 addr: 2xxx:xxxx:xxxx:xxxx::a2e/128 Scope:Global
          inet6 addr: fe80::fe7c:2ff:fe87:78c3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:183209 errors:0 dropped:5 overruns:0 frame:0
          TX packets:136708 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:233183849 (222.3 MiB)  TX bytes:66323279 (63.2 MiB)

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:439 errors:0 dropped:0 overruns:0 frame:0
          TX packets:439 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:31221 (30.4 KiB)  TX bytes:31221 (30.4 KiB)

wlan0     Link encap:Ethernet  HWaddr 02:E0:AE:75:92:8A
          inet6 addr: fe80::e0:aeff:fe75:928a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5013 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:2025478 (1.9 MiB)

你可能感兴趣的:(单网口OpenWrt设备通过设置vlan做主路由)