summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Crayne <joe@jerkface.net>2020-01-24 00:12:57 -0500
committerJoe Crayne <joe@jerkface.net>2020-01-24 03:01:27 -0500
commit140381ff489213ce890e660ae37a18ae7587c4fb (patch)
tree3dd7649091e324935051e1d3cd3ff242f1997395
parentebacfa8f8cbd8b5cc3a1995188cc2cc8c260d76e (diff)
vnet tests: tcp cage scripts.
-rwxr-xr-xdht/vnet/tcp-build.sh32
-rwxr-xr-xdht/vnet/tcp-clean.sh13
-rwxr-xr-xdht/vnet/tcp-enter.sh15
3 files changed, 60 insertions, 0 deletions
diff --git a/dht/vnet/tcp-build.sh b/dht/vnet/tcp-build.sh
new file mode 100755
index 00000000..fc88cb29
--- /dev/null
+++ b/dht/vnet/tcp-build.sh
@@ -0,0 +1,32 @@
1#!/bin/sh
2
3digit=${1:-0}
4
5iface=$(ip route | awk '/^default/{ if ($4 == "dev") print($5); }')
6iface=${iface:-wlan0}
7num=$(ip addr show $iface | sed -n '/\s\+inet 192/ s/\s\+inet 192\.168\.[0-9]*\.\([0-9]*\).*$/\1/ p')
8num=${num:-88}
9
10dd=$(( 59 - $digit ))
11
12
13set -x
14
15ip link add tcp$digit type veth peer name tcpp$digit
16ip netns add tcpp$digit; ip link set tcpp$digit netns tcpp$digit
17
18nsenter --net=/var/run/netns/tcpp$digit ip addr add 127.0.0.1/8 dev lo
19nsenter --net=/var/run/netns/tcpp$digit ip addr add ::1/128 dev lo
20nsenter --net=/var/run/netns/tcpp$digit ip link set up dev lo
21
22ip addr add $dd.$num.99.98/31 dev tcp$digit
23ip link set up dev tcp$digit
24
25nsenter --net=/var/run/netns/tcpp$digit ip addr add $dd.$num.99.99/31 dev tcpp$digit
26nsenter --net=/var/run/netns/tcpp$digit ip link set up dev tcpp$digit
27nsenter --net=/var/run/netns/tcpp$digit ip route add default via $dd.$num.99.98
28
29nsenter --net=/var/run/netns/tcpp$digit iptables -A OUTPUT -p udp -j DROP
30nsenter --net=/var/run/netns/tcpp$digit iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
31nsenter --net=/var/run/netns/tcpp$digit iptables -A INPUT -j DROP
32iptables -I FORWARD 1 -i tcp$digit -o $iface -j DROP
diff --git a/dht/vnet/tcp-clean.sh b/dht/vnet/tcp-clean.sh
new file mode 100755
index 00000000..7ee0bcbd
--- /dev/null
+++ b/dht/vnet/tcp-clean.sh
@@ -0,0 +1,13 @@
1#!/bin/sh
2
3digit=${1:-0}
4
5set -x
6
7iptables -D FORWARD -i tcp$digit -o $iface -j DROP
8nsenter --net=/var/run/netns/tcpp$digit iptables -D INPUT -j DROP
9nsenter --net=/var/run/netns/tcpp$digit iptables -D INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
10nsenter --net=/var/run/netns/tcpp$digit iptables -D OUTPUT -p udp -j DROP
11
12ip link del tcp$digit
13ip netns del tcpp$digit
diff --git a/dht/vnet/tcp-enter.sh b/dht/vnet/tcp-enter.sh
new file mode 100755
index 00000000..970485ed
--- /dev/null
+++ b/dht/vnet/tcp-enter.sh
@@ -0,0 +1,15 @@
1#!/bin/sh
2cmd="$@"
3digit=0
4user=$(id -un)
5cmd=${cmd:-bash}
6tmp=/tmp/env.$$
7mkdir -p $tmp
8echo $user > $tmp/USER
9echo $HOME > $tmp/HOME
10echo tcp$digit > $tmp/debian_chroot
11sudo -E nsenter --net=/var/run/netns/tcpp$digit chpst -e $tmp -u $user:$user:sudo $cmd
12rm $tmp/USER
13rm $tmp/HOME
14rm $tmp/debian_chroot
15rmdir $tmp