#!/bin/bash
# This script:# - assumes there are 2 network interfaces connected to $PUBLIC_SUBNET and $PRIVATE_SUBNET respectively# - finds IP addresses from those interfaces using `ip` command# - exports the IPs as variablesfunction getIpForSubnet {
if [ -z $1 ]; thenecho Subnet parameter undefined
exit 1
else
ip r | grep $1 | sed 's/.*src\ \([^\ ]*\).*/\1/'fi
}
if [ -z $PUBLIC_SUBNET ]; then
PUBLIC_IP=0.0.0.0
echo PUBLIC_SUBNET undefined. PUBLIC_IP defaults to $PUBLIC_IPelseexport PUBLIC_IP=`getIpForSubnet $PUBLIC_SUBNET`
fiif [ -z $PRIVATE_SUBNET ]; then
PRIVATE_IP=127.0.0.1
echo PRIVATE_SUBNET undefined. PRIVATE_IP defaults to $PRIVATE_IPelseexport PRIVATE_IP=`getIpForSubnet $PRIVATE_SUBNET`
fiecho Routing table:
ip r
echo PUBLIC_SUBNET=$PUBLIC_SUBNETecho PRIVATE_SUBNET=$PRIVATE_SUBNETecho PUBLIC_IP=$PUBLIC_IPecho PRIVATE_IP=$PRIVATE_IP