summaryrefslogtreecommitdiff
path: root/roles/linux-ns/files/usrlocalbin/dn42-route-namespace.sh
diff options
context:
space:
mode:
authoruvok cheetah2025-02-09 14:05:05 +0100
committeruvok cheetah2025-02-09 14:05:05 +0100
commit54baac494de94ecf37c7369d266078a8a8c2afb3 (patch)
tree6b9dede00e1ab01e634c07bf5d3bfad17fe68403 /roles/linux-ns/files/usrlocalbin/dn42-route-namespace.sh
parent9f551a3822b32a10881f894be518a6fa31d5ac23 (diff)
Move script to templates
Diffstat (limited to 'roles/linux-ns/files/usrlocalbin/dn42-route-namespace.sh')
-rwxr-xr-xroles/linux-ns/files/usrlocalbin/dn42-route-namespace.sh85
1 files changed, 0 insertions, 85 deletions
diff --git a/roles/linux-ns/files/usrlocalbin/dn42-route-namespace.sh b/roles/linux-ns/files/usrlocalbin/dn42-route-namespace.sh
deleted file mode 100755
index 44e0e61..0000000
--- a/roles/linux-ns/files/usrlocalbin/dn42-route-namespace.sh
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/bin/sh -x
-
-set -eu
-
-# Set public IPv6 network prefix in the form aaaa:bbbb:cccc:dddd
-# (yes, without trailing: or ::)
-hoster_prefix_v6="<insert ipv6 prefix>"
-# hardcoded: use 42 prefix
-ns_prefix_v6="${hoster_prefix_v6}:42"
-
-# insert IPv4 address
-hoster_addr_v4="<insert ipv4>"
-# hardcoded: net
-ns_net_v4="10.42.0.0/24"
-# hardcoded: peer address (inside namespace)
-ns_addr_peer_v4="10.42.0.2/32"
-
-case $- in
- *x*) debug="-x" ;;
- *) debug="" ;;
-esac
-
-case "$1" in
- start)
- ip netns exec dn42 sh $debug "$0" start-ns
- ip route add ${ns_net_v4} dev vethdn42
- ip a add ${ns_prefix_v6}::1/128 dev vethdn42
- ip route add ${ns_prefix_v6}::2/128 dev vethdn42
- # hardcoded: route for dn42
- ip route replace fd00::/8 via ${ns_prefix_v6}::2 dev vethdn42 src fcee::1
- ;;
- start-ns)
- sysctl -w net.ipv6.conf.all.forwarding=1
-
- ip -4 route flush dev eth0
- ip -6 route flush dev eth0
- ip -4 a flush dev eth0
- ip -6 a flush dev eth0
-
- ip a add ${ns_addr_peer_v4} dev eth0
- ip route add ${hoster_addr_v4} dev eth0
- ip route add default via ${hoster_addr_v4} dev eth0
-
- ip a add ${ns_prefix_v6}::2/128 dev eth0
- ip route add ${ns_prefix_v6}::1 dev eth0
- ip route add default via ${ns_prefix_v6}::1 dev eth0
-
- # hardcoded: dummy-interface with additional addresses
- ifup dn42_int
-
- # hardcoded: Additional rules for (policy) routing.
- # tables are filled by bird.
- ip -6 rule add prio 31000 table 210
- ip -6 rule add prio 32000 table 250
-
- # hardcoded: iptables
- iptables-nft-restore < /etc/iptables/netns/dn42/iptables.save
- ip6tables-nft-restore < /etc/iptables/netns/dn42/ip6tables.save
- ;;
- stop)
- ip -6 route flush dev vethdn42
- ip -4 route flush dev vethdn42
-
- ip -6 a flush dev vethdn42
- ip -4 a flush dev vethdn42
-
- ip netns exec dn42 sh $debug "$0" stop-ns
- ;;
- stop-ns)
- ifdown dn42_int
-
- ip -6 route flush dev eth0
- ip -6 a flush dev eth0
-
- ip -4 route flush dev eth0
- ip -4 a flush dev eth0
-
- ip -6 rule del prio 31000
- ip -6 rule del prio 32000
-
- ;;
- *)
- echo "Ignore invalid parameter $1" >&2
- ;;
-esac