问题
- 官方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 的时候,会提示文件冲突,需要注意一下