#!/bin/sh ####################################################################### # Skript pro konfiguraci firewallu pro stroj: fw.fxsystem.cz # Datum vytvoreni: 2009/05/09 # Programoval: Petr Dvoracek, dvoracek@jaromer.net ####################################################################### ####################################################################### # Popis tohoto skriptu # 1) Smaz veskera aktualni pravidla # 2) Zakaz veskerou komunikaci na WAN+LAN # 3) Pridej podporu pro pocitadla v IPFW # 4) Povol sluzby, ktere maji byt dostupne z internetu # 5) Povol pristup z LAN do internetu - pouze pro uvedene IP ####################################################################### ####################################################################### # Nastaveni rozhrani v nasem systemu: WAN + LAN # WAN0 = rozhrani, ktere je pripojeno do internetu # LAN0 = rozhrani, ktere je pripojeno do vnitrni site ####################################################################### WAN0="fxp0" LAN0="fxp1" ####################################################################### # Nastaveni cest k programum ####################################################################### ipfw='/sbin/ipfw' ####################################################################### # Nastaveni portu sluzeb, ktere budeme poskytovat celemu svetu ####################################################################### SSH="22" ICMP="0,3,4,5,8,9,10,11,12,13,14,15,16,17,18" HTTP="80" HTTPs="443" OPENVPNudp="1194" ####################################################################### # Uzivatele a jejich IP adresy, ktere budou mit pristup k internetu ####################################################################### DVORACEK_PETR="192.168.1.10" IPHONE3G_PETR="192.168.1.11" DVORACKOVA_LIDA="192.168.1.20" IPHONE3G_LIDA="192.168.1.21" WIN2003SERVER="192.168.1.100" ####################################################################### # Smazani veskerych aktualnich pravidel ####################################################################### $ipfw -q -f flush ####################################################################### # Zakazani veskere komunikace na WAN+LAN ####################################################################### $ipfw add deny all from any to any in via $WAN0 $ipfw add deny all from any to any out via $WAN0 $ipfw add deny all from any to any in via $LAN0 $ipfw add deny all from any to any out via $LAN0 ####################################################################### # Pridani podpory pocitadla v IPFW ####################################################################### $ipfw add check-state ####################################################################### # Povoleni pristupu ke sluzbam, ktere bezi na WAN0 a jsou tedy verejne # dostupne pro okolni svet (ssh=22, http=80, https=443, icmp=*) ####################################################################### $ipfw add allow tcp from any to me $SSH in via $WAN0 setup keep-state $ipfw add allow tcp from any to me $SSH out via $WAN0 setup keep-state $ipfw add allow tcp from any to me $ICMP in via $WAN0 setup keep-state $ipfw add allow tcp from any to me $ICMP out via $WAN0 setup keep-state $ipfw add allow tcp from any to me $HTTP in via $WAN0 setup keep-state $ipfw add allow tcp from any to me $HTTP out via $WAN0 setup keep-state $ipfw add allow tcp from any to me $HTTPs in via $WAN0 setup keep-state $ipfw add allow tcp from any to me $HTTPs out via $WAN0 setup keep-state $ipfw add allow udp from any to me $OPENVPNudp in via $WAN0 setup keep-state $ipfw add allow udp from any to me $OPENVPNudp out via $WAN0 setup keep-state ####################################################################### # Povoleni pristupu z LAN do internetu ####################################################################### $ipfw add allow ip from $DVORACEK_PETR to any in via fxp1 keep-state $ipfw add allow ip from $DVORACEK_PETR to any out via fxp1 keep-state $ipfw add allow ip from $IPHONE3G_PETR to any in via fxp1 keep-state $ipfw add allow ip from $IPHONE3G_PETR to any out via fxp1 keep-state $ipfw add allow ip from $DVORACKOVA_LIDA to any in via fxp1 keep-state $ipfw add allow ip from $DVORACKOVA_LIDA to any out via fxp1 keep-state $ipfw add allow ip from $IPHONE3G_LIDA to any in via fxp1 keep-state $ipfw add allow ip from $IPHONE3G_LIDA to any out via fxp1 keep-state $ipfw add allow ip from $WIN2003SERVER to any in via fxp1 keep-state $ipfw add allow ip from $WIN2003SERVER to any out via fxp1 keep-state $ipfw add divert natd ip from any to any out via $WAN0 $ipfw add deny log ip from any to any