dupport dhcp if linux distribution is Ubuntu.
This commit is contained in:
parent
fd1058d81c
commit
8e0f4ce3fc
@ -300,6 +300,8 @@ echononl "\033[1mLinux Distribution [$DEFAULT_LXC_DIST]:\033[m "
|
|||||||
read LXC_DIST
|
read LXC_DIST
|
||||||
if [[ -z "$(trim $LXC_DIST)" ]] ; then
|
if [[ -z "$(trim $LXC_DIST)" ]] ; then
|
||||||
LXC_DIST="$DEFAULT_LXC_DIST"
|
LXC_DIST="$DEFAULT_LXC_DIST"
|
||||||
|
else
|
||||||
|
LXC_DIST="${LXC_DIST,,}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
@ -314,6 +316,8 @@ echononl "\033[1mCode name [${DEFAULT_CODENAME}]:\033[m "
|
|||||||
read LXC_RELEASE
|
read LXC_RELEASE
|
||||||
if [[ -z "$(trim $LXC_RELEASE)" ]] ; then
|
if [[ -z "$(trim $LXC_RELEASE)" ]] ; then
|
||||||
LXC_RELEASE="$DEFAULT_CODENAME"
|
LXC_RELEASE="$DEFAULT_CODENAME"
|
||||||
|
else
|
||||||
|
LXC_RELEASE="${LXC_RELEASE,,}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#while [[ -z "$(trim $LXC_RELEASE)" ]]; do
|
#while [[ -z "$(trim $LXC_RELEASE)" ]]; do
|
||||||
@ -347,265 +351,289 @@ echo ""
|
|||||||
echo -e "\033[32m--\033[m"
|
echo -e "\033[32m--\033[m"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
NETWORK_CONFIGURATION_DHCP=false
|
||||||
echo " # Insert first IPv4 Address for the new LX Containers."
|
echo " # Insert first IPv4 Address for the new LX Containers."
|
||||||
echo " #"
|
echo " #"
|
||||||
|
if [[ "$LXC_DIST" = "ubuntu" ]] ; then
|
||||||
|
echo -e " # Type \033[33mNone\033[m or \033[33mDHCP\033[m if no ipv4-address should be assigned"
|
||||||
|
echo " #"
|
||||||
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
echononl "\033[1mFirst IPv4 Address:\033[m "
|
echononl "\033[1mFirst IPv4 Address:\033[m "
|
||||||
read IPV4_ADDRESS_1
|
read IPV4_ADDRESS_1
|
||||||
|
if [[ "$LXC_DIST" = "ubuntu" ]] && ([[ "${IPV4_ADDRESS_1,,}" = 'none' ]] \
|
||||||
|
|| [[ "${IPV4_ADDRESS_1,,}" = 'dhcp' ]]) ; then
|
||||||
|
NETWORK_CONFIGURATION_DHCP=true
|
||||||
|
else
|
||||||
|
|
||||||
while ! $(is_valid_ipv4 $IPV4_ADDRESS_1); do
|
while ! $(is_valid_ipv4 $IPV4_ADDRESS_1); do
|
||||||
if [[ -z "$(trim $IPV4_ADDRESS_1)" ]]; then
|
if [[ -z "$(trim $IPV4_ADDRESS_1)" ]]; then
|
||||||
warn "Parameter is needed. Try again.."
|
warn "Parameter is needed. Try again.."
|
||||||
else
|
else
|
||||||
warn "'$IPV4_ADDRESS_1' is not a valid IPv4 Address. Try again.."
|
warn "'$IPV4_ADDRESS_1' is not a valid IPv4 Address. Try again.."
|
||||||
fi
|
fi
|
||||||
echononl "\033[1mFirst IPv4 Address:\033[m "
|
echononl "\033[1mFirst IPv4 Address:\033[m "
|
||||||
read IPV4_ADDRESS_1
|
read IPV4_ADDRESS_1
|
||||||
done
|
|
||||||
_octets=( ${IPV4_ADDRESS_1//\./ } )
|
|
||||||
DEFAULT_IPV4_GATEWAY_1="${_octets[0]}.${_octets[1]}.${_octets[2]}.1"
|
|
||||||
DEFAULT_IPV4_NAME_SERVER_1="${_octets[0]}.${_octets[1]}.${_octets[2]}.1"
|
|
||||||
|
|
||||||
echo ""
|
if [[ "$LXC_DIST" = "ubuntu" ]] && ([[ "${IPV4_ADDRESS_1,,}" = 'none' ]] \
|
||||||
echo -e "\033[32m--\033[m"
|
|| [[ "${IPV4_ADDRESS_1,,}" = 'dhcp' ]]) ; then
|
||||||
echo ""
|
NETWORK_CONFIGURATION_DHCP=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
echo " # Insert IPv4 Address for the gateway."
|
|
||||||
echo " #"
|
|
||||||
echo " # Type <return> to accept the default '$DEFAULT_IPV4_GATEWAY_1'."
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mIPv4 (first) Gateway Address [$DEFAULT_IPV4_GATEWAY_1]:\033[m "
|
|
||||||
read IPV4_GATEWAY_1
|
|
||||||
|
|
||||||
while ! $(is_valid_ipv4 $IPV4_GATEWAY_1) ; do
|
done
|
||||||
if [[ -z "$(trim $IPV4_GATEWAY_1)" ]]; then
|
|
||||||
IPV4_GATEWAY_1="$DEFAULT_IPV4_GATEWAY_1"
|
fi
|
||||||
break
|
|
||||||
else
|
if ! $NETWORK_CONFIGURATION_DHCP ; then
|
||||||
warn "'$IPV4_GATEWAY_1' is not a valid IPv4 Address. Try again.."
|
|
||||||
fi
|
_octets=( ${IPV4_ADDRESS_1//\./ } )
|
||||||
|
DEFAULT_IPV4_GATEWAY_1="${_octets[0]}.${_octets[1]}.${_octets[2]}.1"
|
||||||
|
DEFAULT_IPV4_NAME_SERVER_1="${_octets[0]}.${_octets[1]}.${_octets[2]}.1"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " # Insert IPv4 Address for the gateway."
|
||||||
|
echo " #"
|
||||||
|
echo " # Type <return> to accept the default '$DEFAULT_IPV4_GATEWAY_1'."
|
||||||
|
echo ""
|
||||||
echononl "\033[1mIPv4 (first) Gateway Address [$DEFAULT_IPV4_GATEWAY_1]:\033[m "
|
echononl "\033[1mIPv4 (first) Gateway Address [$DEFAULT_IPV4_GATEWAY_1]:\033[m "
|
||||||
read IPV4_GATEWAY_1
|
read IPV4_GATEWAY_1
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
while ! $(is_valid_ipv4 $IPV4_GATEWAY_1) ; do
|
||||||
echo -e "\033[32m--\033[m"
|
if [[ -z "$(trim $IPV4_GATEWAY_1)" ]]; then
|
||||||
echo ""
|
IPV4_GATEWAY_1="$DEFAULT_IPV4_GATEWAY_1"
|
||||||
|
|
||||||
echo " # Insert Netmask for the first IPv4 Address."
|
|
||||||
echo " #"
|
|
||||||
echo " # Type <return> to accept the default '$DEFAULT_IPV4_NETMASK_1'."
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mNetmask (first) IPv4 Address [$DEFAULT_IPV4_NETMASK_1]:\033[m "
|
|
||||||
read IPV4_NETMASK_1
|
|
||||||
|
|
||||||
while ! $(is_valid_ipv4 $IPV4_NETMASK_1) ; do
|
|
||||||
if [[ -z "$(trim $IPV4_NETMASK_1)" ]]; then
|
|
||||||
IPV4_NETMASK_1="$DEFAULT_IPV4_NETMASK_1"
|
|
||||||
break
|
|
||||||
else
|
|
||||||
warn "'$IPV4_NETMASK_1' is not a valid netmask. Try again.."
|
|
||||||
fi
|
|
||||||
echononl "\033[1mNetmask (first) IPv4 Address [$DEFAULT_IPV4_NETMASK_1]:\033[m "
|
|
||||||
read IPV4_NETMASK_1
|
|
||||||
done
|
|
||||||
IPV4_PREFIX_1="$(netmask2cidr $IPV4_NETMASK_1)"
|
|
||||||
IPV6_PREFIX_1=$DEFAULT_IPV6_PREFIX
|
|
||||||
|
|
||||||
|
|
||||||
if [[ "$LXC_DIST" = "debian" ]]; then
|
|
||||||
echo ""
|
|
||||||
echo -e "\033[32m--\033[m"
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mDo you want to apply a second IPv4 Address?\033[m [yes/no]: "
|
|
||||||
read OK
|
|
||||||
[[ "$(trim ${OK,,})" = "yes" ]] && _second_ipv4=true || _second_ipv4=false
|
|
||||||
|
|
||||||
if $_second_ipv4 ; then
|
|
||||||
|
|
||||||
_last_octet=${MAC_ADDRESS_1: -2}
|
|
||||||
_new_last_octet="$(printf "%X\n" $((0x$_last_octet + 1)))"
|
|
||||||
if [[ ${#_new_last_octet} -eq 1 ]]; then
|
|
||||||
_new_last_octet="0$_new_last_octet"
|
|
||||||
elif [[ ${#_new_last_octet} -eq 3 ]]; then
|
|
||||||
_new_last_octet="00"
|
|
||||||
fi
|
|
||||||
DEFAULT_MAC_ADDRESS_2="${MAC_ADDRESS_1:0:14}:$_new_last_octet"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo -e "\033[32m--\033[m"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " # Insert MAC Address for the second network device of the new LX Containers."
|
|
||||||
echo " #"
|
|
||||||
echo " # Type <return> to accept the randomised created one '$DEFAULT_MAC_ADDRESS_2'."
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mMAC Address of the second network device [$DEFAULT_MAC_ADDRESS_2]:\033[m "
|
|
||||||
read MAC_ADDRESS_2
|
|
||||||
|
|
||||||
while ! $(is_valid_mac_address $MAC_ADDRESS_2) ; do
|
|
||||||
if [[ -z "$(trim $MAC_ADDRESS_2)" ]] ; then
|
|
||||||
MAC_ADDRESS_2="$DEFAULT_MAC_ADDRESS_2"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
warn "'$MAC_ADDRESS_2' isn't a valid MAC Address."
|
|
||||||
echononl "\033[1mMAC Address of the second network device [$DEFAULT_MAC_ADDRESS_2]:\033[m "
|
|
||||||
read MAC_ADDRESS_2
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo -e "\033[32m--\033[m"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " # Insert second IPv4 Address for the new LX Containers."
|
|
||||||
echo " #"
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mSecond IPv4 Address:\033[m "
|
|
||||||
read IPV4_ADDRESS_2
|
|
||||||
|
|
||||||
while ! $(is_valid_ipv4 $IPV4_ADDRESS_2); do
|
|
||||||
if [[ -z "$(trim $IPV4_ADDRESS_2)" ]]; then
|
|
||||||
warn "Parameter is needed. Try again.."
|
|
||||||
else
|
|
||||||
warn "'$IPV4_ADDRESS_2' is not a valid IPv4 Address. Try again.."
|
|
||||||
fi
|
|
||||||
echononl "\033[1mSecond IPv4 Address:\033[m "
|
|
||||||
read IPV4_ADDRESS_2
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo -e "\033[32m--\033[m"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " # Insert IPv4 Address for the gateway (second)."
|
|
||||||
echo " #"
|
|
||||||
echo " # Normally, the second gateway is the same as the first one. Change if you"
|
|
||||||
echo " # know what you are doing."
|
|
||||||
echo " #"
|
|
||||||
echo " # Type <return> to accept the default one"
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mIPv4 (second) Gateway Address [$IPV4_GATEWAY_1]:\033[m "
|
|
||||||
read IPV4_GATEWAY_2
|
|
||||||
|
|
||||||
while ! $(is_valid_ipv4 $IPV4_GATEWAY_2) ; do
|
|
||||||
if [[ -z "$(trim $IPV4_GATEWAY_2)" ]]; then
|
|
||||||
IPV4_GATEWAY_2="$IPV4_GATEWAY_1"
|
|
||||||
break
|
|
||||||
else
|
|
||||||
warn "'$IPV4_GATEWAY_2' is not a valid IPv4 Address. Try again.."
|
|
||||||
fi
|
|
||||||
echononl "\033[1mIPv4 (second) Gateway Address:\033[m "
|
|
||||||
read IPV4_GATEWAY_2
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo -e "\033[32m--\033[m"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " # Insert Netmask for the second IPv4 Address."
|
|
||||||
echo " #"
|
|
||||||
echo " # Type <return> to accept the default one"
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mNetmask (second) IPv4 Address [$IPV4_NETMASK_1]:\033[m "
|
|
||||||
read IPV4_NETMASK_2
|
|
||||||
|
|
||||||
while ! $(is_valid_ipv4 $IPV4_NETMASK_2) ; do
|
|
||||||
if [[ -z "$(trim $IPV4_NETMASK_2)" ]]; then
|
|
||||||
IPV4_NETMASK_2="$IPV4_NETMASK_1"
|
|
||||||
break
|
|
||||||
else
|
|
||||||
warn "'$IPV4_NETMASK_2' is not a valid netmask. Try again.."
|
|
||||||
fi
|
|
||||||
echononl "\033[1mNetmask (second) IPv4 Address:\033[m "
|
|
||||||
read IPV4_NETMASK_2
|
|
||||||
done
|
|
||||||
IPV4_PREFIX_2="$(netmask2cidr $IPV4_NETMASK_2)"
|
|
||||||
IPV6_PREFIX_2=$DEFAULT_IPV6_PREFIX
|
|
||||||
fi
|
|
||||||
|
|
||||||
else # if [[ "$LXC_DIST" = "debian" ]]; then
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo -e "\033[32m--\033[m"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " # Insert Nameserver for the first IPv4 Address."
|
|
||||||
echo " #"
|
|
||||||
echo " # Type <return> to accept the default one"
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mNameserver (IPv4 Address) [$DEFAULT_IPV4_NAME_SERVER_1]:\033[m "
|
|
||||||
read IPV4_NAME_SERVER_1
|
|
||||||
|
|
||||||
while ! $(is_valid_ipv4 $IPV4_NAME_SERVER_1) ; do
|
|
||||||
if [[ -z "$(trim $IPV4_NAME_SERVER_1)" ]]; then
|
|
||||||
IPV4_NAME_SERVER_1="$DEFAULT_IPV4_NAME_SERVER_1"
|
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
warn "'$IPV4_NAME_SERVER_1' is not a valid IPv4 address. Try again.."
|
warn "'$IPV4_GATEWAY_1' is not a valid IPv4 Address. Try again.."
|
||||||
fi
|
fi
|
||||||
echononl "\033[1mNameserver (IPv4 Address) [$DEFAULT_IPV4_NAME_SERVER_1]:\033[m "
|
echononl "\033[1mIPv4 (first) Gateway Address [$DEFAULT_IPV4_GATEWAY_1]:\033[m "
|
||||||
read IPV4_NAME_SERVER_1
|
read IPV4_GATEWAY_1
|
||||||
done
|
done
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "\033[32m--\033[m"
|
echo -e "\033[32m--\033[m"
|
||||||
echo ""
|
echo ""
|
||||||
echo " # Insert Search Domain for the new LX Containers."
|
|
||||||
|
echo " # Insert Netmask for the first IPv4 Address."
|
||||||
echo " #"
|
echo " #"
|
||||||
echo -e " # Type \033[33mNone\033[m if no search domain should be assigned"
|
echo " # Type <return> to accept the default '$DEFAULT_IPV4_NETMASK_1'."
|
||||||
|
echo ""
|
||||||
|
echononl "\033[1mNetmask (first) IPv4 Address [$DEFAULT_IPV4_NETMASK_1]:\033[m "
|
||||||
|
read IPV4_NETMASK_1
|
||||||
|
|
||||||
|
while ! $(is_valid_ipv4 $IPV4_NETMASK_1) ; do
|
||||||
|
if [[ -z "$(trim $IPV4_NETMASK_1)" ]]; then
|
||||||
|
IPV4_NETMASK_1="$DEFAULT_IPV4_NETMASK_1"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
warn "'$IPV4_NETMASK_1' is not a valid netmask. Try again.."
|
||||||
|
fi
|
||||||
|
echononl "\033[1mNetmask (first) IPv4 Address [$DEFAULT_IPV4_NETMASK_1]:\033[m "
|
||||||
|
read IPV4_NETMASK_1
|
||||||
|
done
|
||||||
|
IPV4_PREFIX_1="$(netmask2cidr $IPV4_NETMASK_1)"
|
||||||
|
IPV6_PREFIX_1=$DEFAULT_IPV6_PREFIX
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$LXC_DIST" = "debian" ]]; then
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
echononl "\033[1mDo you want to apply a second IPv4 Address?\033[m [yes/no]: "
|
||||||
|
read OK
|
||||||
|
[[ "$(trim ${OK,,})" = "yes" ]] && _second_ipv4=true || _second_ipv4=false
|
||||||
|
|
||||||
|
if $_second_ipv4 ; then
|
||||||
|
|
||||||
|
_last_octet=${MAC_ADDRESS_1: -2}
|
||||||
|
_new_last_octet="$(printf "%X\n" $((0x$_last_octet + 1)))"
|
||||||
|
if [[ ${#_new_last_octet} -eq 1 ]]; then
|
||||||
|
_new_last_octet="0$_new_last_octet"
|
||||||
|
elif [[ ${#_new_last_octet} -eq 3 ]]; then
|
||||||
|
_new_last_octet="00"
|
||||||
|
fi
|
||||||
|
DEFAULT_MAC_ADDRESS_2="${MAC_ADDRESS_1:0:14}:$_new_last_octet"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " # Insert MAC Address for the second network device of the new LX Containers."
|
||||||
|
echo " #"
|
||||||
|
echo " # Type <return> to accept the randomised created one '$DEFAULT_MAC_ADDRESS_2'."
|
||||||
|
echo ""
|
||||||
|
echononl "\033[1mMAC Address of the second network device [$DEFAULT_MAC_ADDRESS_2]:\033[m "
|
||||||
|
read MAC_ADDRESS_2
|
||||||
|
|
||||||
|
while ! $(is_valid_mac_address $MAC_ADDRESS_2) ; do
|
||||||
|
if [[ -z "$(trim $MAC_ADDRESS_2)" ]] ; then
|
||||||
|
MAC_ADDRESS_2="$DEFAULT_MAC_ADDRESS_2"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
warn "'$MAC_ADDRESS_2' isn't a valid MAC Address."
|
||||||
|
echononl "\033[1mMAC Address of the second network device [$DEFAULT_MAC_ADDRESS_2]:\033[m "
|
||||||
|
read MAC_ADDRESS_2
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " # Insert second IPv4 Address for the new LX Containers."
|
||||||
|
echo " #"
|
||||||
|
echo ""
|
||||||
|
echononl "\033[1mSecond IPv4 Address:\033[m "
|
||||||
|
read IPV4_ADDRESS_2
|
||||||
|
|
||||||
|
while ! $(is_valid_ipv4 $IPV4_ADDRESS_2); do
|
||||||
|
if [[ -z "$(trim $IPV4_ADDRESS_2)" ]]; then
|
||||||
|
warn "Parameter is needed. Try again.."
|
||||||
|
else
|
||||||
|
warn "'$IPV4_ADDRESS_2' is not a valid IPv4 Address. Try again.."
|
||||||
|
fi
|
||||||
|
echononl "\033[1mSecond IPv4 Address:\033[m "
|
||||||
|
read IPV4_ADDRESS_2
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " # Insert IPv4 Address for the gateway (second)."
|
||||||
|
echo " #"
|
||||||
|
echo " # Normally, the second gateway is the same as the first one. Change if you"
|
||||||
|
echo " # know what you are doing."
|
||||||
|
echo " #"
|
||||||
|
echo " # Type <return> to accept the default one"
|
||||||
|
echo ""
|
||||||
|
echononl "\033[1mIPv4 (second) Gateway Address [$IPV4_GATEWAY_1]:\033[m "
|
||||||
|
read IPV4_GATEWAY_2
|
||||||
|
|
||||||
|
while ! $(is_valid_ipv4 $IPV4_GATEWAY_2) ; do
|
||||||
|
if [[ -z "$(trim $IPV4_GATEWAY_2)" ]]; then
|
||||||
|
IPV4_GATEWAY_2="$IPV4_GATEWAY_1"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
warn "'$IPV4_GATEWAY_2' is not a valid IPv4 Address. Try again.."
|
||||||
|
fi
|
||||||
|
echononl "\033[1mIPv4 (second) Gateway Address:\033[m "
|
||||||
|
read IPV4_GATEWAY_2
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " # Insert Netmask for the second IPv4 Address."
|
||||||
|
echo " #"
|
||||||
|
echo " # Type <return> to accept the default one"
|
||||||
|
echo ""
|
||||||
|
echononl "\033[1mNetmask (second) IPv4 Address [$IPV4_NETMASK_1]:\033[m "
|
||||||
|
read IPV4_NETMASK_2
|
||||||
|
|
||||||
|
while ! $(is_valid_ipv4 $IPV4_NETMASK_2) ; do
|
||||||
|
if [[ -z "$(trim $IPV4_NETMASK_2)" ]]; then
|
||||||
|
IPV4_NETMASK_2="$IPV4_NETMASK_1"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
warn "'$IPV4_NETMASK_2' is not a valid netmask. Try again.."
|
||||||
|
fi
|
||||||
|
echononl "\033[1mNetmask (second) IPv4 Address:\033[m "
|
||||||
|
read IPV4_NETMASK_2
|
||||||
|
done
|
||||||
|
IPV4_PREFIX_2="$(netmask2cidr $IPV4_NETMASK_2)"
|
||||||
|
IPV6_PREFIX_2=$DEFAULT_IPV6_PREFIX
|
||||||
|
fi
|
||||||
|
|
||||||
|
else # if [[ "$LXC_DIST" = "debian" ]]; then
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " # Insert Nameserver for the first IPv4 Address."
|
||||||
|
echo " #"
|
||||||
|
echo " # Type <return> to accept the default one"
|
||||||
|
echo ""
|
||||||
|
echononl "\033[1mNameserver (IPv4 Address) [$DEFAULT_IPV4_NAME_SERVER_1]:\033[m "
|
||||||
|
read IPV4_NAME_SERVER_1
|
||||||
|
|
||||||
|
while ! $(is_valid_ipv4 $IPV4_NAME_SERVER_1) ; do
|
||||||
|
if [[ -z "$(trim $IPV4_NAME_SERVER_1)" ]]; then
|
||||||
|
IPV4_NAME_SERVER_1="$DEFAULT_IPV4_NAME_SERVER_1"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
warn "'$IPV4_NAME_SERVER_1' is not a valid IPv4 address. Try again.."
|
||||||
|
fi
|
||||||
|
echononl "\033[1mNameserver (IPv4 Address) [$DEFAULT_IPV4_NAME_SERVER_1]:\033[m "
|
||||||
|
read IPV4_NAME_SERVER_1
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
echo " # Insert Search Domain for the new LX Containers."
|
||||||
|
echo " #"
|
||||||
|
echo -e " # Type \033[33mNone\033[m if no search domain should be assigned"
|
||||||
|
echo " #"
|
||||||
|
echo ""
|
||||||
|
echononl "\033[1mSearch Domain:\033[m "
|
||||||
|
read SEARCH_DOMAIN
|
||||||
|
|
||||||
|
while [[ -z "$(trim $SEARCH_DOMAIN)" ]]; do
|
||||||
|
warn "Parameter is needed. Try again.."
|
||||||
|
echononl "\033[1mSEARCH_DOMAIN:\033[m "
|
||||||
|
read SEARCH_DOMAIN
|
||||||
|
done
|
||||||
|
if [[ "${SEARCH_DOMAIN,,}" = 'none' ]] ; then
|
||||||
|
IPV6_ADDRESS_1=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi # if [[ "$LXC_DIST" = "debian" ]]; then
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
echo " # Insert first IPv6 Address for the new LX Containers."
|
||||||
|
echo " #"
|
||||||
|
echo -e " # Type \033[33mNone\033[m if no ipv6-address should be assigned"
|
||||||
echo " #"
|
echo " #"
|
||||||
echo ""
|
echo ""
|
||||||
echononl "\033[1mSearch Domain:\033[m "
|
echononl "\033[1mFirst IPv6 Address:\033[m "
|
||||||
read SEARCH_DOMAIN
|
read IPV6_ADDRESS_1
|
||||||
|
|
||||||
while [[ -z "$(trim $SEARCH_DOMAIN)" ]]; do
|
while [[ -z "$(trim $IPV6_ADDRESS_1)" ]]; do
|
||||||
warn "Parameter is needed. Try again.."
|
warn "Parameter is needed. Try again.."
|
||||||
echononl "\033[1mSEARCH_DOMAIN:\033[m "
|
echononl "\033[1mFirst IPv6 Address:\033[m "
|
||||||
read SEARCH_DOMAIN
|
read IPV6_ADDRESS_1
|
||||||
done
|
done
|
||||||
if [[ "${SEARCH_DOMAIN,,}" = 'none' ]] ; then
|
if [[ "${IPV6_ADDRESS_1,,}" = 'none' ]] ; then
|
||||||
IPV6_ADDRESS_1=""
|
IPV6_ADDRESS_1=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi # if [[ "$LXC_DIST" = "debian" ]]; then
|
if [[ -n "$IPV6_ADDRESS_1" ]] ; then
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m--\033[m"
|
||||||
|
echo ""
|
||||||
|
|
||||||
echo ""
|
echo " # Insert IPv6 Address for the gateway."
|
||||||
echo -e "\033[32m--\033[m"
|
echo " #"
|
||||||
echo ""
|
echo ""
|
||||||
echo " # Insert first IPv6 Address for the new LX Containers."
|
echononl "\033[1mIPv6 (first) Gateway Address:\033[m "
|
||||||
echo " #"
|
|
||||||
echo -e " # Type \033[33mNone\033[m if no ipv6-address should be assigned"
|
|
||||||
echo " #"
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mFirst IPv6 Address:\033[m "
|
|
||||||
read IPV6_ADDRESS_1
|
|
||||||
|
|
||||||
while [[ -z "$(trim $IPV6_ADDRESS_1)" ]]; do
|
|
||||||
warn "Parameter is needed. Try again.."
|
|
||||||
echononl "\033[1mFirst IPv6 Address:\033[m "
|
|
||||||
read IPV6_ADDRESS_1
|
|
||||||
done
|
|
||||||
if [[ "${IPV6_ADDRESS_1,,}" = 'none' ]] ; then
|
|
||||||
IPV6_ADDRESS_1=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n "$IPV6_ADDRESS_1" ]] ; then
|
|
||||||
echo ""
|
|
||||||
echo -e "\033[32m--\033[m"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " # Insert IPv6 Address for the gateway."
|
|
||||||
echo " #"
|
|
||||||
echo ""
|
|
||||||
echononl "\033[1mIPv6 (first) Gateway Address:\033[m "
|
|
||||||
read IPV6_GATEWAY_1
|
|
||||||
|
|
||||||
while [[ -z "$(trim $IPV6_GATEWAY_1)" ]]; do
|
|
||||||
warn "Parameter is needed. Try again.."
|
|
||||||
echononl "\033[1mFirst IPv6 i(first) Gateway Address:\033[m "
|
|
||||||
read IPV6_GATEWAY_1
|
read IPV6_GATEWAY_1
|
||||||
done
|
|
||||||
fi
|
while [[ -z "$(trim $IPV6_GATEWAY_1)" ]]; do
|
||||||
|
warn "Parameter is needed. Try again.."
|
||||||
|
echononl "\033[1mFirst IPv6 i(first) Gateway Address:\033[m "
|
||||||
|
read IPV6_GATEWAY_1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi # if ! $NETWORK_CONFIGURATION_DHCP ; then
|
||||||
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
@ -618,7 +646,7 @@ echo ""
|
|||||||
echononl "\033[1mFull qualified hostname:\033[m "
|
echononl "\033[1mFull qualified hostname:\033[m "
|
||||||
read FQ_HOSTNAME
|
read FQ_HOSTNAME
|
||||||
|
|
||||||
while [[ -z "$(trim $IPV4_NETMASK_1)" ]]; do
|
while [[ -z "$(trim $FQ_HOSTNAME)" ]]; do
|
||||||
warn "Parameter is needed. Try again"
|
warn "Parameter is needed. Try again"
|
||||||
echononl "\033[1mFull qualified hostname::\033[m "
|
echononl "\033[1mFull qualified hostname::\033[m "
|
||||||
read FQ_HOSTNAME
|
read FQ_HOSTNAME
|
||||||
@ -649,24 +677,28 @@ echo " Code name (or release number)............: $LXC_RELEASE"
|
|||||||
echo ""
|
echo ""
|
||||||
echo " MAC Address (first) network device.......: $MAC_ADDRESS_1"
|
echo " MAC Address (first) network device.......: $MAC_ADDRESS_1"
|
||||||
echo ""
|
echo ""
|
||||||
echo " IPv4 Address (first).....................: $IPV4_ADDRESS_1"
|
if $NETWORK_CONFIGURATION_DHCP ; then
|
||||||
echo " IPv4 Gateway Address (first).............: $IPV4_GATEWAY_1"
|
echo -e " Network Configuration....................: \033[33mvia DHCP\033[m"
|
||||||
echo " Netmask first IPv4 Address...............: $IPV4_NETMASK_1"
|
|
||||||
echo " CIDR (IPv4 Prefix) of netmask............: $IPV4_PREFIX_1"
|
|
||||||
echo ""
|
|
||||||
if [[ -n "$IPV6_ADDRESS_1" ]] ; then
|
|
||||||
echo " IPv6 Address (first).....................: $IPV6_ADDRESS_1"
|
|
||||||
echo " IPv6 Gateway Address (first).............: $IPV6_GATEWAY_1"
|
|
||||||
else
|
else
|
||||||
echo -e " IPv6 Address (first).....................: - \033[33mNot set\033[m - "
|
echo " IPv4 Address (first).....................: $IPV4_ADDRESS_1"
|
||||||
fi
|
echo " IPv4 Gateway Address (first).............: $IPV4_GATEWAY_1"
|
||||||
if $_second_ipv4 ; then
|
echo " Netmask first IPv4 Address...............: $IPV4_NETMASK_1"
|
||||||
echo ""
|
echo " CIDR (IPv4 Prefix) of netmask............: $IPV4_PREFIX_1"
|
||||||
echo " MAC Address (second) network device......: $MAC_ADDRESS_2"
|
echo ""
|
||||||
echo " IPv4 Address (second)....................: $IPV4_ADDRESS_2"
|
if [[ -n "$IPV6_ADDRESS_1" ]] ; then
|
||||||
echo " IPv4 Gateway Address (second)............: $IPV4_GATEWAY_2"
|
echo " IPv6 Address (first).....................: $IPV6_ADDRESS_1"
|
||||||
echo " Netmask second IPv4 Address..............: $IPV4_NETMASK_2"
|
echo " IPv6 Gateway Address (first).............: $IPV6_GATEWAY_1"
|
||||||
echo " CIDR (IPv4 Prefix) of netmask............: $IPV4_PREFIX_2"
|
else
|
||||||
|
echo -e " IPv6 Address (first).....................: - \033[33mNot set\033[m - "
|
||||||
|
fi
|
||||||
|
if $_second_ipv4 ; then
|
||||||
|
echo ""
|
||||||
|
echo " MAC Address (second) network device......: $MAC_ADDRESS_2"
|
||||||
|
echo " IPv4 Address (second)....................: $IPV4_ADDRESS_2"
|
||||||
|
echo " IPv4 Gateway Address (second)............: $IPV4_GATEWAY_2"
|
||||||
|
echo " Netmask second IPv4 Address..............: $IPV4_NETMASK_2"
|
||||||
|
echo " CIDR (IPv4 Prefix) of netmask............: $IPV4_PREFIX_2"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
echo " Hostname.................................: $HOSTNAME"
|
echo " Hostname.................................: $HOSTNAME"
|
||||||
@ -799,7 +831,7 @@ echo -en "\033[1G \033[1;30m[ ... ] \033[32m$msg\033[m"
|
|||||||
|
|
||||||
if [[ "$LXC_DIST" = "ubuntu" ]] ; then
|
if [[ "$LXC_DIST" = "ubuntu" ]] ; then
|
||||||
lxc-create -n $LXC_NAME -t download -P "$(dirname "$LXC_CONTAINER_DIR")" -- \
|
lxc-create -n $LXC_NAME -t download -P "$(dirname "$LXC_CONTAINER_DIR")" -- \
|
||||||
-d $LXC_DIST --release $LXC_RELEASE --arch amd64 > /dev/null 2> $err_msg
|
--no-validate -d $LXC_DIST --release $LXC_RELEASE --arch amd64 > /dev/null 2> $err_msg
|
||||||
elif [[ "$LXC_DIST" = "debian" ]]; then
|
elif [[ "$LXC_DIST" = "debian" ]]; then
|
||||||
lxc-create -n $LXC_NAME -t $LXC_DIST -P "$(dirname "$LXC_CONTAINER_DIR")" -- \
|
lxc-create -n $LXC_NAME -t $LXC_DIST -P "$(dirname "$LXC_CONTAINER_DIR")" -- \
|
||||||
--release $LXC_RELEASE --arch amd64 > /dev/null 2> $err_msg
|
--release $LXC_RELEASE --arch amd64 > /dev/null 2> $err_msg
|
||||||
@ -1008,6 +1040,7 @@ lxc.network.flags = up
|
|||||||
lxc.network.link = br0
|
lxc.network.link = br0
|
||||||
lxc.network.name = eth0
|
lxc.network.name = eth0
|
||||||
lxc.network.hwaddr = $MAC_ADDRESS_1
|
lxc.network.hwaddr = $MAC_ADDRESS_1
|
||||||
|
|
||||||
# IPv4
|
# IPv4
|
||||||
lxc.network.ipv4 = ${IPV4_ADDRESS_1}/$IPV4_PREFIX_1
|
lxc.network.ipv4 = ${IPV4_ADDRESS_1}/$IPV4_PREFIX_1
|
||||||
lxc.network.ipv4.gateway = ${IPV4_GATEWAY_1}
|
lxc.network.ipv4.gateway = ${IPV4_GATEWAY_1}
|
||||||
@ -1059,7 +1092,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|
||||||
cat << EOF > ${LXC_CONTAINER_DIR}/config 2> $err_msg
|
cat << EOF >> ${LXC_CONTAINER_DIR}/config 2> $err_msg
|
||||||
lxc.rootfs.path = ${LXC_CONTAINER_DIR}/rootfs
|
lxc.rootfs.path = ${LXC_CONTAINER_DIR}/rootfs
|
||||||
|
|
||||||
# Common configuration
|
# Common configuration
|
||||||
@ -1081,6 +1114,7 @@ lxc.net.0.flags = up
|
|||||||
lxc.net.0.link = br0
|
lxc.net.0.link = br0
|
||||||
lxc.net.0.name = eth0
|
lxc.net.0.name = eth0
|
||||||
lxc.net.0.hwaddr = $MAC_ADDRESS_1
|
lxc.net.0.hwaddr = $MAC_ADDRESS_1
|
||||||
|
|
||||||
# IPv4
|
# IPv4
|
||||||
lxc.net.0.ipv4.address = ${IPV4_ADDRESS_1}/$IPV4_PREFIX_1
|
lxc.net.0.ipv4.address = ${IPV4_ADDRESS_1}/$IPV4_PREFIX_1
|
||||||
lxc.net.0.ipv4.gateway = ${IPV4_GATEWAY_1}
|
lxc.net.0.ipv4.gateway = ${IPV4_GATEWAY_1}
|
||||||
@ -1571,7 +1605,7 @@ EOF
|
|||||||
echo -e "\033[1G [ \033[32m\033[1mok\033[m ] ${msg_ok}${blank_signs}"
|
echo -e "\033[1G [ \033[32m\033[1mok\033[m ] ${msg_ok}${blank_signs}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else # if [[ "$LXC_DIST" = "debian" ]];
|
elif [[ "$LXC_DIST" = "ubuntu" ]]; then
|
||||||
|
|
||||||
msg="Backup file '${LXC_CONTAINER_DIR}/rootfs/etc/netplan/10-lxc.yaml"
|
msg="Backup file '${LXC_CONTAINER_DIR}/rootfs/etc/netplan/10-lxc.yaml"
|
||||||
echo -en "\033[1G \033[1;30m[ ... ] \033[32m$msg\033[m"
|
echo -en "\033[1G \033[1;30m[ ... ] \033[32m$msg\033[m"
|
||||||
@ -1615,7 +1649,20 @@ else # if [[ "$LXC_DIST" = "debian" ]];
|
|||||||
echo -en "\033[1G \033[1;30m[ \033[5m\033[1m...\033[m ] \033[32m$msg\033[m"
|
echo -en "\033[1G \033[1;30m[ \033[5m\033[1m...\033[m ] \033[32m$msg\033[m"
|
||||||
|
|
||||||
_failed=false
|
_failed=false
|
||||||
cat << EOF > ${LXC_CONTAINER_DIR}/rootfs/etc/netplan/10-lxc.yaml
|
|
||||||
|
if $NETWORK_CONFIGURATION_DHCP ; then
|
||||||
|
cat << EOF > ${LXC_CONTAINER_DIR}/rootfs/etc/netplan/10-lxc.yaml
|
||||||
|
network:
|
||||||
|
version: 2
|
||||||
|
ethernets:
|
||||||
|
eth0:
|
||||||
|
dhcp4: true
|
||||||
|
dhcp-identifier: mac
|
||||||
|
EOF
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
cat << EOF > ${LXC_CONTAINER_DIR}/rootfs/etc/netplan/10-lxc.yaml
|
||||||
network:
|
network:
|
||||||
version: 2
|
version: 2
|
||||||
renderer: networkd
|
renderer: networkd
|
||||||
@ -1632,6 +1679,9 @@ network:
|
|||||||
- ${SEARCH_DOMAIN}
|
- ${SEARCH_DOMAIN}
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
fi # if $NETWORK_CONFIGURATION_DHCP
|
||||||
|
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
_failed=true
|
_failed=true
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user