Connection tracking mit Cisco IOS

Heute stand ich vor dem Problem, eine Regel für meinen Cisco 836 Router zu definieren, welche jeglichen Verkehr aus dem Internet blockt, es sei denn, er ist von innen assoziiert worden. In iptables Terminologie wären das related bzw. established Pakete. IOS besitzt auch eine Tabelle für Connection tracking, die muss nur explizit angewiesen werden, sich zu füllen.

Wir gehen davon aus, unser DSL-Interface ist Dialer1:

Wir weisen mit folgenden zwei Zeilen IOS an, für tcp und udp-Verbindungen sich die Verbindung zu „merken“.

ip inspect name CONNTRACK tcp
ip inspect name CONNTRACK udp

Nun definieren wir, für welches Interface das greifen soll:

en
conf t
Interface Dialer1
ip inspect CONNTRACK out

Nun werden alle Pakete, welche von innen über das Interface Dialer1 nach draussen gehen (out) registriert. Die Antwortpakete sind nun automatisch erlaubt. Ich betreib folgende ACL’s für das Dialer1 interface:

access-list 111 permit icmp any any administratively-prohibited
access-list 111 permit icmp any any echo
access-list 111 permit icmp any any echo-reply
access-list 111 permit icmp any any packet-too-big
access-list 111 permit icmp any any time-exceeded
access-list 111 permit icmp any any unreachable
access-list 111 permit icmp any any traceroute
access-list 111 deny ip any any

Danke an Peter Allgeyer für die Infos zu IOS.