Lokale Kommunikation
Für die IP-basierte Kommunikation zwischen verschiedenen Programmen auf dem gleichen Computer gibt es ein besonderes Netzwerk-Interface namens Loopback oder kurz lo. Dieses ist für viele Anwendungen essentiell, stellt umgekehrt aber kein Sicherheitsrisiko dar, weil es nur für die lokale Kommunikation benutzt werden kann. Deshalb erlaubt man üblicherweise jeden beliebigen Datenaustausch über dieses Pseudo-Interface:
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
Die Optionen -i beziehungsweise -o schränken die Regeln auf Pakete ein, die über das angegebene Netzwerk-Interface empfangen ("input") oder versendet ("output") werden.
Eigene Server
Manche Leute betreiben auf ihrem Linux-Rechner einen oder mehrere Server, die über das Internet zugänglich sein sollen. Hierfür benötigt man natürlich eigene Firewall-Regeln, und zwar sowohl für ankommende als auch für abgehende Pakete. Wollen Sie auf Ihren Computer von außen per HTTP (Port 80) und SSH (Port 22) zugreifen, so erlauben Sie dies folgendermaßen:
iptables -A INPUT -p tcp -s 172.16.45.0/24 --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
Für jeden Server verwenden wir zwei Regeln: Eine für ankommende (-A INPUT) und eine für abgehende Pakete (-A OUTPUT). Wie Sie sehen, schränke ich den SSH-Zugriff etwas ein: Nur Computer mit einer IP-Adresse zwischen 172.16.45.0 und 172.16.45.255 dürfen SSH-Verbindungen aufbauen.