xiringuito/scripts/linux/client-setup.sh
2017-02-17 09:27:25 +01:00

27 lines
760 B
Bash
Executable File

#!/usr/bin/env bash
#
# Setup client before establishing connection
#
set -e
if [[ ${#} -ne 2 ]]; then
echo "Usage: ${0} TUNNEL_ID IP_BASE"
exit 1
fi
declare -r TUNNEL_ID=${1}
declare -r IP_BASE=${2}
declare -r NETWORK_DEVICE=tun${TUNNEL_ID}
let CLIENT_LAST_IP_ADDR_OCTET="4*(${TUNNEL_ID}-1)+1"
let SERVER_LAST_IP_ADDR_OCTET="4*(${TUNNEL_ID}-1)+2"
declare -r CLIENT_IP_ADDR=${IP_BASE}.${CLIENT_LAST_IP_ADDR_OCTET}
declare -r SERVER_IP_ADDR=${IP_BASE}.${SERVER_LAST_IP_ADDR_OCTET}
if [[ ! $(sudo ip link | grep " ${NETWORK_DEVICE}: ") ]]; then
sudo modprobe tun
sudo ip tuntap add mode tun user ${USER} ${NETWORK_DEVICE}
sudo ip link set ${NETWORK_DEVICE} up
sudo ip addr add ${CLIENT_IP_ADDR}/32 peer ${SERVER_IP_ADDR} dev ${NETWORK_DEVICE}
fi