Ubuntu Pastebin

Paste from ubuntu at Mon, 10 Jul 2017 18:08:55 +0000

Download as text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
fail() { echo "$@" 1>&2; exit 1; }

IFACE="eth0"
ADDR="169.254.169.10/24"
URL="http://169.254.169.254/"

mode=${1:-link-local}

DHCP_ADDR=$(ip addr show eth0 | awk '$1 == "inet" { print $2 }') ||
   fail "empty dhcp addr"

run() { echo "$" "$@" 1>&2; "$@"; }
cleanup() {
    run ifup "$IFACE"
}


case "$mode" in
   addr|link-local) :;;
   *) fail "mode must be 'addr' or 'link-local'";;
esac

# not root, become root.
[ "$(id -u)" = "0" ] || exec sudo "$0" "$@"
trap cleanup EXIT
if [ "$mode" != "link-local" ]; then
    ADDR="${DHCP_ADDR}"
    exroute="169.254.169.254/32 dev ${IFACE}"
fi

echo "mode=$mode DHCP_ADDR=${DHCP_ADDR} ADDR=${ADDR} IFACE=${IFACE}"
echo "exroute=$exroute"


run ifdown "$IFACE"
run ip addr add "$ADDR" dev "$IFACE"
run ip link set dev "$IFACE" up
[ -z "$exroute" ] || run ip route add ${exroute}

run wget "$URL" --timeout=2 -O - --tries=2

[ -z "$exroute" ] || run ip route del ${exroute}
run ip addr flush dev "$IFACE"
run ip link set dev "$IFACE" down
Download as text