usage() {
cat <<EOF
-usage: ${0##*/} [-h] [-t 2|3|test|client] [-m WIRELESS_MAC]
+usage: ${0##*/} [-h] [-t 2|3|test|client] [-m WIRELESS_MAC] [hostname]
setup my router in general: dhcp, dns, etc.
Type 2 or 3 is for setting up a backup device, there are two kinds so
}
-secrets=false
-if [[ -e /root/router-secrets ]]; then
- secrets=true
- source /root/router-secrets
-fi
-rmac=$(cat /sys/class/net/eth0/address)
-if $secrets; then
- hostname=${rhost[$rmac]}
-fi
-: ${hostname:=wrt}
-
zblock=false
if [[ -e /root/zblock ]]; then
done
shift "$((OPTIND-1))" # Discard the options and sentinel --
+if [[ $1 ]]; then
+ h=$1
+ hostname=$h
+else
+ h=cmc
+ hostname=$h
+fi
+
+secrets=false
+if [[ -e /root/router-secrets ]]; then
+ secrets=true
+ source /root/router-secrets
+fi
+
if [[ ! $mac ]] && ! $test && $secrets; then
# if we wanted to increment it
#mac=${mac:0: -1}$((${mac: -1} + 2))
- mac=${rwmac[$rmac]}
+ mac=${rwmac[$h]}
fi
if (( $# != 0 )); then
if $test; then
ssid="gnuv3"
elif $secrets; then
- ssid=${rssid[$rmac]}
+ ssid=${rssid[$h]}
fi
: ${ssid:=librecmc}
if $secrets; then
- key=${rkey[$rmac]}
+ key=${rkey[$h]}
fi
: ${key:=pictionary49}
else
# these are the defaults
- uset network.lan.gateway ''
+
+ # this is not needed unless switching from the above condition.
+ # disabling just to debug
+ #uset network.lan.gateway ''
+
uset network.wan.proto dhcp
uset network.wan6.proto dhcpv6
/etc/init.d/dnsmasq start
if $client; then
uset wireless.default_radio0.network 'wwan'
- uset wireless.default_radio0.ssid ${rclientssid[$rmac]}
+ uset wireless.default_radio0.ssid ${rclientssid[$h]}
uset wireless.default_radio0.encryption 'psk2'
uset wireless.default_radio0.device 'radio0'
uset wireless.default_radio0.mode 'sta'
- uset wireless.default_radio0.bssid ${rclientbssid[$rmac]}
+ uset wireless.default_radio0.bssid ${rclientbssid[$h]}
# todo: look into whether 5g network is available.
- uset wireless.default_radio0.key ${rclientkey[$rmac]}
+ uset wireless.default_radio0.key ${rclientkey[$h]}
uset wireless.radio0.disabled false
uset wireless.radio1.disabled true
else
done
fi
-
-
+if grep '^OPENWRT_BOARD="mvebu/cortexa9"' /etc/os-release &>/dev/null; then
+ # todo, I also enabled irqbalance, didnt script it though
+ # https://forum.openwrt.org/t/wrt1900acs-wifi-issue-after-upgrade-from-19-07-to-21-02-vacuum-cleaner-legacy-rate-support/113311/28
+ cat >/etc/rc.local <<'EOF'
+echo "0" >> /sys/kernel/debug/ieee80211/phy0/mwlwifi/tx_amsdu
+echo "0" >> /sys/kernel/debug/ieee80211/phy1/mwlwifi/tx_amsdu
+exit 0
+EOF
+ chmod +x /etc/rc.local
+ /etc/rc.local
+ uset wireless.radio0.disassoc_low_ack 0
+ uset wireless.radio1.disassoc_low_ack 0
+fi
+case $HOSTNAME in
+ cmc)
+ # found with https://openwrt.org/docs/guide-user/network/wifi/iwchan
+ uset wireless.radio0.channel 11
+ ;;
+esac
# usb, screen, relay are for libremanage
#
# relay package temporarily disabled
# /root/relay_1.0-1_mips_24kc.ipk
-v pi kmod-usb-storage block-mount kmod-fs-ext4 nfs-kernel-server \
- tcpdump openvpn-openssl adblock libusb-compat \
- screen kmod-usb-serial-cp210x kmod-usb-serial-ftdi rsync\
- unbound-daemon unbound-checkconf
+v pi tcpdump screen rsync unbound-daemon unbound-checkconf \
+ kmod-usb-storage block-mount kmod-fs-ext4
+# nfs-kernel-server \
+ # openvpn-openssl adblock libusb-compat \
+ # kmod-usb-serial-cp210x kmod-usb-serial-ftdi \
+
cat >/etc/libremanage.conf <<EOF
${libremanage_host}_type=switch
list allowed_ips 'fdfd::2/64'
EOF
+# Need to reload before we change dnsmasq to give out
+# static ips in our new range.
if $network_restart; then
v /etc/init.d/network reload
fi
option dest_port 8448
option proto tcp
-
config redirect
option name syncthing
option src wan
option dest_port 22001
+#config redirect
+# option name i2p
+# option src wan
+# option src_dport $i2pport
+# option dest_ip $l.178
+# option dest lan
+#config rule
+# option src wan
+# option target ACCEPT
+# option dest_port $i2pport
+
config rule
option name ssh-ipv6
option src wan
-cedit /etc/hosts <<EOF
+cedit /etc/hosts <<EOF ||:
127.0.1.1 $hostname
EOF
-# not sure this case statement is needed
-case $hostname in
- cmc)
- cedit host /etc/hosts <<EOF
-$l.1 $hostname
-# 127.0.0.1 www.youtube.com
-# 127.0.0.1 googlevideo.com
-# 127.0.0.1 youtu.be
-# 127.0.0.1 youtube-nocookie.com
-# 127.0.0.1 youtube.com
-# 127.0.0.1 youtube.googleapis.com
-# 127.0.0.1 youtubei.googleapis.com
-# 127.0.0.1 ytimg.com
-# 127.0.0.1 ytimg.l.google.com
-EOF
- ;;
-esac
#mail_host=$(grep -F mail.iankelling.org /etc/hosts | awk '{print $1}')
# if you delete it, it goes back to the default. this seems
# to be a decent workaround.
# todo: setup /etc/resolv.conf to point to 127.0.0.1
-uset dhcp.@dnsmasq[0].resolvfile /dev/null
+# later note: disabled, I dunno why I set this.
+# uset dhcp.@dnsmasq[0].resolvfile /dev/null
# if dnsmasq happens to not send out a dns server,
# odhcpd will send one out like this:
# so just stop this thing.
# note: tried this, it didn't do anything:
# uset dhcp.@odhcpd[0].dns 10.2.0.1
-/etc/init.d/odhcpd stop
-/etc/init.d/odhcpd disable
+
+# iank, disabled while debugging.
+#/etc/init.d/odhcpd stop
+#/etc/init.d/odhcpd disable
+
# todo: make the above conditional on which server this is.
# avoid errors in log. current isp doesnt have ipv6
fi
-# disabled for now. i want to selectively enable it
-# for specific hosts.
-if [[ $(uci get adblock.global.adb_enabled) != 0 ]]; then
- v uci set adblock.global.adb_enabled=0
- uci commit adblock
- /etc/init.d/adblock restart
-fi
-# https://github.com/openwrt/packages/tree/master/net/adblock/files
-cat >/etc/crontabs/root <<'EOF'
-0 06 * * * /etc/init.d/adblock reload
-EOF
+# # disabled for now. i want to selectively enable it
+# # for specific hosts.
+# if [[ $(uci get adblock.global.adb_enabled) != 0 ]]; then
+# v uci set adblock.global.adb_enabled=0
+# uci commit adblock
+# /etc/init.d/adblock restart
+# fi
+# # https://github.com/openwrt/packages/tree/master/net/adblock/files
+# cat >/etc/crontabs/root <<'EOF'
+# 0 06 * * * /etc/init.d/adblock reload
+# EOF
# useful: http://wiki.openwrt.org/doc/howto/dhcp.dnsmasq
# template
# dhcp-host=,$l.,
-# Just leave the tftp server up even if we aren't doing pxe boot.
-# It has no sensitive info.
-enable-tftp=br-lan
-tftp-root=/mnt/usb/tftpboot
-dhcp-optsfile=/etc/dnsmasq-dhcpopts.conf
+# uncomment to do tftpboot. openwrt snapshot from 2022-01, seems like it cant
+# access /mnt/usb/tftpboot due to some jail or sandbox thing
+#enable-tftp=br-lan
+#tftp-root=/mnt/usb/tftpboot
+#dhcp-optsfile=/etc/dnsmasq-dhcpopts.conf
#log-queries=extra
EOF