summaryrefslogtreecommitdiff
path: root/dht/vnet/tcp-build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'dht/vnet/tcp-build.sh')
-rwxr-xr-xdht/vnet/tcp-build.sh32
1 files changed, 32 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