#!/bin/sh set -e batctl meshif ${BATMAN_INTERFACE} interface create ip link set ${BATMAN_INTERFACE} up # setup ips if [ "${BATMAN_IPV4}" ] ; then ip -4 addr add ${BATMAN_IPV4} dev ${BATMAN_INTERFACE} fi if [ "${BATMAN_BRIDGE_IPV6}" ] ; then ip -6 addr add ${BATMAN_IPV6} dev ${BATMAN_INTERFACE} fi # mark node as dhcp server batctl meshif ${BATMAN_INTERFACE} gw server ${BATMAN_LIMIT_DOWNLOAD}Mbit/${BATMAN_LIMIT_UPLOAD}Mbit if [ "${WIREGUARD_CONFIG}" ] ; then \ nft add table ip nat || true nft add chain 'ip nat POSTROUTING { type nat hook postrouting priority srcnat; policy accept; }' || true nft add rule nat POSTROUTING counter masquerade || true nft add table ip6 nat || true nft add chain 'ip6 nat POSTROUTING { type nat hook postrouting priority srcnat; policy accept; }' || true nft add rule ip6 nat POSTROUTING counter masquerade || true # remove dns defintion, because resolv.conf is write protected in the container egrep -v '^\s*DNS\s*=' ${WIREGUARD_CONFIG} >/etc/wireguard/${WIREGUARD_INTERFACE}.conf wg-quick up ${WIREGUARD_INTERFACE} ip rule add iif ${BATMAN_INTERFACE} table 5000 fi cat >/etc/radvd.conf <>/etc/radvd.conf [ "${RADVD_MTU}" ] && \ echo " AdvLinkMTU ${RADVD_MTU};" >>/etc/radvd.conf [ "${RADVD_SOURCE_LL_ADDRESS}" ] && \ echo " AdvSourceLLAddress ${RADVD_SOURCE_LL_ADDRESS};" >>/etc/radvd.conf [ "${RADVD_OTHER_CONFIG_FLAG}" ] && \ echo " AdvOtherConfigFlag ${RADVD_OTHER_CONFIG_FLAG};" >>/etc/radvd.conf cat >>/etc/radvd.conf <