Mal mein Firewall-Skript erweitert:
Code
################################
# Firewall/Routing Script #
# Author Tobias Koehler #
# Mail: tk1908@gmail.com #
# Version 1.0 #
################################
#!/bin/bash
SOURCE="wlan0"
TARGET="eth0"
case "$1" in
start) echo Firewall wird gestartet.
# Erstmal die alten Regeln rauswerfen
iptables -F
iptables -X
# ...und Forwarding aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward
# Routing/NAT
iptables -t nat -A POSTROUTING -o $TARGET -d 0.0.0.0/0 -j MASQUERADE
# Antworten Auf Paketanfragen erlauben (Kann man prima am State nachschauen)
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Eingehende Pings erlauben
iptables -A INPUT -p icmp -j ACCEPT
# Auf Loopback darf alles rein und raus
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Auf dem Quellinterface ist alles erlaubt
iptables -A INPUT -i $SOURCE -j ACCEPT
iptables -A OUTPUT -o $SOURCE -j ACCEPT
# Auf dem Zielinterface ist auch alles erlaubt
iptables -A INPUT -i $TARGET -j ACCEPT
iptables -A OUTPUT -o $TARGET -j ACCEPT
;;
stop) iptables -F
iptables -X
iptables -t nat -F
echo 0 > /proc/sys/net/ipv4/ip_forward
echo Firewall wird gestoppt...
;;
restart) echo Firewall wird gestoppt...
iptables -F
iptables -X
echo 0 > /proc/sys/net/ipv4/ip_forward
echo Firewall wird gestartet.
iptables -F
iptables -X
# ...und Forwarding aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward
# Routing/NAT
iptables -t nat -A POSTROUTING -o $TARGET -d 0.0.0.0/0 -j MASQUERADE
# Antworten Auf Paketanfragen erlauben (Kann man prima am State nachschauen)
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Eingehende Pings erlauben
iptables -A INPUT -p icmp -j ACCEPT
# Auf Loopback darf alles rein und raus
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Auf dem Quellinterface ist alles erlaubt
iptables -A INPUT -i $SOURCE -j ACCEPT
iptables -A OUTPUT -o $SOURCE -j ACCEPT
# Auf dem Zielinterface ist auch alles erlaubt
iptables -A INPUT -i $TARGET -j ACCEPT
iptables -A OUTPUT -o $TARGET -j ACCEPT
;;
status) iptables -L
;;
*) echo "Usage: /etc/init.d/firewall.sh {start|stop|restart|status}"
;;
Alles anzeigen