From 47f8bdbbc20f2a0567c63994926de620616c45ec Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Mon, 26 Oct 2020 17:18:59 +0100 Subject: [PATCH] Create setup_router.sh --- infra-compose-files/setup_router.sh | 77 +++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 infra-compose-files/setup_router.sh diff --git a/infra-compose-files/setup_router.sh b/infra-compose-files/setup_router.sh new file mode 100644 index 0000000..72d6a0e --- /dev/null +++ b/infra-compose-files/setup_router.sh @@ -0,0 +1,77 @@ +# Usage: script + + + + + +nextip(){ + IP=$1 + IP_HEX=$(printf '%.2X%.2X%.2X%.2X\n' `echo $IP | sed -e 's/\./ /g'`) + NEXT_IP_HEX=$(printf %.8X `echo $(( 0x$IP_HEX + 1 ))`) + NEXT_IP=$(printf '%d.%d.%d.%d\n' `echo $NEXT_IP_HEX | sed -r 's/(..)/0x\1 /g'`) + echo "$NEXT_IP" +} + +broadcast(){ + IP=$1 + IP_HEX=$(printf '%.2X%.2X%.2X%.2X\n' `echo $IP | sed -e 's/\./ /g'`) + NEXT_IP_HEX=$(printf %.8X `echo $(( 0x$IP_HEX + 7 ))`) + NEXT_IP=$(printf '%d.%d.%d.%d\n' `echo $NEXT_IP_HEX | sed -r 's/(..)/0x\1 /g'`) + echo "$NEXT_IP" +} + + + +previousip(){ + IP=$1 + IP_HEX=$(printf '%.2X%.2X%.2X%.2X\n' `echo $IP | sed -e 's/\./ /g'`) + NEXT_IP_HEX=$(printf %.8X `echo $(( 0x$IP_HEX - 1 ))`) + NEXT_IP=$(printf '%d.%d.%d.%d\n' `echo $NEXT_IP_HEX | sed -r 's/(..)/0x\1 /g'`) + echo "$NEXT_IP" +} + + + + +NETWORK=$(previousip $2) +HOST=$2 +BROADCAST=$(broadcast $NETWORK) +BEGINRANGE=$(nextip $HOST) +ENDRANGE=$(previousip $BROADCAST) + +echo Configuring Host: gateway$1 + +hostnamectl set-hostname gateway$1 + +echo Host: $HOST +echo Network: $NETWORK/29 +echo Broadcast: $BROADCAST +echo Begin DHCP Range: $BEGINRANGE +echo End DHCP RAnge: $ENDRANGE +echo IPv6 Network: $3 + + +cp /etc/netplan/01-netcfg.yaml /tmp/01-netcfg.yaml.orig +cp /etc/dhcp/dhcpd.conf /tmp/dhcpd.conf.orig +cp /etc/radvd.conf /tmp/radvid.conf.orig +cp /etc/bind/named.conf.options /tmp/named.conf.options.orig + + +sed -i "s/2a01:4f9:4b:15c8::/$3/g" /etc/netplan/01-netcfg.yaml +sed -i "s/2a01:4f9:4b:15c8::/$3/g" /etc/radvd.conf +sed -i "s/2a01:4f9:4b:11c6::/$3/g" /etc/radvd.conf +sed -i "s/135.181.124.25/$HOST/g" /etc/netplan/01-netcfg.yaml +sed -i "s/135.181.124.25/$HOST/g" /etc/bind/named.conf.options +sed -i "s/135.181.124.25/$HOST/g" /etc/dhcp/dhcpd.conf +sed -i "s/135.181.124.24/$NETWORK/g" /etc/dhcp/dhcpd.conf +sed -i "s/135.181.124.26/$BEGINRANGE/g" /etc/dhcp/dhcpd.conf +sed -i "s/135.181.124.30/$ENDRANGE/g" /etc/dhcp/dhcpd.conf +sed -i "s/135.181.124.31/$BROADCAST/g" /etc/dhcp/dhcpd.conf +sed -i "s/router02.dmz.akamaipartnertraining.com/user$1.esxi.akamaipartnertraining.com/g" /etc/dhcp/dhcpd.conf + + +sudo /etc/init.d/isc-dhcp-server restart +sudo service bind9 restart +sudo /etc/init.d/radvd restart + +netplan apply