#!/bin/sh # # firewall-outside.sh flush(){ iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP iptables -F iptables -F -t nat iptables -X iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT } local(){ ### Dieser Firewall Updates erlauben iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ### Login auf diese Firewall nur von innen zulassen iptables -A INPUT -i eth1 -p tcp --dport 22 --sport 1024:65535 -s 10.20.30.3 -j ACCEPT iptables -A OUTPUT -o eth1 -m state --state ESTABLISHED -j ACCEPT } flush local ### NAT-Router echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.2.222 ### Pakete aus dem Intranet durchleiten ### (Momentan wird nur Port 80 von der inneren Firewall auf Squid umgelenkt!) iptables -A FORWARD -s 10.20.30.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A FORWARD -d 10.20.30.0/24 -m state --state ESTABLISHED -j ACCEPT ### Weiterleitungen auf Server in der DMZ # Typischste Anwendung: Webserver iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ACCEPT iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.20.30.3 # Nur temporär für unser Testbed iptables -A FORWARD -i eth0 -p tcp --dport 22 -j ACCEPT iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-destination 10.20.30.3 # Für OpenVPN iptables -A FORWARD -i eth0 -p udp --dport 1194 -j ACCEPT iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1194 -j DNAT --to-destination 10.20.30.5