2014年9月18日 星期四

OpenWrt Network

設定網路界面、routing、Ethernet switch VLAN。

設定檔是 /etc/config/network,執行 /etc/init.d/network reload 重新載入。對特定邏輯網路界面可用 ifup <邏輯網路界面>,如包含有有 Wi-Fi 界面,需多執行 wifi up。

interface 區段:定義邏輯網路界面 (例如 lan、wan 等,可自取名稱),是網路設定的核心,包括 IP 位址、實體界面 (ifname)、alias、route、以及防火牆規則。
  • 設定 IP 位址透過 option proto 及其它相關 option
    • option proto dhcp
    • option proto static
      option ipaddr 192.168.1.1
      option netmask 255.255.0.0
  • option type bridge 將邏輯網路界面加上 bridge 層,可有多個實體界面,例如 option ifname 'eth0 eth1'
  • VLAN 界面是 ifname 加 .<vid>
  • 如果要新增額外的 IP 位址,有兩種方式。舊方式是新增 alisa 區段,透過 option interface 連到邏輯網路界面。新方式是新增另一個 interface 區段,透過相同的 option ifname 並在一起。如要跟 type bridge 的邏輯網路界面併,option ifname 的值前面要加 br-。
  • 有些協定需要搭配 /etc/config/firewall 將兩個邏輯網路界面串在一起,例如 PPtP-over-PPPoE、IPv6-in-IPv4 tunnel。

route/route5 區段:設定 static route,透過 option interface 連到邏輯網路界面。

rule/rule6 區段:透過 option in 連到邏輯網路界面。

switch 區段:設定 Ethernet switch 的 VLAN,跟上述區段比較沒有直接關係。新的 swconfig 框架每個 VLAN 分出 switch_vlan 區段來設定,透過 option device 連到 switch 區段。


switch_port 區段:設定 port VLAN

取得實體網路界面名稱
source /lib/functions/network.sh

if network_get_ipaddr addr "wan"; then
    echo "IP is $addr"
fi

參考來源:
  1. http://wiki.openwrt.org/doc/uci/network
  2. http://wiki.openwrt.org/doc/uci/network/switch
延伸閱讀
  • netifd
  • swconfig
  • /proc/switch

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...