Created
October 26, 2017 22:05
-
-
Save Ge-lx/adb25e5667e93e44b3788c6addf10bb1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
#Hier werden einige Variablen definiert, um Änderungen leichter zu ermöglichen | |
IPTABLES="iptables" | |
INET_IFACE="eth0" | |
LAN_IFACE="wlan0" | |
LO_IFACE="lo" | |
LAN_IP="192.168.0.1" | |
LO_IP="127.0.0.1" | |
#Forwarding im Kernel aktivieren | |
echo "1" > /proc/sys/net/ipv4/ip_forward | |
#Default-Policies einstellen | |
$IPTABLES -P INPUT DROP | |
$IPTABLES -P OUTPUT ACCEPT | |
$IPTABLES -P FORWARD DROP | |
#Local_input enthält portfreigaben aus LAN_IFACE | |
$IPTABLES -N local_input | |
#----PREROUTING---- | |
#----INPUT---- | |
#Pakete schon bestehender Verbindungen können akzeptiert werden | |
$IPTABLES -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT | |
#Pakete vom Rechner selbst können akzeptiert werden (loopback). | |
$IPTABLES -A INPUT -i $LO_IFACE -j ACCEPT | |
#SSH- und Kontrollsoftware-Verbindungen vom LAN-Anschluss (eth0) können akzeptiert werden. | |
#DHCP, HTTP, SSH und Kontrollsoftware aus (W-)LAN können akzeptiert werden. | |
$IPTABLES -A INPUT -i $LAN_IFACE -j local_input | |
$IPTABLES -A local_input -p UDP --dport 67 --sport 68 -j ACCEPT #DHCP | |
$IPTABLES -A local_input -p TCP -d $LAN_IP --dport 80 -j ACCEPT #HTTP | |
$IPTABLES -A local_input -p TCP -d $LAN_IP --dport 22 -j ACCEPT #SSH | |
#$IPTABLES -A local_input -p TCP -d $LAN_IP --dport 12345 -j ACCEPT #Kontrollsoftware | |
#------------------------------------------------Weitere Freischaltungen hier ---------------------------------------------------------- | |
#----FORWARD---- | |
#Pakete schon bestehender Verbindungen können weitergeleitet werden. | |
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT | |
#Neue Pakete aus den lokalen Netzwerk können weitergeleitet werden. | |
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT | |
#Alle übringen Pakete (bspw. neue Pakete aus dem Internet) werden nicht zugalassen. -> Default-Policy | |
#----POSTROUTING---- | |
#Network Address Translation zum Internet | |
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment