設定IP地址
阿新 • • 發佈:2021-08-08
#!/bin/bash #Absolute path to this script SCRIPT=$(readlink -f $0) #Absolute path this script is in SCRIPTPATH=$(dirname $SCRIPT) echo $SCRIPT echo $SCRIPTPATH #Initial defaults _NAME=ens33 _LOC_IP=192.168.31.91 _GW_IP=192.168.31.1 _PREFIX=24 clear echo echo echo "This script will help you easily set up IP ADDRESS" echo #check for root user if [ "$(id -u)" -ne 0 ] ; then echo "You must run this script as root. Sorry!" exit 1 fi #判斷IP ADDRESS是否合規 if ! echo $LOC_IP | egrep -q '(^([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$' ; then #Read the IP read -p "Please select the IP for this instance: [$_LOC_IP] " LOC_IP if ! echo $LOC_IP | egrep -q '(^([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$' ; then echo" Selecting default: $_LOC_IP" echo LOC_IP=$_LOC_IP else echo " Selecting IP: $LOC_IP" echo fi fi #判斷IP GATEWAY是否合規 if ! echo $GW_IP | egrep -q '(^([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$' ; then #Read the IP read -p "Please select the IP GW for this instance: [$_GW_IP] " GW_IP if ! echo $GW_IP | egrep -q '(^([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$' ; then echo " Selecting default: $_GW_IP" echo GW_IP=$_GW_IP else echo " Selecting GW: $GW_IP" echo fi fi cat>/etc/sysconfig/network-scripts/ifcfg-$_NAME<<EOF TYPE="Ethernet" BOOTPROTO="static" ONBOOT="yes" DEVICE="$_NAME" NETMASK=$_PREFIX GATEWAY=$GW_IP IPADDR=$LOC_IP DNS1=114.114.114.114 EOF systemctl restart network ifconfig