Przeglądaj źródła

Default to no static local IP address, but have the option to set one

Bob Mottram 9 lat temu
rodzic
commit
54b3daf9d4
2 zmienionych plików z 53 dodań i 31 usunięć
  1. 9
    2
      src/freedombone
  2. 44
    29
      src/freedombone-config

+ 9
- 2
src/freedombone Wyświetl plik

@@ -101,7 +101,8 @@ CPU_CORES=1
101 101
 IPV6_NETWORK='2001:470:26:307'
102 102
 
103 103
 # The static IP address of the system within the local network
104
-LOCAL_NETWORK_STATIC_IP_ADDRESS="192.168.1.60"
104
+# By default the IP address is dynamic within your LAN
105
+LOCAL_NETWORK_STATIC_IP_ADDRESS=
105 106
 
106 107
 # IP address of the router (gateway)
107 108
 ROUTER_IP_ADDRESS="192.168.1.254"
@@ -1291,6 +1292,9 @@ function install_not_on_BBB {
1291 1292
   if [[ INSTALLING_ON_BBB == "yes" ]]; then
1292 1293
       return
1293 1294
   fi
1295
+  if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
1296
+      return
1297
+  fi
1294 1298
 
1295 1299
   echo '# This file describes the network interfaces available on your system' > /etc/network/interfaces
1296 1300
   echo '# and how to activate them. For more information, see interfaces(5).' >> /etc/network/interfaces
@@ -6975,7 +6979,10 @@ function configure_email {
6975 6979
   echo "dc_readhost=''" >> /etc/exim4/update-exim4.conf.conf
6976 6980
   echo "dc_relay_domains=''" >> /etc/exim4/update-exim4.conf.conf
6977 6981
   echo "dc_minimaldns='false'" >> /etc/exim4/update-exim4.conf.conf
6978
-  RELAY_NETS=$(echo $LOCAL_NETWORK_STATIC_IP_ADDRESS | awk -F '.' '{print $1 "." $2 "." $3 ".0/24"}')
6982
+  RELAY_NETS='192.168.1.0/24'
6983
+  if [ $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
6984
+      RELAY_NETS=$(echo $LOCAL_NETWORK_STATIC_IP_ADDRESS | awk -F '.' '{print $1 "." $2 "." $3 ".0/24"}')
6985
+  fi
6979 6986
   echo "dc_relay_nets='$RELAY_NETS'" >> /etc/exim4/update-exim4.conf.conf
6980 6987
   echo "dc_smarthost=''" >> /etc/exim4/update-exim4.conf.conf
6981 6988
   echo "CFILEMODE='644'" >> /etc/exim4/update-exim4.conf.conf

+ 44
- 29
src/freedombone-config Wyświetl plik

@@ -180,8 +180,10 @@ function save_configuration_file {
180 180
         echo "MY_NAME=$MY_NAME" >> $CONFIGURATION_FILE
181 181
     fi
182 182
     echo "MY_EMAIL_ADDRESS=$MY_EMAIL_ADDRESS" >> $CONFIGURATION_FILE
183
-    echo "LOCAL_NETWORK_STATIC_IP_ADDRESS=$LOCAL_NETWORK_STATIC_IP_ADDRESS" >> $CONFIGURATION_FILE
184
-    echo "ROUTER_IP_ADDRESS=$ROUTER_IP_ADDRESS" >> $CONFIGURATION_FILE
183
+    if [ $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
184
+        echo "LOCAL_NETWORK_STATIC_IP_ADDRESS=$LOCAL_NETWORK_STATIC_IP_ADDRESS" >> $CONFIGURATION_FILE
185
+        echo "ROUTER_IP_ADDRESS=$ROUTER_IP_ADDRESS" >> $CONFIGURATION_FILE
186
+    fi
185 187
     if [ $ENABLE_CJDNS ]; then
186 188
         echo "ENABLE_CJDNS=$ENABLE_CJDNS" >> $CONFIGURATION_FILE
187 189
     fi
@@ -657,10 +659,10 @@ function interactive_configuration {
657 659
     fi
658 660
 
659 661
     if [ -d /home/$GENERIC_IMAGE_USERNAME ]; then
660
-		if [ ! -f $IMAGE_PASSWORD_FILE ]; then
661
-			echo 'Cannot find the password file for the admin user'
662
-			exit 62753
663
-		fi
662
+        if [ ! -f $IMAGE_PASSWORD_FILE ]; then
663
+            echo 'Cannot find the password file for the admin user'
664
+            exit 62753
665
+        fi
664 666
         # when installing from an image which comes with a known default user account
665 667
         selected_username=
666 668
         while [ ! $selected_username ]
@@ -1091,34 +1093,47 @@ function interactive_configuration {
1091 1093
         save_configuration_file
1092 1094
     fi
1093 1095
 
1094
-    if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
1095
-        LOCAL_NETWORK_STATIC_IP_ADDRESS=$(grep 'LOCAL_NETWORK_STATIC_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1096
+    SET_STATIC_IP="no"
1097
+    dialog --title $"Static local IP address" \
1098
+           --backtitle $"Freedombone Configuration" \
1099
+           --defaultno \
1100
+           --yesno $"\nDo you want to set a static local IP address for this system?\n\nFor example, 192.168.1.10" 10 60
1101
+    sel=$?
1102
+    case $sel in
1103
+        0) SET_STATIC_IP="yes";;
1104
+        255) exit 1;;
1105
+    esac
1106
+
1107
+    if [[ $SET_STATIC_IP == "yes" ]]; then
1096 1108
         if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
1097
-            LOCAL_NETWORK_STATIC_IP_ADDRESS='192.168..'
1109
+            LOCAL_NETWORK_STATIC_IP_ADDRESS=$(grep 'LOCAL_NETWORK_STATIC_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1110
+            if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
1111
+                LOCAL_NETWORK_STATIC_IP_ADDRESS='192.168..'
1112
+            fi
1098 1113
         fi
1099
-    fi
1100
-    if [ ! $ROUTER_IP_ADDRESS ]; then
1101
-        ROUTER_IP_ADDRESS=$(grep 'ROUTER_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1102 1114
         if [ ! $ROUTER_IP_ADDRESS ]; then
1103
-            ROUTER_IP_ADDRESS='192.168..'
1115
+            ROUTER_IP_ADDRESS=$(grep 'ROUTER_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1116
+            if [ ! $ROUTER_IP_ADDRESS ]; then
1117
+                ROUTER_IP_ADDRESS='192.168..'
1118
+            fi
1104 1119
         fi
1120
+        data=$(tempfile 2>/dev/null)
1121
+        trap "rm -f $data" 0 1 2 5 15
1122
+        dialog --backtitle $"Freedombone Configuration" \
1123
+               --title $"Local Network Configuration" \
1124
+               --form $"\nPlease enter the IP addresses:" 11 55 3 \
1125
+               $"This system:" 1 1 "$LOCAL_NETWORK_STATIC_IP_ADDRESS" 1 16 16 15 \
1126
+               $"Internet router:" 2 1 "$ROUTER_IP_ADDRESS" 2 16 16 15 \
1127
+               2> $data
1128
+        sel=$?
1129
+        case $sel in
1130
+            1) exit 1;;
1131
+            255) exit 1;;
1132
+        esac
1133
+        LOCAL_NETWORK_STATIC_IP_ADDRESS=$(cat $data | sed -n 1p)
1134
+        ROUTER_IP_ADDRESS=$(cat $data | sed -n 2p)
1135
+        save_configuration_file
1105 1136
     fi
1106
-    data=$(tempfile 2>/dev/null)
1107
-    trap "rm -f $data" 0 1 2 5 15
1108
-    dialog --backtitle $"Freedombone Configuration" \
1109
-           --title $"Local Network Configuration" \
1110
-           --form $"\nPlease enter the IP addresses:" 11 55 3 \
1111
-           $"This system:" 1 1 "$LOCAL_NETWORK_STATIC_IP_ADDRESS" 1 16 16 15 \
1112
-           $"Internet router:" 2 1 "$ROUTER_IP_ADDRESS" 2 16 16 15 \
1113
-           2> $data
1114
-    sel=$?
1115
-    case $sel in
1116
-        1) exit 1;;
1117
-        255) exit 1;;
1118
-    esac
1119
-    LOCAL_NETWORK_STATIC_IP_ADDRESS=$(cat $data | sed -n 1p)
1120
-    ROUTER_IP_ADDRESS=$(cat $data | sed -n 2p)
1121
-    save_configuration_file
1122 1137
 
1123 1138
     if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
1124 1139
         WIKI_DETAILS_COMPLETE=