aboutsummaryrefslogtreecommitdiff
path: root/contrib/scripts/netjail/netjail_setup_internet.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/scripts/netjail/netjail_setup_internet.sh')
-rwxr-xr-xcontrib/scripts/netjail/netjail_setup_internet.sh47
1 files changed, 28 insertions, 19 deletions
diff --git a/contrib/scripts/netjail/netjail_setup_internet.sh b/contrib/scripts/netjail/netjail_setup_internet.sh
index c9a6fd6d8..e3880783f 100755
--- a/contrib/scripts/netjail/netjail_setup_internet.sh
+++ b/contrib/scripts/netjail/netjail_setup_internet.sh
@@ -1,10 +1,5 @@
1#!/bin/sh 1#!/bin/sh
2 2
3NAMESPACE_FD=$(mktemp)
4INTERFACE_FD=$(mktemp)
5
6trap "rm -f $NAMESPACE_FD $INTERFACE_FD; exit" ERR EXIT
7
8. "./netjail_core.sh" 3. "./netjail_core.sh"
9 4
10set -eu 5set -eu
@@ -21,11 +16,14 @@ shift 2
21netjail_check $(($LOCAL_M * $GLOBAL_N)) 16netjail_check $(($LOCAL_M * $GLOBAL_N))
22 17
23# Starts optionally an amount of nodes without NAT starting with "92.68.151.1" 18# Starts optionally an amount of nodes without NAT starting with "92.68.151.1"
24KNOWN=$(netjail_opt '--known' $@) 19netjail_opt '--known' $@
25KNOWN_NUM=$(netjail_opts '--known' 0 $@) 20KNOWN=$RESULT
21netjail_opts '--known' 0 $@
22KNOWN_NUM=$RESULT
26 23
27# Starts optionally 'stunserver' on "92.68.150.254": 24# Starts optionally 'stunserver' on "92.68.150.254":
28STUN=$(netjail_opt '--stun' $@) 25netjail_opt '--stun' $@
26STUN=$RESULT
29 27
30if [ $KNOWN -gt 0 ]; then 28if [ $KNOWN -gt 0 ]; then
31 shift 2 29 shift 2
@@ -50,28 +48,37 @@ KNOWN_GROUP="92.68.151"
50CLEANUP=0 48CLEANUP=0
51echo "Start [local: $LOCAL_GROUP.0/24, global: $GLOBAL_GROUP.0/16, stun: $STUN]" 49echo "Start [local: $LOCAL_GROUP.0/24, global: $GLOBAL_GROUP.0/16, stun: $STUN]"
52 50
53NETWORK_NET=$(netjail_bridge) 51netjail_bridge
52NETWORK_NET=$RESULT
54 53
55for X in $(seq $KNOWN); do 54for X in $(seq $KNOWN); do
56 KNOWN_NODES[$X]=$(netjail_node) 55 netjail_node
57 KNOWN_LINKS[$X]=$(netjail_node_link_bridge ${KNOWN_NODES[$X]} $NETWORK_NET "$KNOWN_GROUP.$X" 16) 56 KNOWN_NODES[$X]=$RESULT
57 netjail_node_link_bridge ${KNOWN_NODES[$X]} $NETWORK_NET "$KNOWN_GROUP.$X" 16
58 KNOWN_LINKS[$X]=$RESULT
58done 59done
59 60
60declare -A NODES 61declare -A NODES
61declare -A NODE_LINKS 62declare -A NODE_LINKS
62 63
63for N in $(seq $GLOBAL_N); do 64for N in $(seq $GLOBAL_N); do
64 ROUTERS[$N]=$(netjail_node) 65 netjail_node
65 NETWORK_LINKS[$N]=$(netjail_node_link_bridge ${ROUTERS[$N]} $NETWORK_NET "$GLOBAL_GROUP.$N" 16) 66 ROUTERS[$N]=$RESULT
66 ROUTER_NETS[$N]=$(netjail_bridge) 67 netjail_node_link_bridge ${ROUTERS[$N]} $NETWORK_NET "$GLOBAL_GROUP.$N" 16
68 NETWORK_LINKS[$N]=$RESULT
69 netjail_bridge
70 ROUTER_NETS[$N]=$RESULT
67 71
68 for M in $(seq $LOCAL_M); do 72 for M in $(seq $LOCAL_M); do
69 NODES[$N,$M]=$(netjail_node) 73 netjail_node
70 NODE_LINKS[$N,$M]=$(netjail_node_link_bridge ${NODES[$N,$M]} ${ROUTER_NETS[$N]} "$LOCAL_GROUP.$M" 24) 74 NODES[$N,$M]=$RESULT
75 netjail_node_link_bridge ${NODES[$N,$M]} ${ROUTER_NETS[$N]} "$LOCAL_GROUP.$M" 24
76 NODE_LINKS[$N,$M]=$RESULT
71 done 77 done
72 78
73 ROUTER_ADDR="$LOCAL_GROUP.$(($LOCAL_M+1))" 79 ROUTER_ADDR="$LOCAL_GROUP.$(($LOCAL_M+1))"
74 ROUTER_LINKS[$N]=$(netjail_node_link_bridge ${ROUTERS[$N]} ${ROUTER_NETS[$N]} $ROUTER_ADDR 24) 80 netjail_node_link_bridge ${ROUTERS[$N]} ${ROUTER_NETS[$N]} $ROUTER_ADDR 24
81 ROUTER_LINKS[$N]=$RESULT
75 82
76 netjail_node_add_nat ${ROUTERS[$N]} $ROUTER_ADDR 24 83 netjail_node_add_nat ${ROUTERS[$N]} $ROUTER_ADDR 24
77 84
@@ -84,8 +91,10 @@ WAITING=""
84KILLING="" 91KILLING=""
85 92
86if [ $STUN -gt 0 ]; then 93if [ $STUN -gt 0 ]; then
87 STUN_NODE=$(netjail_node) 94 netjail_node
88 STUN_LINK=$(netjail_node_link_bridge $STUN_NODE $NETWORK_NET "$GLOBAL_GROUP.254" 16) 95 STUN_NODE=$RESULT
96 netjail_node_link_bridge $STUN_NODE $NETWORK_NET "$GLOBAL_GROUP.254" 16
97 STUN_LINK=$RESULT
89 98
90 netjail_node_exec $STUN_NODE 0 1 stunserver & 99 netjail_node_exec $STUN_NODE 0 1 stunserver &
91 KILLING="$!" 100 KILLING="$!"