Subversion Repositories ALCASAR

Rev

Rev 3195 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log

Rev 3195 Rev 3201
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
# $Id: alcasar-conf.sh 3195 2024-04-23 22:39:48Z rexy $
2
# $Id: alcasar-conf.sh 3201 2024-05-28 17:21:34Z rexy $
3
 
3
 
4
# alcasar-conf.sh
4
# alcasar-conf.sh
5
# by REXY
5
# by REXY
6
# This script is distributed under the Gnu General Public License (GPL)
6
# This script is distributed under the Gnu General Public License (GPL)
7
 
7
 
Line 202... Line 202...
202
 
202
 
203
####################################################
203
####################################################
204
##   Configure ALCASAR according to alcasar.conf  ##
204
##   Configure ALCASAR according to alcasar.conf  ##
205
####################################################
205
####################################################
206
	--apply|-apply)
206
	--apply|-apply)
207
		PTN="\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/([012]?[0-9]|3[0-2])\b"
207
		PTN='^\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\)/[012]\?[[:digit:]]$'
208
		PRIVATE_IP_MASK=`grep ^PRIVATE_IP= $CONF_FILE|cut -d"=" -f2`
208
		PRIVATE_IP_MASK=`grep ^PRIVATE_IP= $CONF_FILE|cut -d"=" -f2`
209
		if ! echo $PRIVATE_IP_MASK | grep -q -E $PTN
209
		if [[ $(expr "$PRIVATE_IP_MASK" : $PTN) -eq 0 ]]
210
		then
210
		then
211
			echo "Syntax error for PRIVATE_IP_MASK ($PRIVATE_IP_MASK)"
211
			echo "Syntax error for PRIVATE_IP_MASK ($PRIVATE_IP_MASK)"
212
			exit 0
212
			exit 0
213
		fi
213
		fi
214
		PUBLIC_IP_MASK=`grep ^PUBLIC_IP= $CONF_FILE|cut -d"=" -f2`
214
		PUBLIC_IP_MASK=`grep ^PUBLIC_IP= $CONF_FILE|cut -d"=" -f2`
215
		PTN="\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"
-
 
216
		if [[ "$PUBLIC_IP_MASK" == "dhcp" ]]
215
		if [[ "$PUBLIC_IP_MASK" == "dhcp" ]]
217
		then
216
		then
218
			PUBLIC_GATEWAY="dhcp"
217
			PUBLIC_GATEWAY="dhcp"
219
			DHCP_DNS_servers=`cat /var/lib/dhclient/dhclient--$EXTIF.lease |grep domain-name-servers|sed -n "1 p"| rev|cut -d" " -f1|rev|tr -d ';'`
218
			DHCP_DNS_servers=`cat /var/lib/dhclient/dhclient--$EXTIF.lease |grep domain-name-servers|sed -n "1 p"| rev|cut -d" " -f1|rev|tr -d ';'`
220
			DNS1=`echo $DHCP_DNS_servers | cut -d"," -f1`
219
			DNS1=`echo $DHCP_DNS_servers | cut -d"," -f1`
221
			DNS2=`echo $DHCP_DNS_servers | cut -d"," -f2`
220
			DNS2=`echo $DHCP_DNS_servers | cut -d"," -f2`
222
		else
221
		else
223
			if ! echo $PUBLIC_IP_MASK | grep -q -E $PTN
222
			if [[ $(expr "$PUBLIC_IP_MASK" : $PTN) -eq 0 ]]
224
			then
223
			then
225
				echo "Syntax error for PUBLIC_IP_MASK ($PUBLIC_IP_MASK)"
224
				echo "Syntax error for PUBLIC_IP_MASK ($PUBLIC_IP_MASK)"
226
				exit 0
225
				exit 0
227
			fi
226
			fi
228
			PUBLIC_IP=`echo $PUBLIC_IP_MASK | cut -d"/" -f1`
227
			PUBLIC_IP=`echo $PUBLIC_IP_MASK | cut -d"/" -f1`
229
			PUBLIC_NETMASK=`/bin/ipcalc -m $PUBLIC_IP_MASK | cut -d"=" -f2`
228
			PUBLIC_NETMASK=`/bin/ipcalc -m $PUBLIC_IP_MASK | cut -d"=" -f2`
230
			PUBLIC_GATEWAY=`grep ^GW= $CONF_FILE|cut -d"=" -f2`
229
			PUBLIC_GATEWAY=`grep ^GW= $CONF_FILE|cut -d"=" -f2`
231
			if ! echo $PUBLIC_GATEWAY | grep -q -E $PTN
230
			PTN='^\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\)$'
-
 
231
			if [[ $(expr "$PUBLIC_GATEWAY" : $PTN) -eq 0 ]]
232
			then
232
			then
233
				echo "Syntax error for the Gateway IP ($PUBLIC_GATEWAY)"
233
				echo "Syntax error for the Gateway IP ($PUBLIC_GATEWAY)"
234
				exit 0
234
				exit 0
235
			fi
235
			fi
236
			DNS1=`grep ^DNS1= $CONF_FILE|cut -d"=" -f2`
236
			DNS1=`grep ^DNS1= $CONF_FILE|cut -d"=" -f2`
237
			if ! echo $DNS1 | grep -q -E $PTN
237
			if [[ $(expr "$DNS1" : $PTN) -eq 0 ]]
238
			then
238
			then
239
				echo "Syntax error for the IP address of the first DNS server ($DNS1)"
239
				echo "Syntax error for the IP address of the first DNS server ($DNS1)"
240
				exit 0
240
				exit 0
241
			fi
241
			fi
242
			DNS2=`grep ^DNS2= $CONF_FILE|cut -d"=" -f2`
242
			DNS2=`grep ^DNS2= $CONF_FILE|cut -d"=" -f2`
243
			if ! echo $DNS2 | grep -q -E $PTN
243
			if [[ $(expr "$DNS2" : $PTN) -eq 0 ]]
244
			then
244
			then
245
				echo "Syntax error for the IP address of the second DNS server ($DNS2)"
245
				echo "Syntax error for the IP address of the second DNS server ($DNS2)"
246
				exit 0
246
				exit 0
247
			fi
247
			fi
248
		fi
248
		fi