X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=myfai-chboot-local;h=b2df864f129e32cbb2a1fdc5202192c115956b5d;hb=ba2a6b887fe5a9ed627e9f0947265b37abbcf7aa;hp=6d7e019607869a4ecfff4a12feab8807caf38acb;hpb=e6c8a36522847eca91819ab3eb656dd824bc3e3c;p=automated-distro-installer diff --git a/myfai-chboot-local b/myfai-chboot-local index 6d7e019..b2df864 100755 --- a/myfai-chboot-local +++ b/myfai-chboot-local @@ -34,18 +34,23 @@ host=$1 # assuming ipv4, or else we might need to deal with multiple addresses # in an ipv4 + ipv6 network. my_ip=$(ip -4 route get 8.8.8.8 | sed -nr 's,^.*src\s+(\S+).*,\1,p') -if [[ $x =~ [[:space:]] ]]; then +if [[ ! $my_ip || $my_ip =~ [[:space:]] ]]; then echo "$0: error: failed to get \$my_ip, got: $my_ip" exit 1 fi if [[ $host == default ]]; then - ip=$network + ip='*' elif [[ $host == [0-9]*.[0-9]*.[0-9]*.[0-9]* ]]; then - ip=$host + ip=$host/32 else type -t host &>/dev/null || apt-get -y install dnsutils ip=$(host $host | sed -rn 's/^\S+ has address //p;T;q')/32 + if [[ ! $ip || $ip =~ [[:space:]] ]]; then + echo "$0: error: failed to get \$my_ip, got: $my_ip" + exit 1 + fi + fi if modprobe nfsd &>/dev/null; then @@ -55,12 +60,18 @@ if modprobe nfsd &>/dev/null; then root_arg="$my_ip:/srv/fai/nfsroot:vers=3" # fai-setup without -e sets the ip to the local_ip/local_network, eg 192.168.1.3/24 # I restrict it to one ip as simple but imperfect access control. - sed -ri --follow-symlinks '\%^/srv/fai/%d' /etc/exports - cat >>/etc/exports <>/etc/exports <