X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=wrt-setup-local;h=17fb9d2adb4ff915f94f5e33aaa0f64b2e9a12b8;hb=632c94b8382717f1a06b350c971b8246abbbbe61;hp=38a276d65edf1f9bd57aea795f3b347b40821d0c;hpb=cf3b64c21818d0033ffe5447d30e45141c81ee1b;p=automated-distro-installer diff --git a/wrt-setup-local b/wrt-setup-local index 38a276d..17fb9d2 100755 --- a/wrt-setup-local +++ b/wrt-setup-local @@ -21,7 +21,7 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR usage() { cat </dev/null; then + v uci set "$key"="$val" + uci commit $service + eval $restart_var=true + fi +} + + ### 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 + lan=10.2.0.0 fi + +if $test; then + ssid="gnuv3" +elif $secrets; then + ssid=${rssid[$rmac]} +fi + +: ${ssid:=librecmc} + + +if $secrets; then + key=${rkey[$rmac]} +fi +: ${key:=pictionary49} + mask=255.255.0.0 cidr=16 l=${lan%.0} @@ -175,6 +222,7 @@ cat /root/router >>/etc/shadow uset system.@system[0].ttylogin 1 + cat >/usr/bin/archlike-pxe-mount <<'EOFOUTER' #!/bin/bash # symlinks are collapsed for nfs mount points, so use a bind mount. @@ -193,10 +241,83 @@ EOFOUTER chmod +x /usr/bin/archlike-pxe-mount sed -i '/^root:/s,/bin/ash$,/bin/bash,' /etc/passwd + + + +uset dropbear.@dropbear[0].PasswordAuth 0 +uset dropbear.@dropbear[0].RootPasswordAuth 0 +uset dropbear.@dropbear[0].Port 2220 +if ! cmp -s /root/dropbear_rsa_host_key /etc/dropbear/dropbear_rsa_host_key; then + cp /root/dropbear_rsa_host_key /etc/dropbear/dropbear_rsa_host_key + dropbear_restart=true +fi + +if $dropbear_restart; then + v /etc/init.d/dropbear restart +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 + /etc/init.d/dnsmasq stop + /etc/init.d/dnsmasq disable + /etc/init.d/odhcpd stop + /etc/init.d/odhcpd disable + rm -f /etc/resolv.conf + cat >/etc/resolv.conf <<'EOF' +nameserver 8.8.8.8 +nameserver 8.8.4.4 +EOF + + # things i tried to keep dnsmasq running but not enabled except local dns, + # but it didnt work right and i dont need it anyways. + # uset dhcp.wan.ignore $dev2 # default is false + # uset dhcp.lan.ignore $dev2 # default is false + # uset dhcp.@dnsmasq[0].interface lo + # uset dhcp.@dnsmasq[0].localuse 0 + # uset dhcp.@dnsmasq[0].resolvfile /etc/dnsmasq.conf + # uset dhcp.@dnsmasq[0].noresolv 1 + # todo: populate /etc/resolv.conf with a static value + +else + # these are the defaults + uset network.lan.gateway '' + uset network.wan.proto dhcp + uset network.wan6.proto dhcpv6 + /etc/init.d/dnsmasq start + # todo: figure out why this returns 1 + /etc/init.d/dnsmasq enable ||: + /etc/init.d/odhcpd start + /etc/init.d/odhcpd enable +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 +fi + + + # usb, screen, relay are for libremanage +# rsync is for brc 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 \ - screen kmod-usb-serial-cp210x kmod-usb-serial-ftdi + 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 - -dnsmasq_restart=false v cedit /etc/hosts </dev/null) ]]; then - # default is '/tmp/resolv.conf.auto', we switch to the dnsmasq default of - # /etc/resolv.conf. not sure why I did this. - v uci delete dhcp.@dnsmasq[0].resolvfile - uci commit dhcp - dnsmasq_restart=true -fi - uset dhcp.@dnsmasq[0].domain b8.nz uset dhcp.@dnsmasq[0].local /b8.nz/ uset system.@system[0].hostname $hostname - -if [[ $(uci get adblock.global.adb_enabled) != 1 ]]; then - v uci set adblock.global.adb_enabled=1 +# uci doesnt seem to have a way to set an empty value, +# 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 + +# 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 @@ -580,6 +735,8 @@ server=/_domainkey.b8.nz/# server=/_dmarc.b8.nz/# server=/ns1.b8.nz/# server=/ns2.b8.nz/# +server=/bk.b8.nz/# +server=/je.b8.nz/# mx-host=b8.nz,mail.iankelling.org,10 txt-record=b8.nz,"v=spf1 a ?all" @@ -626,15 +783,24 @@ dhcp-host=c8:60:00:31:6b:75,set:kd,$l.2,kd # top port, iPXE (PCI 04:00.0) in seabios boot menu #dhcp-host=c8:60:00:2b:15:07,set:kd,$l.2,kd dhcp-host=00:26:18:97:bb:16,set:frodo,$l.3,frodo -# 4 is reserved for a staticly configured host. -dhcp-host=00:1f:16:16:39:24,set:x2,$l.5,x2 +# 4 is reserved for a staticly configured host wrt2 +# old x2 with bad fan +#dhcp-host=00:1f:16:16:39:24,set:x2,$l.5,x2 +dhcp-host=f0:de:f1:81:ec:88,set:x2,$l.5,x2 +dhcp-host=c4:8e:8f:44:f5:63,set:x2w,$l.6,x2w # This is so fai can have an explicit name to use for testing, # or else any random machine which did a pxe boot would get # reformatted. The mac is from doing a virt-install, cancelling it, # and copying the generated mac, so it should be randomish. -dhcp-host=52:54:00:9c:ef:ad,set:demohost,$l.6,demohost -dhcp-host=00:1f:16:14:01:d8,set:tp,$l.7,x3 +dhcp-host=fa:08:f8:4c:14:1c,set:tp,$l.7,rp dhcp-host=80:fa:5b:1c:6e:cf,set:tp,$l.8,tp +dhcp-host=52:54:00:9c:ef:ad,set:demohost,$l.12,demohost +dhcp-host=62:03:cb:a8:3e:a3,set:trp,$1.13,trp +dhcp-host=00:1f:16:14:01:d8,set:tp,$l.18,x3 +# BRN001BA98CA823 in dhcp logs +dhcp-host=00:1b:a9:8c:a8:23,set:tp,$l.19,brother +dhcp-host=00:26:b6:f6:0f:e9,set:frodow,$l.28,frodow + # faiserver vm dhcp-host=52:54:00:56:09:f9,set:faiserver,$l.15,faiserver @@ -651,25 +817,15 @@ dhcp-host=b4:75:0e:94:29:ca,set:switch9429ca,$l.251,switch9429ca # It has no sensitive info. enable-tftp=br-lan tftp-root=/mnt/usb/tftpboot +dhcp-optsfile=/etc/dnsmasq-dhcpopts.conf + +#log-queries=extra EOF -uset network.lan.ipaddr $l.$lanip -uset network.lan.netmask $mask -uset dhcp.wan.ignore $dev2 # default is false -uset dhcp.lan.ignore $dev2 # default is false -if $dev2; then - uset network.lan.gateway $l.1 - uset network.wan.proto none - uset network.wan6.proto none -else - # these are the defaults - uset network.lan.gateway '' - uset network.wan.proto dhcp - uset network.wan6.proto dhcpv6 -fi -if $dnsmasq_restart; then + +if $dnsmasq_restart && ! $dev2; then v /etc/init.d/dnsmasq restart fi @@ -678,12 +834,9 @@ if $firewall_restart; then fi - +# todo: we should catch errors and still run this if needed if $network_restart; then reboot fi -if $dropbear_restart; then - v /etc/init.d/dropbear restart -fi exit 0