2021-01-15 17:12:33 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
. ./dns-functions.sh
|
|
|
|
|
|
|
|
IncludeFile="$1"
|
2021-01-23 23:37:49 +01:00
|
|
|
RemoteLocation="$2"
|
2021-01-26 22:53:02 +01:00
|
|
|
Tables="$3"
|
2021-01-15 17:12:33 +01:00
|
|
|
|
|
|
|
rm -f "$IncludeFile"
|
|
|
|
|
2021-01-26 22:53:02 +01:00
|
|
|
Installed4Routes=""
|
|
|
|
Installed6Routes=""
|
|
|
|
for Table in $Tables; do
|
|
|
|
Installed4Routes="$(echo "$Installed4Routes" && ip -4 ro sh ta "$Table")"
|
|
|
|
Installed6Routes="$(echo "$Installed6Routes" && ip -6 ro sh ta "$Table")"
|
|
|
|
done
|
|
|
|
PublicSubs="$(echo "$Installed6Routes" | \
|
|
|
|
sed -e '/^default from/!d;s/.* from \(\S\+\).*/\t\1;/g')"
|
2021-01-23 23:37:49 +01:00
|
|
|
PrivatePrefix="\(192\.168\.\|172\.\(1[6-9]\|2[0-9]\|3[01]\)\.\|10\.\|[fF][cCdD][0-9a-fA-F]\{2\}:\)"
|
2021-01-26 22:53:02 +01:00
|
|
|
PublicSingles="$(echo "$Installed4Routes" | \
|
|
|
|
sed -e 's/^\(\S\+\)\s.*/\t\1;/g;/^\t'"$PrivatePrefix"'\|^\t\(default\|0\.\)\|^$/d' \
|
|
|
|
&& echo "$Installed6Routes" | \
|
|
|
|
sed -e 's/^\(\S\+\)\s.*/\t\1;/g;/^\t'"$PrivatePrefix"'\|^\t\(default\|::\|64:ff9b::\)\|^$/d')"
|
2021-01-23 23:37:49 +01:00
|
|
|
|
2021-01-19 17:49:06 +01:00
|
|
|
{
|
|
|
|
echo "acl icvpnrange {"
|
|
|
|
echo " icvpnlocal;"
|
2021-01-23 23:37:49 +01:00
|
|
|
echo "$PublicSubs"
|
|
|
|
echo "$(curl -s -S -f "$RemoteLocation""external.dnsserverips" | sed -e 's/^/\t/g;s/$/;/g')"
|
|
|
|
echo "$PublicSingles"
|
2021-01-19 17:49:06 +01:00
|
|
|
echo "};"
|
2021-01-23 23:37:49 +01:00
|
|
|
} > "$IncludeFile"
|