From 022e99119f27f9dadb1fb06514b461d4c06613cf Mon Sep 17 00:00:00 2001 From: Christoph Date: Tue, 4 Sep 2018 19:11:23 +0200 Subject: [PATCH] create-lx-container.sh: Add support for (first) IPv6 Address. --- create-lx-container.sh | 79 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/create-lx-container.sh b/create-lx-container.sh index febdefc..a2fde88 100755 --- a/create-lx-container.sh +++ b/create-lx-container.sh @@ -460,6 +460,61 @@ if $_second_ipv4 ; then IPV6_PREFIX_2=$DEFAULT_IPV6_PREFIX fi +echo " # Insert first IPv6 Address for the new LX Containers." +echo " #" +echo " # Type 'None' 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 + +#while ! $(is_valid_ipv6 $IPV6_ADDRESS_1); do +# if [[ -z "$(trim $IPV6_ADDRESS_1)" ]]; then +# warn "Parameter is needed. Try again.." +# else +# warn "'$IPV6_ADDRESS_1' is not a valid IPv6 Address. Try again.." +# fi +# echononl "\033[1mFirst IPv6 Address:\033[m " +# read IPV6_ADDRESS_1 +#done + +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 + done +fi + +#while ! $(is_valid_ipv4 $IPV6_GATEWAY_1) ; do +# if [[ -z "$(trim $IPV6_GATEWAY_1)" ]]; then +# warn "Parameter is needed. Try again" +# else +# warn "'$IPV6_GATEWAY_1' is not a valid IPv6 Address. Try again.." +# fi +# echononl "\033[1mIPv6 (first) Gateway Address:\033[m " +# read IPV6_GATEWAY_1 +#done + echo "" echo -e "\033[32m--\033[m" @@ -494,6 +549,12 @@ echo "" echo " MAC Address (first) network device...: $MAC_ADDRESS_1" echo " IPv4 Address (first).................: $IPV4_ADDRESS_1" echo " IPv4 Gateway Address (first).........: $IPV4_GATEWAY_1" +if [[ -n "$IPV6_ADDRESS_1" ]] ; then + echo " IPv6 Address (first).................: $IPV6_ADDRESS_1" + echo " IPv6 Gateway Address (first).........: $IPV6_GATEWAY_1" +else + echo " IPv6 Address (first).................: - Not set - " +fi echo " Netmask first IPv4 Address...........: $IPV4_NETMASK_1" echo " CIDR (IPv4 Prefix) of netmask........: $IPV4_PREFIX_1" if $_second_ipv4 ; then @@ -677,8 +738,17 @@ lxc.network.hwaddr = $MAC_ADDRESS_1 lxc.network.ipv4 = ${IPV4_ADDRESS_1}/$IPV4_PREFIX_1 lxc.network.ipv4.gateway = ${IPV4_GATEWAY_1} # IPv6 +EOF +if [[ -n "${IPV6_ADDRESS_1}" ]] ; then + cat << EOF >> ${LXC_ROOT_DIR}/${LXC_NAME}/config 2>> $err_msg +lxc.network.ipv6 = ${IPV6_ADDRESS_1}/$IPV6_PREFIX_1 +lxc.network.ipv6.gateway = $IPV6_GATEWAY_1 +EOF +else + cat << EOF >> ${LXC_ROOT_DIR}/${LXC_NAME}/config 2>> $err_msg #lxc.network.ipv6 = ${IPV6_ADDRESS_1}/$IPV6_PREFIX_1 #lxc.network.ipv6.gateway = $IPV6_GATEWAY_1 +EOF EOF if [[ $? -ne 0 ]]; then @@ -696,9 +766,18 @@ lxc.network.hwaddr = $MAC_ADDRESS_2 ## IPv4 lxc.network.ipv4 = ${IPV4_ADDRESS_2}/$IPV4_PREFIX_2 ## IPv6 +EOF + if [[ -n "$IPV4_ADDRESS_2" ]]; then + cat << EOF >> ${LXC_ROOT_DIR}/${LXC_NAME}/config 2>> $err_msg #lxc.network.ipv6 = ${IPV6_ADDRESS_2}/$IPV6_PREFIX_2 +EOF + else + cat << EOF >> ${LXC_ROOT_DIR}/${LXC_NAME}/config 2>> $err_msg +lxc.network.ipv6 = ${IPV6_ADDRESS_2}/$IPV6_PREFIX_2 EOF + fi + if [[ $? -ne 0 ]]; then _failed=true fi