#!/bin/sh
#
# dialupfw.sh - iptables firewall pro dial-up
#
# sestavil Miroslav Petricek <mirek@petricek.cz>
# http://www.petricek.cz/mpfw
#
# pripominky vitany !
#
# 18.2.2002 - prvni verze
# 22.4.2002 - ponechano jen ICMP echo-request
#
# $Platon: $
# Cesta k programu iptables
IPTABLES="/sbin/iptables"
/etc/rc.d/init.d/iptables stop
# Inicializace databaze modulu
/sbin/depmod -a
# Některé moduly pro nestandardní cíle
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE
# Modul dulezity pro fungovani FTP
/sbin/modprobe ip_conntrack_ftp
# Nejsme router
#echo "0" > /proc/sys/net/ipv4/ip_forward
# Mame dynamickou ip adresu
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
# Implicitni politika - zahazovat vsechno prichozi,
# a nijak neomezovat odchozi provoz
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
#
# MASQ
#
# IP maškaráda - SNAT
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
# Routing zevnitř sítě ven neomezujeme
#$IPTABLES -A FORWARD -i eth0 -j ACCEPT
# U vystupnich paketu nastavujeme TOS flagy pro zajimave protokoly
$IPTABLES -t mangle -A OUTPUT -p tcp --dport ssh -j TOS \
--set-tos Minimize-Delay
$IPTABLES -t mangle -A OUTPUT -p tcp --dport ftp -j TOS \
--set-tos Minimize-Delay
$IPTABLES -t mangle -A OUTPUT -p tcp --dport telnet -j TOS \
--set-tos Minimize-Delay
$IPTABLES -t mangle -A OUTPUT -p tcp --dport ftp-data -j TOS \
--set-tos Maximize-Throughput
# Povolime loopback...
$IPTABLES -A INPUT -i lo -j ACCEPT
# ... a sitovou kartou se obcas pripojuji k notebooku
$IPTABLES -A INPUT -i eth0 -j ACCEPT
# ... a navazana spojeni
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# ... uzitecne ICMP pakety
$IPTABLES -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT
# nektere sluzby se nechovaji spravne pokud budeme 113 dropovat
$IPTABLES -A INPUT -p TCP --dport 113 -j REJECT --reject-with tcp-reset
# vsechno ostatni logujeme
$IPTABLES -A INPUT -j LOG --log-level DEBUG --log-prefix "INPUT DROP: "
Platon Group <platon@platon.sk> http://platon.sk/
|