#!/bin/bash

# SAY HI TO SOUL
if [ ! -f "/etc/abbeoo/abo.global.parameters.sh" ]; then
  exit 0;
fi
source "/etc/abbeoo/abo.global.parameters.sh";



# SET UP BASIC SETTINGS
abo_mkabobasics "basic.server.mobilevpn";



# HOSTNAME
abo_mkfile.empty "/etc/hostname";
echo "srv-ld12-mvpn11">>$VAR_PATH;



# HOST FILE
abo_mkfile "/etc/hosts";
echo "127.0.0.1          localhost">>$VAR_PATH;
echo "127.0.0.1          srv-ld12-mvpn11.abbeoo.net               srv-ld12-mvpn11">>$VAR_PATH;
echo "">>$VAR_PATH;
echo "::1                ip6-localhost                            ip6-loopback">>$VAR_PATH;
echo "fe00::0            ip6-localnet">>$VAR_PATH;
echo "ff00::0            ip6-mcastprefix">>$VAR_PATH;
echo "ff02::1            ip6-allnodes">>$VAR_PATH;
echo "ff02::2            ip6-allrouters">>$VAR_PATH;



# INSTALL KERNEL
#abo_install.kernel "linux-image-6.6.33.1-abo.deb";
#abo_install.kernel "linux-headers-6.6.33.1-abo.deb";
#abo_install.kernel "linux-firmware-image-6.6.33_1_amd64.deb";
#abo_install.kernel "linux-libc-dev_1_amd64.deb";



# SET STANDARD NETWORK INTERFACE
abo_mkfile "/etc/network/interfaces"
echo "auto lo">>$VAR_PATH
echo "iface lo inet loopback">>$VAR_PATH
echo "">>$VAR_PATH
echo "auto eth0">>$VAR_PATH
echo "iface eth0 inet dhcp">>$VAR_PATH
echo "  up                    /etc/abbeoo/abo.system.net.set.sh">>$VAR_PATH
echo "">>$VAR_PATH
echo "allow-hotplug wlan0">>$VAR_PATH
echo "iface wlan0 inet static">>$VAR_PATH
echo "  address               10.255.255.1">>$VAR_PATH
echo "  netmask               255.255.255.0">>$VAR_PATH
echo "">>$VAR_PATH
echo "auto eth1">>$VAR_PATH
echo "iface eth1 inet static">>$VAR_PATH
echo "  address               10.255.250.1">>$VAR_PATH
echo "  netmask               255.255.255.0">>$VAR_PATH
echo "">>$VAR_PATH
echo "#auto br0">>$VAR_PATH
echo "#iface br0 inet static">>$VAR_PATH
echo "#  address               10.41.10.250">>$VAR_PATH
echo "#  netmask               255.255.255.0">>$VAR_PATH
echo "#  gateway               10.41.10.1">>$VAR_PATH
echo "#  bridge_ports          bond0">>$VAR_PATH
echo "#  bridge_maxwait        0">>$VAR_PATH
echo "#  bridge_stp            off">>$VAR_PATH
echo "#  bridge_fd             0">>$VAR_PATH



# GRUB FILE
abo_mkfile "/etc/default/grub";
echo "GRUB_DEFAULT=0">>$VAR_PATH;
echo "GRUB_TIMEOUT=5">>$VAR_PATH;
echo "GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`">>$VAR_PATH;
echo "GRUB_CMDLINE_LINUX_DEFAULT=\"quiet\"">>$VAR_PATH;
echo "GRUB_CMDLINE_LINUX=\"panic=30 noswap nosplash - rootdelay=7 net.ifnames=0 biosdevname=0\"">>$VAR_PATH;
echo "GRUB_DISABLE_OS_PROBER=\"true\"">>$VAR_PATH;
update-grub2;



# INSTALL HOSTAPD
abo_system.aptitude "hostapd";

abo_mkfile "/etc/default/hostapd";
echo "#DAEMON_CONF=\"\"">>$VAR_PATH;
echo "#DAEMON_CONF=\"/etc/hostapd/hostapd.conf\"">>$VAR_PATH;
echo "#DAEMON_OPTS=\"\"">>$VAR_PATH;

