Спасибо, мил человек!!! Немного подправил и вуляля!
Может кому то тоже пригодится:
#!/bin/sh
WGIPV4="172.16.0.2"
WGFACE=$(ip addr|grep "inet $WGIPV4"|sed -En 's/.* nwg([[:digit:]]+)/\1/p')
[ "$1" == "hook" ] || exit 0
[ "$change" == "link" ] || exit 0
[ "$id" == "Wireguard$WGFACE" ] || exit 0
ip6t() {
if ! ip6tables -C "$@" &>/dev/null; then
ip6tables -A "$@"
fi
}
case ${id}-${change}-${connected}-${link}-${up} in
${id}-link-yes-up-up)
TABLE=$(ip -4 rule|grep "from $WGIPV4"|sed -En 's/.*lookup ([[:digit:]]+).*/\1/p')
if [ "$TABLE" != "" ]; then
/opt/bin/wg set nwg$WGFACE peer bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= allowed-ips 0.0.0.0/0,::/0
ip -6 addr add 2606:4700:####:####:####:####:####:####/128 dev nwg$WGFACE
ip6t POSTROUTING -t nat -o nwg$WGFACE -j MASQUERADE
ip -6 rule del pref 10$TABLE
ip -6 rule add from 2606:4700:####:####:####:####:####:#### lookup $TABLE pref 10$TABLE
ip -6 route add 2606:4700:####:####:####:####:####:####/128 dev nwg$WGFACE table $TABLE
ip -6 route add default dev nwg$WGFACE table $TABLE
fi
;;
esac
exit 0