Banana Pi R1 (BPi-R1) Part 1 vlan switch設定



潮流興single-board computer,買了一台Banana Pi R1,打算把它設定成家的web server, VPN server, WiFi AP, Firewall,取代現時做這個功作,但是用電量大它好多好多部的noteboook。

好了,把它組好,也把它最建議的Bananian Linux安裝上去(其實原本打算裝套件可以新一點的Ubuntu,但因為driver問題,怕麻煩放棄),然後,就是開始設定了。


首先,它雖然有五個ports,但,控制晶片都是同一個,都是eth0,要用到另外4個ports,就要設定vlan。

所以,第一步,安裝vlan
sudo apt-get install vlan

然後,在網絡啟動時,加上switch功能,我們會把ports分成對外的WAN(使用最接近HDMI那個),它會被分配到vlan 101,而剩下來的四個就是LAN,它們會被分配成vlan 102。

編輯/etc/network/if-pre-up.d/swconfig
#!/bin/sh
 
#---------------------------#
# BPI-R1 VLAN configuration #
#---------------------------#
#
# This will create the following ethernet ports:
# - eth0.101 = WAN (single port)
# - eth0.102 = LAN (4 port switch)
#
# You have to adjust your /etc/network/interfaces
#
# Comment out the next line to enable the VLAN configuration:
#exit 0
 
ifconfig eth0 up
 
# The swconfig port number are:
# |2|1|0|4|  |3|
# (looking at front of ports)
 
swconfig dev eth0 set reset 1
swconfig dev eth0 set enable_vlan 1
swconfig dev eth0 vlan 101 set ports '3 8t'
swconfig dev eth0 vlan 102 set ports '4 0 1 2 8t'
swconfig dev eth0 set apply 1
是的,其實就只是在exit 0前面加上#,讓它可以執行下去。

然後,就是要在 /etc/network/interfaces 中,eth0.101和eth0.102兩個vlan,其中我的vlan 101(WAN)是使用DHCP取得IP,而vlan 102(LAN)則是使用固定IP:
auto eth0.101
iface eth0.101 inet dhcp

auto eth0.102
iface eth0.102 inet static
        address 192.168.1.1
        netmask 255.255.255.0


vlan switch部分完成了!對了,如果還要加上無線部分,這個 /etc/network/interfaces 的config請直接看Part 3。

然後,如果你要把R1設定成router,請直接看Part 2,不用看下面,因為接下來我們不是這樣做
如果你就只想把它設定成5ports的switch,不想把它設定成router,這是因為例如你的WAN已經有DHCP,然後又希望可以直接共用同一個網絡,所以覺得應該要設定bridge應該怎樣辦?沒問題,答案就在這,安裝bridge-utils,然後在/etc/network/interfaces中,再增加:
auto br0
iface br0 inet dhcp
       bridge_ports eth0.101 eth0.102
只是,我想問,那你為甚麼要設定bridge呢?把五個ports都設定成同一個vlan 101(即是/etc/network/if-pre-up.d/swconfig中的vlan 102改成vlan 101,以及/etc/network/interfaces中不要新增eth0.102),不就已經可以了嗎?

都設定好了,就讓它們生效吧 :)
sudo service networking restart

最後,我有把它放在gist上,請自便:
https://gist.github.com/livekn/46e4b08e4a1f7b25ed8c

繼續閱讀:

留言

這個網誌中的熱門文章

如何在ubuntu中compile kernel(12.10)

如何在linux kernel 3.7中加入system call