abo_mkfile "/etc/hostapd/hostapd.conf" "orig";
echo "driver=nl80211">>$VAR_PATH;
echo "ctrl_interface=/var/run/hostapd">>$VAR_PATH;
echo "ctrl_interface_group=0">>$VAR_PATH;
echo "beacon_int=100">>$VAR_PATH;
echo "auth_algs=1">>$VAR_PATH;
echo "wpa_key_mgmt=WPA-PSK">>$VAR_PATH;
echo "ssid=abbeoo_mobilevpn">>$VAR_PATH;
echo "channel=6">>$VAR_PATH;
echo "hw_mode=g">>$VAR_PATH;
echo "wpa_passphrase=MoSuCo0801#">>$VAR_PATH;
echo "interface=wlan0">>$VAR_PATH;
echo "wpa=2">>$VAR_PATH;
echo "wpa_pairwise=CCMP">>$VAR_PATH;
echo "country_code=CH">>$VAR_PATH;

systemctl unmask hostapd;
systemctl enable hostapd;
systemctl restart hostapd;



# INSTALL DNSMASQ
abo_system.aptitude "dnsmasq";

abo_mkfile "/etc/default/dnsmasq";
echo "CONFIG_DIR=/etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new">>$VAR_PATH;

abo_mkfile "/etc/dnsmasq.d/dnsmasq-wlan0.conf";
echo "interface=wlan0">>$VAR_PATH;
echo "listen-address=10.255.255.1">>$VAR_PATH;
echo "bind-interfaces">>$VAR_PATH;
echo "server=185.78.120.10">>$VAR_PATH;
echo "domain-needed">>$VAR_PATH;
echo "bogus-priv">>$VAR_PATH;
echo "dhcp-range=10.255.255.71,10.255.255.250,12h">>$VAR_PATH;

abo_mkfile "/etc/dnsmasq.d/dnsmasq-eth1.conf";
echo "interface=eth1">>$VAR_PATH;
echo "listen-address=10.255.250.1">>$VAR_PATH;
echo "bind-interfaces">>$VAR_PATH;
echo "server=185.78.120.10">>$VAR_PATH;
echo "domain-needed">>$VAR_PATH;
echo "bogus-priv">>$VAR_PATH;
echo "dhcp-range=10.255.250.71,10.255.250.250,12h">>$VAR_PATH;



# INSTALL IPTABLES
abo_mkfile.bash "/etc/abbeoo/abo.system.net.set.sh";
echo "IPT4=/sbin/iptables;">>$VAR_PATH;
echo "IPT6=/sbin/ip6tables;">>$VAR_PATH;
echo "MPRO=/sbin/modprobe;">>$VAR_PATH;
echo "IPSH=/sbin/ip;">>$VAR_PATH;
echo "IFCO=/sbin/ifconfig;">>$VAR_PATH;
echo "">>$VAR_PATH;
echo "IF_WAN=\"eth0\";">>$VAR_PATH;
echo "IF_LAN=\"eth1\";">>$VAR_PATH;
echo "IF_WLP=\"wlan0\";">>$VAR_PATH;
echo "IF_LOC=lo;">>$VAR_PATH;
echo "">>$VAR_PATH;
echo "#ALLOW ALL PRIVATE INTERNAL ADDRESS SPACE">>$VAR_PATH;
echo "HOST=\"10.255.255.0/24\";">>$VAR_PATH;
echo "$IPT4 -t nat -A         POSTROUTING -o  $IF_WAN -s $HOST -j MASQUERADE;">>$VAR_PATH;
echo "">>$VAR_PATH;
echo "HOST=\"10.255.250.0/24\";">>$VAR_PATH;
echo "$IPT4 -t nat -A         POSTROUTING -o  $IF_WAN -s $HOST -j MASQUERADE;">>$VAR_PATH;
echo "">>$VAR_PATH;
echo "exit 0;">>$VAR_PATH;


# OPENVPN
# ACTIVATE ROUTING


abo_writelog "end abo.inst.basic.server.mobilevpn.sh";



exit 0;
