[INIT+STANDALONE] fresh init of this project from original without specific confidential documents
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
**/.DS_Store
|
||||||
BIN
Dokumentation/Pdf/Dokumentation.pdf
Normal file
BIN
Dokumentation/Pdf/Dokumentation.pdf
Normal file
Binary file not shown.
Binary file not shown.
6
PFDialogControl/pfdialogcontrol-1.0.3/dnsmasq.skeleton
Executable file
6
PFDialogControl/pfdialogcontrol-1.0.3/dnsmasq.skeleton
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
### Skeleton "dnsmasq" modifiziert durch PFDialogControl ###
|
||||||
|
|
||||||
|
domain-needed
|
||||||
|
bogus-priv
|
||||||
|
expand-hosts
|
||||||
|
|
||||||
135
PFDialogControl/pfdialogcontrol-1.0.3/install
Executable file
135
PFDialogControl/pfdialogcontrol-1.0.3/install
Executable file
@@ -0,0 +1,135 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# Title : PFDialogControl Installer
|
||||||
|
# Author : Bogdanovic Theodor {t.bogdanovic@hotmail.com}
|
||||||
|
# Date : 2015-05-05
|
||||||
|
# Requires : dialog
|
||||||
|
# Category : Installationsskript
|
||||||
|
#######################################################################
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
# Dieses Skript dient der Installation der PFDialogControl Skript-
|
||||||
|
# sammlung.
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
# -> Diese Function zeigt eine Statusleiste waehrend der Istallation
|
||||||
|
pfdcontrol_start() {
|
||||||
|
|
||||||
|
# -> Installation des FreeBSD Paketmanagers (pkg), welcher per Default nich installiert ist. Zusaetzliche Pakete installieren
|
||||||
|
clear
|
||||||
|
pkg
|
||||||
|
pkg install -y dnsmasq pftop nano gsed
|
||||||
|
# <- #
|
||||||
|
|
||||||
|
### Erstellen der notwendigen Verzeichnisse ###########################
|
||||||
|
|
||||||
|
{
|
||||||
|
echo 4; echo "XXX"; echo "mkdir -p /usr/local/etc/pfdcontrol/block"; echo "XXX"; sleep 0.2
|
||||||
|
mkdir -p /usr/local/etc/pfdcontrol/block
|
||||||
|
echo 8; echo "XXX"; echo "mkdir -p /usr/local/etc/pfdcontrol/portfor"; echo "XXX"; sleep 0.2
|
||||||
|
mkdir -p /usr/local/etc/pfdcontrol/portfor
|
||||||
|
echo 16; echo "XXX"; echo "mkdir -p /usr/local/etc/pfdcontrol/skel"; echo "XXX"; sleep 0.2
|
||||||
|
mkdir -p /usr/local/etc/pfdcontrol/skel
|
||||||
|
|
||||||
|
### Erstellen der notwendigen Dateien und aendern der Rechte###########
|
||||||
|
|
||||||
|
echo 20; echo "XXX"; echo "cp ./pfdctl /usr/bin/pfdctl && chmod 700 /usr/bin/pfdctl"; echo "XXX"; sleep 0.2
|
||||||
|
cp ./pfdctl /usr/bin/pfdctl && chmod 700 /usr/bin/pfdctl
|
||||||
|
echo 24; echo "XXX"; echo "cp ./libpfdctl /usr/lib/libpfdctl && chmod 660 /usr/lib/libpfdctl"; echo "XXX"; sleep 0.2
|
||||||
|
cp ./libpfdctl /usr/lib/libpfdctl && chmod 660 /usr/lib/libpfdctl
|
||||||
|
echo 28; echo "XXX"; echo "cp ./libnmcalc16 /usr/lib/libnmcalc16 && chmod 660 /usr/lib/libnmcalc16"; echo "XXX"; sleep 0.2
|
||||||
|
cp ./libnmcalc16 /usr/lib/libnmcalc16 && chmod 660 /usr/lib/libnmcalc16
|
||||||
|
echo 32; echo "XXX"; echo "cp ./libchkin12 /usr/lib/libchkin12 && chmod 660 /usr/lib/libchkin12"; echo "XXX"; sleep 0.2
|
||||||
|
cp ./libchkin12 /usr/lib/libchkin12 && chmod 660 /usr/lib/libchkin12
|
||||||
|
echo 36; echo "XXX"; echo "cp ./pfdchelp /usr/bin/pfdchelp && chmod 660 /usr/bin/pfdchelp"; echo "XXX"; sleep 0.2
|
||||||
|
cp ./pfdchelp /usr/bin/pfdchelp && chmod 770 /usr/bin/pfdchelp
|
||||||
|
echo 40; echo "XXX"; echo "cp ./dnsmasq.skeleton /usr/local/etc/pfdcontrol/skel"; echo "XXX"; sleep 0.2
|
||||||
|
cp ./dnsmasq.skeleton /usr/local/etc/pfdcontrol/skel && chmod 660 /usr/local/etc/pfdcontrol/skel/dnsmasq.skeleton
|
||||||
|
echo 44; echo "XXX"; echo "cp ./pf.skeleton /usr/local/etc/pfdcontrol/skel"; echo "XXX"; sleep 0.2
|
||||||
|
cp ./pf.skeleton /usr/local/etc/pfdcontrol/skel && chmod 660 /usr/local/etc/pfdcontrol/skel/pf.skeleton
|
||||||
|
echo 48; echo "XXX"; echo "cp ./motd /etc/motd"; echo "XXX"; sleep 0.2
|
||||||
|
cp ./motd /etc/motd && chmod 660 /etc/motd
|
||||||
|
|
||||||
|
### Erstellen der notwendigen Config Files und aendern der Rechte######
|
||||||
|
|
||||||
|
echo 52; echo "XXX"; echo "touch /usr/local/etc/pfdcontrol/dns.addr"; echo "XXX"; sleep 0.2
|
||||||
|
touch /usr/local/etc/pfdcontrol/dns.addr
|
||||||
|
echo 56; echo "XXX"; echo "touch /usr/local/etc/pfdcontrol/dnsmasq_run.status"; echo "XXX"; sleep 0.2
|
||||||
|
touch /usr/local/etc/pfdcontrol/dnsmasq_run.status
|
||||||
|
echo 60; echo "XXX"; echo "touch /usr/local/etc/pfdcontrol/domainname"; echo "XXX"; sleep 0.2
|
||||||
|
touch /usr/local/etc/pfdcontrol/domainname
|
||||||
|
echo 64; echo "XXX"; echo "touch /usr/local/etc/pfdcontrol/gateway.addr"; echo "XXX"; sleep 0.2
|
||||||
|
touch /usr/local/etc/pfdcontrol/gateway.addr
|
||||||
|
echo 68; echo "XXX"; echo "touch /usr/local/etc/pfdcontrol/identified_ifaces"; echo "XXX"; sleep 0.2
|
||||||
|
touch /usr/local/etc/pfdcontrol/identified_ifaces
|
||||||
|
echo 72; echo "XXX"; echo "touch /usr/local/etc/pfdcontrol/inside_iface"; echo "XXX"; sleep 0.2
|
||||||
|
touch /usr/local/etc/pfdcontrol/inside_iface
|
||||||
|
echo 76; echo "XXX"; echo "touch /usr/local/etc/pfdcontrol/nat_run.status"; echo "XXX"; sleep 0.2
|
||||||
|
touch /usr/local/etc/pfdcontrol/nat_run.status
|
||||||
|
echo 80; echo "XXX"; echo "touch /usr/local/etc/pfdcontrol/outside_iface"; echo "XXX"; sleep 0.2
|
||||||
|
touch /usr/local/etc/pfdcontrol/outside_iface
|
||||||
|
echo 84; echo "XXX"; echo "echo "0" > /usr/local/etc/pfdcontrol/counter_pw"; echo "XXX"; sleep 0.2
|
||||||
|
echo "0" > /usr/local/etc/pfdcontrol/counter_pw
|
||||||
|
echo 90; echo "XXX"; echo "echo "0" > /usr/local/etc/pfdcontrol/counter_block"; echo "XXX"; sleep 0.2
|
||||||
|
echo "0" > /usr/local/etc/pfdcontrol/counter_block
|
||||||
|
echo 100; echo "XXX"; echo "Installation komplett"; echo "XXX"; sleep 2
|
||||||
|
} | dialog --backtitle "PFDialogControl" --title "Installiere PFDialogControl" --gauge "" 6 85 0
|
||||||
|
# <- #
|
||||||
|
### Suchen und dekonfigurieren von bestehenden Interfaces #############
|
||||||
|
|
||||||
|
sed "s/ifconfig_/#--DECONFIG--durch--PFDialogControl/g" /etc/rc.conf > /etc/rc.conf.pfdctl && rm /etc/rc.conf && mv /etc/rc.conf.pfdctl /etc/rc.conf
|
||||||
|
|
||||||
|
### Aktivieren der Dienste PF Firewall und Gateway Modus ##############
|
||||||
|
|
||||||
|
echo "pf_enable=\"YES\"" >> /etc/rc.conf
|
||||||
|
echo "gateway_enable=\"YES\"" >> /etc/rc.conf
|
||||||
|
|
||||||
|
### Abschlussmeldung und initialisieren des Reboots ###################
|
||||||
|
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "WARNUNG" \
|
||||||
|
--msgbox "PFDialogControl wurde erfolgreich installiert, das System wird nun neu gestartet." 10 50
|
||||||
|
|
||||||
|
reboot
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# -> Startsequenz des Installers mit Check auf Minimum 2 Interfaces
|
||||||
|
chk_iface() {
|
||||||
|
if [ $(ifconfig -a | awk '/.[0-9]:/ {print $1}' | cut -d ":" -f1 | grep -v -i inet | grep -v -i ether | grep -v -i lo0 | wc -l | cut -d " " -f 7-9) = 1 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "WARNUNG" \
|
||||||
|
--yesno "Der Installer hat ermittelt, dass Ihr System nur ein Interface besitzen. PFDialogControl benoetigt aber mindestens zwei. Sie können die Installation aber dennoch \
|
||||||
|
durchfuehren wenn Sie wollen.\n\nMoechten Sie fortfahren?" 10 80
|
||||||
|
|
||||||
|
case $? in
|
||||||
|
0) pfdcontrol_start
|
||||||
|
;;
|
||||||
|
1) clear; exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
pfdcontrol_start
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
# <- #
|
||||||
|
|
||||||
|
# -> Startsequenz des Installers
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Installation" \
|
||||||
|
--yesno "Willkommen zur Installation von PFDialogControl. Dieser Installer wird alle Ihre Interfaces waehrend der Installation dekonfigurieren, fuehren Sie ihn deshalb \
|
||||||
|
lokal auf dem Geraet aus. Bitte bestaetigen Sie allfaellige Fragen in der Kommandozeile mit \"y\" --> ENTER.\n\nMoechten Sie PFDialogControl installieren?" 10 80
|
||||||
|
|
||||||
|
case $? in
|
||||||
|
0) chk_iface
|
||||||
|
;;
|
||||||
|
1) clear; exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# <- #
|
||||||
113
PFDialogControl/pfdialogcontrol-1.0.3/libchkin12
Executable file
113
PFDialogControl/pfdialogcontrol-1.0.3/libchkin12
Executable file
@@ -0,0 +1,113 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# Title : PFDialogControl --> Check Interface Name (libchkin12)
|
||||||
|
# Author : Bogdanovic Theodor {t.bogdanovic@hotmail.com}
|
||||||
|
# Date : 2015-05-05
|
||||||
|
# Requires : dialog, libpfdctl
|
||||||
|
# Category : Dialog Menu zur Steurung von PF Firewall
|
||||||
|
#######################################################################
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
# Diese Bibliothek dient dem dem Ueberpruefen des eingegebenen
|
||||||
|
# Interface Namens auf reale Existenz
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
chk_iface_name() {
|
||||||
|
|
||||||
|
nics=`cat /usr/local/etc/pfdcontrol/identified_ifaces`
|
||||||
|
interface_name=`cat $iface_name`
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f1) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f2) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f3) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f4) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f5) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f6) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f7) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f8) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f9) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f10) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f11) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
[ $interface_name = $(echo $nics | cut -d " " -f12) ]
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
dialog --backtitle "PFDialogControl" \
|
||||||
|
--title "Betstaetigt" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann als existent verifiziert werden." 10 35
|
||||||
|
echo "OK" > /usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
fi
|
||||||
|
|
||||||
|
iface_OK_file=/usr/local/etc/pfdcontrol/tmp_iface_chk
|
||||||
|
if [ ! -e $iface_OK_file ]; then
|
||||||
|
dialog --backtitle "PFDialogControl"\
|
||||||
|
--title "WARNUNG" --msgbox "Der von Ihnen eingegebene Interface Name --> $interface_name kann NICHT als existent verifiziert werden.\n\nBitte ueberpruefen Sie Ihre Eingabe" 12 44
|
||||||
|
rm /usr/local/etc/pfdcontrol/tmp_iface_chk 2> /dev/null
|
||||||
|
menu_network && exit
|
||||||
|
fi
|
||||||
|
rm /usr/local/etc/pfdcontrol/tmp_iface_chk 2> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
51
PFDialogControl/pfdialogcontrol-1.0.3/libnmcalc16
Executable file
51
PFDialogControl/pfdialogcontrol-1.0.3/libnmcalc16
Executable file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# Title : PFDialogControl --> Netmask Calculate max Suffix 16 (libnmcalc16)
|
||||||
|
# Author : Bogdanovic Theodor {t.bogdanovic@hotmail.com}
|
||||||
|
# Date : 2015-05-05
|
||||||
|
# Requires : dialog, libpfdctl
|
||||||
|
# Category : Dialog Menu zur Steurung von PF Firewall
|
||||||
|
#######################################################################
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
# Diese Bibliothek dient dem Berechnen der Subnetzmaske bis max. 16
|
||||||
|
# Bit (255.255.0.0 - 255.255.255.254).
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
|
||||||
|
calc_netmask() {
|
||||||
|
if [ $netmask = "255.255.0.0" ]; then
|
||||||
|
echo "16" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.128.0" ]; then
|
||||||
|
echo "17" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.192.0" ]; then
|
||||||
|
echo "18" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.224.0" ]; then
|
||||||
|
echo "19" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.240.0" ]; then
|
||||||
|
echo "20" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.248.0" ]; then
|
||||||
|
echo "21" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.252.0" ]; then
|
||||||
|
echo "22" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.254.0" ]; then
|
||||||
|
echo "23" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.255.0" ]; then
|
||||||
|
echo "24" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.255.128" ]; then
|
||||||
|
echo "25" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.255.192" ]; then
|
||||||
|
echo "26" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.255.224" ]; then
|
||||||
|
echo "27" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.255.240" ]; then
|
||||||
|
echo "28" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.255.248" ]; then
|
||||||
|
echo "29" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
elif [ $netmask = "255.255.255.252" ]; then
|
||||||
|
echo "30" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
else
|
||||||
|
echo "24" > /usr/local/etc/pfdcontrol/suffix.$run
|
||||||
|
fi
|
||||||
|
}
|
||||||
1865
PFDialogControl/pfdialogcontrol-1.0.3/libpfdctl
Normal file
1865
PFDialogControl/pfdialogcontrol-1.0.3/libpfdctl
Normal file
File diff suppressed because it is too large
Load Diff
21
PFDialogControl/pfdialogcontrol-1.0.3/motd
Executable file
21
PFDialogControl/pfdialogcontrol-1.0.3/motd
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
__ ___ __
|
||||||
|
___ / \ / \ / \
|
||||||
|
/ \--- / / /
|
||||||
|
/___ // / / /
|
||||||
|
/ / /___ /IALOG/___/ONTROL Release-1.0.3
|
||||||
|
|
||||||
|
PFDialogControl by Bogdanovic Theodor. Dieser Code untersteht dem
|
||||||
|
Copyright(c) des Entwicklers. (Hierbei handelt es sich um eine Vor-
|
||||||
|
diplomarbeit fuer die Hoehere Fachschule Uster, HFU - Fachrichtung
|
||||||
|
Telekommunikation. Bei Beendigung dieser Arbeit, spaetestens
|
||||||
|
1. August 2015, wird der Code automatisch und ohne Ankuendigung in
|
||||||
|
die Standard BSD Lizenz umgewandelt)
|
||||||
|
|
||||||
|
> Fuer eine kleine Anleitung tippen Sie einfach "pfdchelp"
|
||||||
|
> Um zu PFDialogControl konfigurieren tippen Sie einfach "pfdctl"
|
||||||
|
|
||||||
|
Vergessen Sie nicht sich mittels "su" als "root" anzumelden, falls Sie
|
||||||
|
es nicht schon sind!
|
||||||
|
|
||||||
|
Viel Spass!
|
||||||
|
|
||||||
18
PFDialogControl/pfdialogcontrol-1.0.3/pf.skeleton
Executable file
18
PFDialogControl/pfdialogcontrol-1.0.3/pf.skeleton
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
### Skeleton "pf.conf" modifiziert durch PFDialogControl ###
|
||||||
|
#---NOTACT---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### NAT Regel ###
|
||||||
|
|
||||||
|
#---nat---
|
||||||
|
|
||||||
|
|
||||||
|
### RDR Regeln ###
|
||||||
|
|
||||||
|
#---REGEL---
|
||||||
|
|
||||||
|
|
||||||
|
### Block Regeln ###
|
||||||
|
|
||||||
|
#---FILTER---
|
||||||
80
PFDialogControl/pfdialogcontrol-1.0.3/pfdchelp
Executable file
80
PFDialogControl/pfdialogcontrol-1.0.3/pfdchelp
Executable file
@@ -0,0 +1,80 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# Title : PFDialogControl --> Hilfe anzeigen (pfdcthelp)
|
||||||
|
# Author : Bogdanovic Theodor {t.bogdanovic@hotmail.com}
|
||||||
|
# Date : 2015-05-05
|
||||||
|
# Requires : Shell (sh)
|
||||||
|
# Category : Dialog Menu zur Steurung von PF Firewall
|
||||||
|
#######################################################################
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
# Dieses Skript erzeugt eine kleine Hilfeausgabe in der Shell, um einen
|
||||||
|
# kleinen Ueberblick ueber PFDialogControl zu verschaffen.
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
|
echo "Wie funktioniert diese Software?
|
||||||
|
|
||||||
|
Basierend auf einem FreeBSD 10.0 - 10.1
|
||||||
|
|
||||||
|
|Inside Interface| <--> |PFDialogControl| <--> |Outside Interface|
|
||||||
|
^ ^
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
DHCP/DNS mit Autogeneration Verbindung zu Ausenwelt
|
||||||
|
|
||||||
|
(Wenn aktiv muss nichts kon-
|
||||||
|
figuriert werden. DHCP verteilt
|
||||||
|
ueber xxx.xxx.xxx.20 - xxx.xxx.xxx.250,
|
||||||
|
DNS laeft automatisch, Hostname
|
||||||
|
kann anstelle der IP verwendet werden)
|
||||||
|
|
|
||||||
|
|
|
||||||
|
|
|
||||||
|
NAT - Network Address Translation
|
||||||
|
|
||||||
|
(wenn aktiv, werden alle Verbindung
|
||||||
|
ueber |Outside Interface| geleitet.
|
||||||
|
Wenn inaktiv, laeuft PFDialogControl
|
||||||
|
im Gateway-Modus. Hierbei muss der
|
||||||
|
Rest des Netzwerks auch im GW-Modus
|
||||||
|
betrieben werden)
|
||||||
|
|
|
||||||
|
|
|
||||||
|
|
|
||||||
|
Firewall - Portweiterleitung / Verbin. sperren
|
||||||
|
|
||||||
|
(Ueber Portweiterleitung kann eine Verbin.
|
||||||
|
von aussen ins Innere zu einem im LAN laufenden
|
||||||
|
Computer aufgebaut werden.
|
||||||
|
Ueber Verbin. sperren kann ein Computer im
|
||||||
|
LAN nach aussen ueber einen Port gerpert werden.
|
||||||
|
Die Verbin. kann spezifisch auf eine IP oder
|
||||||
|
per \"any\" allgemein hin geperrt werden)
|
||||||
|
|
||||||
|
|
||||||
|
Wie konfiguriere ich diese Software?
|
||||||
|
|
||||||
|
Im grunde ist alles selbsterklaerend, doch gibt es ein paar Dinge die
|
||||||
|
beachtet werden muessen. Sie koennen ueberall mit der Konfiguration
|
||||||
|
beginnen, jedoch verhindern Sicherungen das Starten eines Dienstes
|
||||||
|
solange nicht saemtliche Punkte im Abschnitt \"Interface Einstellungen\"
|
||||||
|
gesetzt sind.
|
||||||
|
Daher wird empfohlen nach dem Top-Down verfahren im Menu zu oberst zu
|
||||||
|
beginnen und sich durch alle Punkte zu arbeiten. So sollte am Schluss
|
||||||
|
ein korrekt konfigurierter kleiner Router zur verfuehgung stehen.
|
||||||
|
Um vergessene Einstellungen muessen Sie sich nicht kuemmern, da
|
||||||
|
Sicherungen ein starten eines Dienstes im unkonfigurierten Zustand
|
||||||
|
nicht erlauben.
|
||||||
|
|
||||||
|
Ein kleiner Tipp:
|
||||||
|
DHCP/DNS und NAT sind dynamisch konfigurierbar. Wenn Sie an den
|
||||||
|
Interfaces Aenderungen im Betrieb vornehmen, so muessen Sie diese
|
||||||
|
betreffenden Dienstes lediglich neu starten. Doch die Firewall
|
||||||
|
Regelsaetze sind statisch und werden nicht mehr stimmen.
|
||||||
|
Daher gilt der Grundsatz nach einer ersten konfiguration der
|
||||||
|
Interfaces --> Zuerst denken, dann konfigurieren :)" | more
|
||||||
|
|
||||||
63
PFDialogControl/pfdialogcontrol-1.0.3/pfdctl
Executable file
63
PFDialogControl/pfdialogcontrol-1.0.3/pfdctl
Executable file
@@ -0,0 +1,63 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# Title : PFDialogControl (pfdctl)
|
||||||
|
# Author : Bogdanovic Theodor {t.bogdanovic@hotmail.com}
|
||||||
|
# Date : 2015-05-05
|
||||||
|
# Requires : dialog, Shell (sh), libpfdctl, libchkin12, libnmcalc16
|
||||||
|
# Category : Dialog Menu zur Steurung von PF Firewall
|
||||||
|
#######################################################################
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
# Dies ist das Main Menu, welches zum Start von PFDialogControl notwendig
|
||||||
|
# ist. Es stellt lediglich das Hauptmenu dar und besitzt sonst keine
|
||||||
|
# weiteren Funktionen.
|
||||||
|
# Anmerkung:
|
||||||
|
# An Profis, Hardening ist an dieser Stelle noch moeglich (Default
|
||||||
|
# FreeBSD Rechte).
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
###### Include ########################################################
|
||||||
|
. /usr/lib/libpfdctl
|
||||||
|
|
||||||
|
|
||||||
|
###### Main Menu ########################################################
|
||||||
|
|
||||||
|
# -> Ueberpruefung auf Vorhandensein des /etc/pf.con, sonst erstellen aus Skeleton
|
||||||
|
if [ ! -e /etc/pf.conf ]; then
|
||||||
|
cp /usr/local/etc/pfdcontrol/skel/pf.skeleton /etc/pf.conf
|
||||||
|
fi
|
||||||
|
# <- #
|
||||||
|
# -> dialog - Konstruktor fuer das Hauptmenu
|
||||||
|
while true; do
|
||||||
|
_hold="/usr/local/etc/pfdcontrol/tmp_mm.$$"
|
||||||
|
|
||||||
|
dialog --backtitle "PFDialogControl" --title "Hauptmenu"\
|
||||||
|
--cancel-label "ENDE" \
|
||||||
|
--menu "Willkommen im Steuermenu von PFDialogControl. Dieses Tool baut auf den Grundlagen eines FreeBSD Systems, dnsmasq und der PF Firewall auf und soll Ihnen helfen einen kleinen, schnell zu konfigurierenden Router aufzubauen. \
|
||||||
|
Sie koennen diese Software auf jedem beliebigen System (reale oder virtuelle Hardware) laufen lassen.\n\nBei PFDialogControl handelt es sich um eine Vordiplomarbeit fuer die Hoehere Fachschule \
|
||||||
|
Uster (HFU). Entwickelt von Bogdanovic Theodor. PFDialogControl untersteht der gleichen Lizenz wie FreeBSD Version 10 und 10.1, welches es als Grundlage nutzt.\n\nViel Spass!" 21 115 21\
|
||||||
|
"Interface Einstellungen" "In diesem Menu koennen Sie Netwerkkonfigurationen vornehmen" \
|
||||||
|
"DHCP/DNS Einstellungen" "Hier koennen Sie einstellen wie Ihr Netz mit IPs und Namen umgehen soll" \
|
||||||
|
"NAT Einstellungen" "Hier koennen Sie NAT (Network Address Translation) EIN/AUS schalten" \
|
||||||
|
"Firewall" "In diesem Untermenu koennen Sie Ihre Firewall steuern" \
|
||||||
|
"ENDE" "Abbruch des Programms" 2>$_hold
|
||||||
|
|
||||||
|
opt=$?
|
||||||
|
if [ $opt != 0 ]; then rm /usr/local/etc/pfdcontrol/tmp_*.*; clear; service pf onestatus; exit; fi
|
||||||
|
|
||||||
|
menuPoint=`cat $_hold`
|
||||||
|
case $menuPoint in
|
||||||
|
"Interface Einstellungen") chk_iface_network; menu_network;
|
||||||
|
;;
|
||||||
|
"DHCP/DNS Einstellungen") chk_iface_dnsmasq; menu_dnsmasq;
|
||||||
|
;;
|
||||||
|
"NAT Einstellungen") menu_nat;
|
||||||
|
;;
|
||||||
|
"Firewall") chk_iface_fw; menu_fw;
|
||||||
|
;;
|
||||||
|
"ENDE") rm /usr/local/etc/pfdcontrol/tmp_*.*; clear; service pf onestatus; exit; brake;
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
# <- #
|
||||||
69
README.txt
Normal file
69
README.txt
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
Guten Tag Experte und Betreuer,
|
||||||
|
|
||||||
|
Auf diesem Datentraeger finden Sie folgendes.
|
||||||
|
|
||||||
|
> Dokumentation
|
||||||
|
|
|
||||||
|
|-> Docx => Dokumentation im .dockx Format
|
||||||
|
|-> Pdf => Dokumentation im .pdf Format
|
||||||
|
|
||||||
|
> Formaelles
|
||||||
|
|
|
||||||
|
|-> Auftrag
|
||||||
|
|-> Aufgabenstellung
|
||||||
|
|-> Betreuungssitzungen
|
||||||
|
|
||||||
|
> Gantt_project
|
||||||
|
|
|
||||||
|
|-> Gantt_1 => in den Formaten JPEG, PDF, HTML und Original .gan (Software siehe weiter unten)
|
||||||
|
|-> Gantt_2 => in den Formaten JPEG, PDF, HTML und Original .gan (Software siehe weiter unten)
|
||||||
|
|-> Gantt_3 => in den Formaten JPEG, PDF, HTML und Original .gan (Software siehe weiter unten)
|
||||||
|
|
||||||
|
> PFDialogControl
|
||||||
|
|
|
||||||
|
|-> pfdialogcontrol-1.0.3 => fertig entpackt und nach dem Kopieren bereit zu installieren mittels ./install
|
||||||
|
|-> pfdialogcontrol-1.0.3-ZIP => ein mittels gnuzip (gz) erstelltes TAR-Archiv, welches den selben Inhalt wie das enpackte File oben hat
|
||||||
|
|
||||||
|
> Software (fuer Sie, falls noetig)
|
||||||
|
|
|
||||||
|
|-> Java
|
||||||
|
| |
|
||||||
|
| |-> Editor
|
||||||
|
| |
|
||||||
|
| |-> jedit.jar
|
||||||
|
|
|
||||||
|
|-> Linux
|
||||||
|
| |
|
||||||
|
| |-> Editor
|
||||||
|
| | |
|
||||||
|
| | |-> README.txt
|
||||||
|
| |
|
||||||
|
| |->Projektplan_Gantt
|
||||||
|
| |
|
||||||
|
| |-> ganttproject_2.7.deb
|
||||||
|
|
|
||||||
|
|-> MacOS
|
||||||
|
| |
|
||||||
|
| |-> Editor
|
||||||
|
| | |
|
||||||
|
| | |-> jedit5.2.dmg
|
||||||
|
| |
|
||||||
|
| |-> Projekt_Gantt
|
||||||
|
| |
|
||||||
|
| |-> ganttproject-2.7.dmg
|
||||||
|
|
|
||||||
|
|-> Windows
|
||||||
|
|
|
||||||
|
|-> Editor
|
||||||
|
| |
|
||||||
|
| |-> jedit5.2.0install.exe
|
||||||
|
|
|
||||||
|
|-> Projekt_Gantt
|
||||||
|
| |
|
||||||
|
| |-> ganttproject-2.7.exe
|
||||||
|
|
|
||||||
|
|-> Putty
|
||||||
|
|
|
||||||
|
|-> putty.exe
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user