aboutsummaryrefslogtreecommitdiff
path: root/contrib/scripts/netjail/netjail_core.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/scripts/netjail/netjail_core.sh')
-rwxr-xr-xcontrib/scripts/netjail/netjail_core.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/scripts/netjail/netjail_core.sh b/contrib/scripts/netjail/netjail_core.sh
index 6a18ea902..8dbbeacf1 100755
--- a/contrib/scripts/netjail/netjail_core.sh
+++ b/contrib/scripts/netjail/netjail_core.sh
@@ -9,6 +9,25 @@ JAILOR=${SUDO_USER:?must run in sudo}
9 9
10export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 10export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
11 11
12netjail_opt() {
13 OPT=$1
14 shift 1
15
16 INDEX=1
17
18 while [ $# -gt 0 ]; do
19 if [ "$1" = "$OPT" ]; then
20 printf "%d" $INDEX
21 return
22 fi
23
24 INDEX=$(($INDEX + 1))
25 shift 1
26 done
27
28 printf "%d" 0
29}
30
12netjail_check() { 31netjail_check() {
13 NODE_COUNT=$1 32 NODE_COUNT=$1
14 33
@@ -74,6 +93,15 @@ netjail_node_link_bridge() {
74 ip link set $LINK_BR up 93 ip link set $LINK_BR up
75} 94}
76 95
96netjail_node_unlink_bridge() {
97 NODE=$1
98 BRIDGE=$2
99
100 LINK_BR="$NODE-$BRIDGE-1"
101
102 ip link delete $LINK_BR
103}
104
77netjail_node_add_nat() { 105netjail_node_add_nat() {
78 NODE=$1 106 NODE=$1
79 ADDRESS=$2 107 ADDRESS=$2
@@ -98,3 +126,4 @@ netjail_node_exec() {
98 unshare -fp --kill-child -- ip netns exec $NODE sudo -u $JAILOR -- $@ 1>& $FD_OUT 0<& $FD_IN 126 unshare -fp --kill-child -- ip netns exec $NODE sudo -u $JAILOR -- $@ 1>& $FD_OUT 0<& $FD_IN
99} 127}
100 128
129