問題
- 官方master分支下的源碼編譯成固件之後,默認eth0是掛在lan上的,除非有第二個網口,纔會再在wan上面掛一個。
具體原因看源碼:
路徑:/SDK/package/base-files/files/etc/board.d/99-default_network
#!/bin/sh
#
# Copyright (C) 2013-2015 OpenWrt.org
#
. /lib/functions/uci-defaults.sh
board_config_update
json_is_a network object && exit 0
ucidef_set_interface_lan 'eth0' # 這裏
[ -d /sys/class/net/eth1 ] && ucidef_set_interface_wan 'eth1' # 還有這裏
board_config_flush
exit 0
解決方案
#!/bin/sh
#
# Copyright (C) 2013-2015 OpenWrt.org
#
. /lib/functions/uci-defaults.sh
board_config_update
json_is_a network object && exit 0
ucidef_set_interface_wan 'eth0' # 這裏改一下
[ -d /sys/class/net/eth1 ] && ucidef_set_interface_lan 'eth1' # 這裏也改一下
board_config_flush
exit 0
防火牆
同理,可以設置防火牆的默認狀態爲ACCPET:
路徑:/SDK/package/network/config/firewall/files/firewall.config
...
config zone
option name wan
list network 'wan'
list network 'wan6'
option input ACCEPT # 改
option output ACCEPT
option forward ACCEPT # 改
option masq 1
option mtu_fix 1
...
注意
- ./script/feeds install 的時候,會提示文件衝突,需要注意一下