软路由重装之后还要自己配置上网设置啥的
比较麻烦,所以自己编译一个属于自己的openwrt固件

优化内容

国内优化

更换opkg为国内清华源镜像
cp /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.bak sed -i 's#https\?://downloads.openwrt.org#https://mirrors.tuna.tsinghua.edu.cn/openwrt#g' /etc/opkg/distfeeds.conf

删除grub引导等待时间

sed -i 's/set timeout=5/set timeout=0/g' /boot/grub/grub.cfg

中文界面

luci-i18n-base-zh-cn

扩容需要的插件

block-mount
mount-utils
libmount1

网络优化

网口配置:br-lan 绑定 eth1+eth2+eth3,eth0 为 WAN 口
LAN 地址:10.0.0.1/24
WAN 协议:PPPoE 拨号

构建命令

预安装的软件包

base-files ca-bundle dnsmasq dropbear e2fsprogs firewall4 fstools grub2-bios-setup kmod-button-hotplug kmod-nft-offload libc libgcc libustream-mbedtls logd mkf2fs mtd netifd nftables odhcp6c odhcpd-ipv6only opkg partx-utils ppp ppp-mod-pppoe procd-ujail uci uclient-fetch urandom-seed urngd kmod-amazon-ena kmod-amd-xgbe kmod-bnx2 kmod-dwmac-intel kmod-e1000e kmod-e1000 kmod-forcedeth kmod-fs-vfat kmod-igb kmod-igc kmod-ixgbe kmod-r8169 kmod-tg3 kmod-drm-i915 luci luci-app-attendedsysupgrade luci-i18n-base-zh-cn block-mount mount-utils libmount1

首次启动时运行的脚本(uci-defaults)

wlan_name="OpenWrt"
wlan_password="123123"

root_password="123123"

lan_ip_address="10.0.0.1/24"

pppoe_username="00000"
pppoe_password="00000"
cp -f /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.bak
sed -i 's#https\?://downloads.openwrt.org#https://mirrors.tuna.tsinghua.edu.cn/openwrt#g' /etc/opkg/distfeeds.conf

[ -f /boot/grub/grub.cfg ] && sed -i 's/set timeout=5/set timeout=0/g' /boot/grub/grub.cfg

if [ -n "$root_password" ]; then
  (echo "$root_password"; sleep 1; echo "$root_password") | passwd > /dev/null
fi

uci del network.@device[0].ports
uci add_list network.@device[0].ports='eth1'
uci add_list network.@device[0].ports='eth2'
uci add_list network.@device[0].ports='eth3'

uci set network.lan.proto='static'
uci set network.lan.ipaddr="$lan_ip_address"
uci set network.lan.device='br-lan'

if [ -n "$pppoe_username" ] && [ -n "$pppoe_password" ]; then
  uci set network.wan.device='eth0'
  uci set network.wan.proto='pppoe'
  uci set network.wan.username="$pppoe_username"
  uci set network.wan.password="$pppoe_password"
  uci set network.wan.peerdns='1'
  uci set network.wan.delegate='0'
fi

uci set network.wan6.auto='0'

uci commit network

if [ -n "$wlan_name" ] && [ -n "$wlan_password" ] && [ ${#wlan_password} -ge 8 ]; then
  uci set wireless.@wifi-device[0].disabled='0'
  uci set wireless.@wifi-iface[0].disabled='0'
  uci set wireless.@wifi-iface[0].encryption='psk2'
  uci set wireless.@wifi-iface[0].ssid="$wlan_name"
  uci set wireless.@wifi-iface[0].key="$wlan_password"
  uci commit wireless
fi

/etc/init.d/network restart

echo "All configuration completed successfully!"

0

评论

0 条

评论加载中...