diff --git a/ipsec/adduser.sh b/ipsec/adduser.sh index 65d4708..7f74ab3 100755 --- a/ipsec/adduser.sh +++ b/ipsec/adduser.sh @@ -45,6 +45,9 @@ do if [[ $# -gt 0 ]]; then # exit, if script is called with params ANSUSER=$NOTADDUSER + else + read -p "Would you want to add another user? [no] " ANSUSER + : ${ANSUSER:=$NOTADDUSER} fi continue else @@ -65,28 +68,28 @@ do mkdir -p "$STARTDIR/$LOGIN" DISTFILE=$STARTDIR/$LOGIN/setup.sh - cp -rf setup.sh.dist "$DISTFILE" + cp -rf $DIR/setup.sh.dist "$DISTFILE" sed -i -e "s@_PSK_@$PSK@g" "$DISTFILE" sed -i -e "s@_SERVERLOCALIP_@$LOCALPREFIX.0.1@g" "$DISTFILE" DISTFILE=$STARTDIR/$LOGIN/ipsec.conf - cp -rf ipsec.conf.dist "$DISTFILE" + cp -rf $DIR/ipsec.conf.dist "$DISTFILE" sed -i -e "s@LEFTIP@%any@g" "$DISTFILE" sed -i -e "s@LEFTPORT@%any@g" "$DISTFILE" sed -i -e "s@RIGHTIP@$IP@g" "$DISTFILE" sed -i -e "s@RIGHTPORT@1701@g" "$DISTFILE" DISTFILE=$STARTDIR/$LOGIN/xl2tpd.conf - cp -rf client-xl2tpd.conf.dist "$DISTFILE" + cp -rf $DIR/client-xl2tpd.conf.dist "$DISTFILE" sed -i -e "s@REMOTEIP@$IP@g" "$DISTFILE" DISTFILE=$STARTDIR/$LOGIN/options.xl2tpd - cp -rf client-options.xl2tpd.dist "$DISTFILE" + cp -rf $DIR/client-options.xl2tpd.dist "$DISTFILE" sed -i -e "s@_LOGIN_@$LOGIN@g" "$DISTFILE" sed -i -e "s@_PASSWORD_@$PASSWORD@g" "$DISTFILE" - cp -rf connect.sh.dist "$STARTDIR/$LOGIN/connect.sh" - cp -rf disconnect.sh.dist "$STARTDIR/$LOGIN/disconnect.sh" + cp -rf $DIR/connect.sh.dist "$STARTDIR/$LOGIN/connect.sh" + cp -rf $DIR/disconnect.sh.dist "$STARTDIR/$LOGIN/disconnect.sh" chmod +x "$STARTDIR/$LOGIN/setup.sh" "$STARTDIR/$LOGIN/connect.sh" "$STARTDIR/$LOGIN/disconnect.sh" diff --git a/ipsec/env.sh b/ipsec/env.sh index 05eb34a..21e23df 100755 --- a/ipsec/env.sh +++ b/ipsec/env.sh @@ -1,5 +1,16 @@ #!/usr/bin/env bash +DEBIANPLATFORM="DEBIAN" +CENTOSPLATFORM="CENTOS" + +if [[ -e /etc/version ]]; then + PLATFORM=$DEBIANPLATFORM +fi + +if [[ -e /etc/issue ]]; then + PLATFORM=$CENTOSPLATFORM +fi + SYSCTLCONFIG=/etc/sysctl.conf IPSECCONFIG=/etc/ipsec.conf XL2TPDCONFIG=/etc/xl2tpd/xl2tpd.conf @@ -9,6 +20,11 @@ IPTABLES=/etc/iptables.rules SECRETSFILE=/etc/ipsec.secrets CHECKSERVER=/etc/xl2tpd/checkserver.sh +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + SECRETSFILE=/etc/strongswan/ipsec.secrets + IPSECCONFIG=/etc/strongswan/ipsec.conf +fi + LOCALPREFIX="172.18" LOCALIP="$LOCALPREFIX.0.0" LOCALMASK="/24" diff --git a/ipsec/install.sh b/ipsec/install.sh index d0a6929..cf9d731 100755 --- a/ipsec/install.sh +++ b/ipsec/install.sh @@ -10,7 +10,13 @@ fi echo echo "Installing strongSwan and xl2tp server..." -apt-get -y install strongswan xl2tpd cron iptables procps net-tools +if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then + apt-get -y install strongswan xl2tpd cron iptables procps net-tools +fi +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + yum -y install epel-release + yum -y install strongswan xl2tpd cronie iptables-services procps net-tools +fi echo echo "Configuring routing..." diff --git a/ipsec/iptables-setup.sh b/ipsec/iptables-setup.sh index 200ec95..a8a8fb6 100755 --- a/ipsec/iptables-setup.sh +++ b/ipsec/iptables-setup.sh @@ -3,6 +3,13 @@ DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) source $DIR/env.sh +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + systemctl enable iptables + systemctl stop firewalld + systemctl disable firewalld + systemctl start iptables +fi + COMMENT=" -m comment --comment \"IPSEC\"" if [[ ! -e $IPTABLES ]]; then @@ -28,7 +35,7 @@ done # detect default gateway interface echo "Found next network interfaces:" -ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d' +ifconfig -a | sed 's/[: \t].*//;/^\(lo\|\)$/d' echo GATE=$(route | grep '^default' | grep -o '[^ ]*$') read -p "Enter your external network interface: " -i $GATE -e GATE diff --git a/ipsec/sysctl.sh b/ipsec/sysctl.sh index 440118a..aa3bdf8 100755 --- a/ipsec/sysctl.sh +++ b/ipsec/sysctl.sh @@ -30,4 +30,9 @@ sed -i -e "/net.ipv4.icmp_ignore_bogus_error_responses/d" $SYSCTLCONFIG echo "net.ipv4.icmp_ignore_bogus_error_responses=1" >> $SYSCTLCONFIG sysctl -p -service procps restart +if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then + service procps restart +fi +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + service network restart +fi diff --git a/openvpn/env.sh b/openvpn/env.sh index 0ad5932..8c70755 100755 --- a/openvpn/env.sh +++ b/openvpn/env.sh @@ -1,5 +1,16 @@ #!/usr/bin/env bash +DEBIANPLATFORM="DEBIAN" +CENTOSPLATFORM="CENTOS" + +if [[ -e /etc/version ]]; then + PLATFORM=$DEBIANPLATFORM +fi + +if [[ -e /etc/issue ]]; then + PLATFORM=$CENTOSPLATFORM +fi + SYSCTLCONFIG=/etc/sysctl.conf OPENVPNDIR=/etc/openvpn OPENVPNCONFIG=$OPENVPNDIR/openvpn-server.conf @@ -8,6 +19,10 @@ IPTABLES=/etc/iptables.rules NOBODYGROUP=nogroup CHECKSERVER=$OPENVPNDIR/checkserver.sh +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + NOBODYGROUP=nobody +fi + LOCALPREFIX="172.20" LOCALIP="$LOCALPREFIX.0.0" LOCALMASK="/24" diff --git a/openvpn/install.sh b/openvpn/install.sh index 38b8a5a..bc81adf 100755 --- a/openvpn/install.sh +++ b/openvpn/install.sh @@ -12,7 +12,13 @@ fi echo echo "Installing OpenVPN..." -apt-get -y install openvpn easy-rsa cron iptables procps net-tools +if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then + apt-get -y install openvpn easy-rsa cron iptables procps net-tools +fi +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + yum -y install epel-release + yum -y install openvpn easy-rsa cronie iptables-services procps net-tools +fi echo echo "Configuring routing..." @@ -40,7 +46,13 @@ cp -n /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf echo echo "Creating server keys..." -make-cadir $CADIR +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + mkdir -p "$CADIR/keys" + cp -rf /usr/share/easy-rsa/2.0/* $CADIR +fi +if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then + make-cadir $CADIR +fi cd $CADIR source ./vars ./clean-all diff --git a/openvpn/iptables-setup.sh b/openvpn/iptables-setup.sh index 5107462..ca9e6df 100755 --- a/openvpn/iptables-setup.sh +++ b/openvpn/iptables-setup.sh @@ -1,8 +1,15 @@ #!/usr/bin/env bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) source $DIR/env.sh +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + systemctl enable iptables + systemctl stop firewalld + systemctl disable firewalld + systemctl start iptables +fi + COMMENT=" -m comment --comment \"OPENVPN\"" if [[ ! -e $IPTABLES ]]; then @@ -28,7 +35,7 @@ done # detect default gateway interface echo "Found next network interfaces:" -ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d' +ifconfig -a | sed 's/[: \t].*//;/^\(lo\|\)$/d' echo GATE=$(route | grep '^default' | grep -o '[^ ]*$') read -p "Enter your external network interface: " -i $GATE -e GATE diff --git a/openvpn/sysctl.sh b/openvpn/sysctl.sh index 440118a..aa3bdf8 100755 --- a/openvpn/sysctl.sh +++ b/openvpn/sysctl.sh @@ -30,4 +30,9 @@ sed -i -e "/net.ipv4.icmp_ignore_bogus_error_responses/d" $SYSCTLCONFIG echo "net.ipv4.icmp_ignore_bogus_error_responses=1" >> $SYSCTLCONFIG sysctl -p -service procps restart +if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then + service procps restart +fi +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + service network restart +fi diff --git a/pptp/adduser.sh b/pptp/adduser.sh index a79ddd5..030b675 100755 --- a/pptp/adduser.sh +++ b/pptp/adduser.sh @@ -45,6 +45,9 @@ do if [[ $# -gt 0 ]]; then # exit, if script is called with params ANSUSER=$NOTADDUSER + else + read -p "Would you want to add another user? [no] " ANSUSER + : ${ANSUSER:=$NOTADDUSER} fi continue else @@ -63,7 +66,7 @@ do mkdir -p "$STARTDIR/$LOGIN" DISTFILE=$STARTDIR/$LOGIN/setup.sh - cp -rf setup.sh.dist "$DISTFILE" + cp -rf $DIR/setup.sh.dist "$DISTFILE" sed -i -e "s@_LOGIN_@$LOGIN@g" "$DISTFILE" sed -i -e "s@_PASSWORD_@$PASSWORD@g" "$DISTFILE" sed -i -e "s@_REMOTEIP_@$IP@g" "$DISTFILE" diff --git a/pptp/env.sh b/pptp/env.sh index 86ed6fb..ae0d6c9 100755 --- a/pptp/env.sh +++ b/pptp/env.sh @@ -1,5 +1,16 @@ #!/usr/bin/env bash +DEBIANPLATFORM="DEBIAN" +CENTOSPLATFORM="CENTOS" + +if [[ -e /etc/version ]]; then + PLATFORM=$DEBIANPLATFORM +fi + +if [[ -e /etc/issue ]]; then + PLATFORM=$CENTOSPLATFORM +fi + SYSCTLCONFIG=/etc/sysctl.conf PPTPDCONFIG=/etc/pptpd.conf PPTPOPTIONS=/etc/ppp/options.pptp diff --git a/pptp/install.sh b/pptp/install.sh index 86605a5..3cdd002 100755 --- a/pptp/install.sh +++ b/pptp/install.sh @@ -10,7 +10,13 @@ fi echo echo "Installing PPTP server..." -apt-get -y install pptpd cron iptables procps net-tools +if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then + apt-get -y install pptpd cron iptables procps net-tools +fi +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + yum -y install epel-release + yum -y install ppp pptpd cronie iptables-services procps net-tools +fi ADDUSER="no" ANSUSER="yes" diff --git a/pptp/iptables-setup.sh b/pptp/iptables-setup.sh index bd0982f..ca21772 100755 --- a/pptp/iptables-setup.sh +++ b/pptp/iptables-setup.sh @@ -3,6 +3,13 @@ DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) source $DIR/env.sh +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + systemctl enable iptables + systemctl stop firewalld + systemctl disable firewalld + systemctl start iptables +fi + COMMENT=" -m comment --comment \"PPTP\"" if [[ ! -e $IPTABLES ]]; then @@ -28,7 +35,7 @@ done # detect default gateway interface echo "Found next network interfaces:" -ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d' +ifconfig -a | sed 's/[: \t].*//;/^\(lo\|\)$/d' echo GATE=$(route | grep '^default' | grep -o '[^ ]*$') read -p "Enter your external network interface: " -i $GATE -e GATE diff --git a/pptp/sysctl.sh b/pptp/sysctl.sh index 440118a..90aa824 100755 --- a/pptp/sysctl.sh +++ b/pptp/sysctl.sh @@ -30,4 +30,10 @@ sed -i -e "/net.ipv4.icmp_ignore_bogus_error_responses/d" $SYSCTLCONFIG echo "net.ipv4.icmp_ignore_bogus_error_responses=1" >> $SYSCTLCONFIG sysctl -p -service procps restart +if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then + service procps restart +fi +if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then + service network restart +fi +