X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=wrt-setup-local;h=00420030e328388d7ac79b000ee168cb420c7e18;hb=dcc5f68f7fbe9aa86cb3c7402ba4429bd70b369d;hp=b8d36e02b2bd6bd23b29366945db079a939156c3;hpb=cef9b6ede5c1e028bed1b4dc7895f5dfa121ad6b;p=automated-distro-installer diff --git a/wrt-setup-local b/wrt-setup-local index b8d36e0..0042003 100755 --- a/wrt-setup-local +++ b/wrt-setup-local @@ -15,21 +15,22 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR usage() { cat <&2; usage 1 ;; esac ;; @@ -83,10 +92,10 @@ while getopts hm:t: opt; do done shift "$((OPTIND-1))" # Discard the options and sentinel -- -if [[ ! $mac ]] && ! $test; then +if [[ ! $mac ]] && ! $test && $secrets; then # if we wanted to increment it - #WIRELESSMAC=${WIRELESSMAC:0: -1}$((${WIRELESSMAC: -1} + 2)) - mac=$WIRELESSMAC + #mac=${mac:0: -1}$((${mac: -1} + 2)) + mac=${rwmac[$rmac]} fi if (( $# != 0 )); then @@ -183,17 +192,25 @@ udel() { ### network config ### -ssid="check out gnu.org" lan=10.0.0.0 if $test; then - ssid="gnuv3" lan=10.1.0.0 elif [[ $hostname == cmc ]]; then - ssid=Svenska lan=10.2.0.0 +elif $client; then + lan=10.3.0.0 fi -if [[ $rkey ]]; then +if $test; then + ssid="gnuv3" +elif $secrets; then + ssid=${rssid[$rmac]} +fi + +: ${ssid:=librecmc} + + +if $secrets; then key=${rkey[$rmac]} fi : ${key:=pictionary49} @@ -249,10 +266,12 @@ fi uset network.lan.ipaddr $l.$lanip uset network.lan.netmask $mask -if $dev2; then - uset network.lan.gateway $l.1 - uset network.wan.proto none - uset network.wan6.proto none +if $dev2 || $client; then + if $dev2; then + uset network.lan.gateway $l.1 + uset network.wan.proto none + uset network.wan6.proto none + fi /etc/init.d/dnsmasq stop /etc/init.d/dnsmasq disable /etc/init.d/odhcpd stop @@ -286,27 +305,45 @@ else fi wireless_restart=false -for x in 0 1; do - uset wireless.default_radio$x.ssid "$ssid" - uset wireless.default_radio$x.key $key - uset wireless.default_radio$x.encryption psk2 - if [[ $mac ]]; then - uset wireless.default_radio$x.macaddr $macpre$((macsuf + 2*x)) - fi - # secondary device has wireless disabled - uset wireless.radio$x.disabled $dev2 -done -if $wireless_restart; then - v wifi +if $client; then + uset wireless.default_radio0.network 'wwan' + uset wireless.default_radio0.ssid ${rclientssid[$rmac]} + 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]} + # todo: look into whether 5g network is available. + uset wireless.default_radio0.key ${rclientkey[$rmac]} + uset wireless.radio0.disabled false + uset wireless.radio1.disabled true +else + # defaults, just reseting in case client config ran + uset wireless.default_radio0.network lan + uset wireless.default_radio0.mode ap + for x in 0 1; do + uset wireless.default_radio$x.ssid "$ssid" + uset wireless.default_radio$x.key $key + uset wireless.default_radio$x.encryption psk2 + if [[ $mac ]]; then + uset wireless.default_radio$x.macaddr $macpre$((macsuf + 2*x)) + fi + # secondary device has wireless disabled + uset wireless.radio$x.disabled $dev2 + done fi + + # usb, screen, relay are for libremanage # rsync is for brc +# +# 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 /root/relay_1.0-1_mips_24kc.ipk \ + tcpdump openvpn-openssl adblock libusb-compat \ screen kmod-usb-serial-cp210x kmod-usb-serial-ftdi rsync cat >/etc/libremanage.conf </dev/null; then - # cant mix cedit plus uci - echo | cedit /etc/config/firewall ||: - uci add_list firewall.@zone[1].network=wg0 - uci commit firewall - firewall-cedit ||: - firewall_restart=true -fi +# not using wireguard for now +# if ! uci get firewall.@zone[1].network | grep wg0 &>/dev/null; then +# # cant mix cedit plus uci +# echo | cedit /etc/config/firewall ||: +# uci add_list firewall.@zone[1].network=wg0 +# uci commit firewall +# firewall-cedit ||: +# firewall_restart=true +# fi + -dnsmasq_restart=false v cedit /etc/hosts < 2.80. currently at 2.80. + # todo: download https://downloads.openwrt.org/snapshots/packages/mipsel_24kc/base/dnsmasq-full_2.84-1_mipsel_24kc.ipk + # and install it. then we can turn off dnssec in systemd-resolved + # + # Also, reload of dnsmasq seems to break things, wifi + # clients were not getting internet connectivity. v /etc/init.d/dnsmasq restart fi @@ -778,6 +883,10 @@ if $firewall_restart; then v /etc/init.d/firewall restart fi +# this may just restart the network and take care of the network_restart below. +if $wireless_restart; then + v wifi +fi # todo: we should catch errors and still run this if needed if $network_restart; then