2. Wie funktioniert IP-Masquerading?
I======================I I==============I
I IP-Masquerade Router I I lokales Netz I
Internetzugang-I Linux I----I 192.168.1.0 I
I 134.109.132.51 (Bsp) I I I
I======================I I==============I
Alle Anfragen des lokalen Netzes werden an den IP-Masquerade Route
weitergeleitet. Dieser kann die Anfragen aber nicht ins Internet leiten,
da das lokale Netz nichtweltweit geroutet wird. Es muss als
Absenderadresse also eine gueltige Adresse angegeben werden.
Lösung: Der Router traegt im Paket als Absender seine Adresse
ein (IP-Masquerading). Da aber mehrere Verbindungen moeglich sein
muessen, wird beim Router eine Verbindungsliste aufgebaut. Den
Portnummern ab 60000 wird eine neue (virtuelle) Verbindung zugewiesen und
bei der Absenderadresse wird diese Portnummer mit angegeben. Der Router
kann nun von aussen ankommende Pakete dem wirklichen Absender wieder
korrekt zustellen.
Empfangenes IP Paket Gesendetes IP Paket
I=================================================================I
I Protocol Protocol I
I=================================================================I
I Header CRC Header CRC I
I=================================================================I
I--I Quelladdresse (192.168.1.1) Quelladresse (134.109.132.51) I<-I
I I=================================================================I I
I--I Quellport (23) Quellport (60002) I<-I
I I=================================================================I I
I I Zieladdresse ================== Zieladdresse I I
I I=================================================================I I
I I Zielport ====================== Zielport I I
I I=================================================================I I
I I I
Verbindungsliste: I I
I VVV I
I I========================================I I
I I Zieladresse, Zielport I I
I I========================================I I
I->I Quelladdresse, Quellport I I
I========================================I I
I Masquerade-Addresse, Masquerade-Port I---------------------------I
I========================================I
5. Einrichten v. IP-Masquerading auf einem Linux-System
Voraussetzung fuer IP-Masquerading ist ein Kernel ab 1.99.5. Es
existieren zwar schon Patches fuer 1.2.13, aber die beherrschen noch kein
Application Masquerading.
Folgende Optionen muessen beim kompilieren des Kernels angegeben werden:
- Prompt for development and/or incomplete code/drivers
- Networking support
- Network firewalls
- TCP/IP Networking
- IP: forwarding/gatewaying
- IP: masquerading
- IP: firewalling
- fuer Application Masquerading: Enable Loadable Module Support
Der Firewall muss nun noch konfiguriert werden. Dazu gibt es ipfwadm
ipfwadm -F -f
ipfwadm -O -f
Alle forwarding und Output Regeln loeschen (flush)
ipfwadm -F -i masquerade -S 192.168.1.0/255.255.255.0 -D 0.0.0.0/0
Alle Pakete vom lokalen Netz maskieren
ipfwadm -F -i deny -S 0.0.0.0/0 -D 0.0.0.0/0
Alle anderen Pakete werden nicht weitergeleitet
ipfwadm -O -i deny -S 192.168.1.0/255.255.255.0 -D 0.0.0.0/0
Keine Pakete vom lokalen Netz ins Internet
ipfwadm -O -i accept -S 192.168.1.0/255.255.255.0 -D 192.168.1.0/255.255.255.0
Pakete, die Sender und Ziel innerhalb des lokalen Netzes haben,
werden weitergeleitet. SOnst waeren z.B. keine Verbindungen zw. Client
und Router moeglich.
insmod ip_masq_ftp
FTP Applicationmasquerading laden.