summaryrefslogtreecommitdiff
path: root/public/fs/etc/openvpn/hostvpn-conf.sh
diff options
context:
space:
mode:
Diffstat (limited to 'public/fs/etc/openvpn/hostvpn-conf.sh')
-rwxr-xr-xpublic/fs/etc/openvpn/hostvpn-conf.sh59
1 files changed, 47 insertions, 12 deletions
diff --git a/public/fs/etc/openvpn/hostvpn-conf.sh b/public/fs/etc/openvpn/hostvpn-conf.sh
index 24cb390..72f828c 100755
--- a/public/fs/etc/openvpn/hostvpn-conf.sh
+++ b/public/fs/etc/openvpn/hostvpn-conf.sh
@@ -3,6 +3,7 @@
set -eu
sitezone="$1"
+vpn_type="$2"
cfg_script="$0"
cfg_srcdir=$(cd -- "${cfg_script%/*}/" ; pwd -P)
@@ -10,17 +11,51 @@ cfg_srcdir=$(cd -- "${cfg_script%/*}/" ; pwd -P)
source /root/config/private/config/server.ports
source /root/config/private/config/hostinfo/${sitezone}
-if [ ${vpn_route_all} = 'yes' ]; then
- vpn_route_all_subst='s/^@vpn_route_all@ //g'
+if [ ${vpn_type} = 'primary' ]; then
+ vpn_tunnel=tun0
+ ipv6_subnet=8000
+
+ if [ ${vpn_route_all} = 'yes' ]; then
+ vpn_route_all_subst='s/^@vpn_route_all@ //g'
+ else
+ vpn_route_all_subst='/^@vpn_route_all@ /d'
+ fi
+
+ sed -e 's/@vpn_tunnel@/'${vpn_tunnel}'/g' \
+ -e 's/@vpn_type@/'${vpn_type}'/g' \
+ -e 's/@vpn_port@/'${vpn_port}'/g' \
+ -e 's/@hostname@/'${hostname}'/g' \
+ -e 's/@vpn_net4@/'${vpn_net4}'/g' \
+ -e 's/@vpn_ipv4@/'${vpn_ipv4}'/g' \
+ -e 's/@host_ipv4@/'${host_ipv4}'/g' \
+ -e 's/@host_ipv6@/'${host_ipv6}'/g' \
+ -e 's/@ipv6_subnet@/'${ipv6_subnet}'/g' \
+ -e "${vpn_route_all_subst}" \
+ "${cfg_srcdir}/hostvpn.conf.in"
+
+elif [ ${vpn_type} = 'secondary' ]; then
+ vpn_tunnel=tun1
+ ipv6_subnet=c000
+
+ if [ ${avpn_route_all} = 'yes' ]; then
+ vpn_route_all_subst='s/^@vpn_route_all@ //g'
+ else
+ vpn_route_all_subst='/^@vpn_route_all@ /d'
+ fi
+
+ sed -e 's/@vpn_tunnel@/'${vpn_tunnel}'/g' \
+ -e 's/@vpn_type@/'${vpn_type}'/g' \
+ -e 's/@vpn_port@/'${avpn_port}'/g' \
+ -e 's/@hostname@/'${hostname}'/g' \
+ -e 's/@vpn_net4@/'${avpn_net4}'/g' \
+ -e 's/@vpn_ipv4@/'${avpn_ipv4}'/g' \
+ -e 's/@host_ipv4@/'${host_ipv4}'/g' \
+ -e 's/@host_ipv6@/'${host_ipv6}'/g' \
+ -e 's/@ipv6_subnet@/'${ipv6_subnet}'/g' \
+ -e "${vpn_route_all_subst}" \
+ "${cfg_srcdir}/hostvpn.conf.in"
+
else
- vpn_route_all_subst='/^@vpn_route_all@ /d'
+ printf '%s\n' 'usage: ./hostvpn-conf.sh sitezone {primary|secondary}'
+ exit 2
fi
-
-sed -e 's/@vpn_port@/'${vpn_port}'/g' \
- -e 's/@hostname@/'${hostname}'/g' \
- -e 's/@vpn_net4@/'${vpn_net4}'/g' \
- -e 's/@vpn_ipv4@/'${vpn_ipv4}'/g' \
- -e 's/@host_ipv4@/'${host_ipv4}'/g' \
- -e 's/@host_ipv6@/'${host_ipv6}'/g' \
- -e "${vpn_route_all_subst}" \
- "${cfg_srcdir}/hostvpn.conf.in"