PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : masquerade



native
21.04.03, 08:07
hi, ich bin extrem neu in Linux und noch keinen schimmer, aber folgende frage:

ich möchte gernen einen Linux server als gateway verwenden; ich habe gelesen, dass ich nun irgendwas mit masquerade machen muss, damit anfragen von PCs am netzwerk weitergeleitet werden.
kann mir bitte jemand erklären, wie genau das funktioniert? ich habe Redhat 8.0.

vielen dank!
-native.

leon
21.04.03, 08:23
Dazu musst Du Dir ein iptables Skript schreiben. iptables ist ein Programm was dem Kernel Filterregeln für TCP/IP übergibt. Also eine Firewall.

Schau mal, ich glaube RedHat hat da schon in der Konfiguration so eine Einstellung für Firewall.

Das hier ist ein Beispiel für ein iptables Skript.

ACHTUNG hier wird nur weitergeroutet und mittels Masquerading gemacht. Keine Firewall. Es steht alles offen


!!!Bitte anpassen!!!

-------------------------------------------
#
IPTABLES=/usr/sbin/iptables
NET_LOC="192.168.1.0/24"
BCAST_LOC="192.168.1.255"
IF_LOC=eth0
IF_EXT=ppp0

modprobe ipt_TCPMSS
modprobe ipt_MASQUERADE

# IP-Forwarding aktivieren
echo "1" > /proc/sys/net/ipv4/ip_forward
# wenn dynamische Adresszuweisung durch den ISP, aktivieren
echo "1" > /proc/sys/net/ipv4/ip_dynaddr


# Zuruecksetzen aller Regeln
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -Z

# Defaultregeln setzen
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT

# Zum Schluss noch das Routing
#
# Daher ist es meist einfacher und effizienter, die aus dem lokalen LAN ankommenden Pakete auf
# dem Router zu zerschneiden und mit der korrekten Größe neu wieder zusammenzusetzen (MSSClamping).
$IPTABLES -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
$IPTABLES -t nat -A POSTROUTING -o $IF_EXT -j MASQUERADE
#
$IPTABLES -A FORWARD -i $IF_LOC -o $IF_EXT -m state --state ESTABLISHED,NEW,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $IF_EXT -o $IF_LOC -m state --state ESTABLISHED,RELATED -j ACCEPT

-------------------------------------------------------------------


Gruss Leon

native
21.04.03, 08:37
hi, danke soweit! könntest du mir bitte noch sagen, wo und wie genau ich dieses skript einbinde? wie gesagt, bin einfach ein anfänger. vielen dank für deine hilfe!

-native.

leon
21.04.03, 08:46
Also erstmal solltest Du bitte nachschauen ob Deine Distrie nicht doch in der Konfiguration von Netzwerk eine Einstellung dafür hat.

Ansonsten musst Du eine Datei anlegen, die Zeilen dort hienein kopieren und diese Datei dann für das System ausfürhbar machen.
LEGE die Datei als root an, niemand ausser root darf sie ausführen dürfen. Deshalb auch die 700


chmod 700 Dateiname




Dann kannst Du sie mit ./Dateiname aufrufen



Leon

native
21.04.03, 08:48
und wie stelle ich es an, dass die datei autmatisch ausgeführt wird? bzw wo schaue ich nach, ob meine distribution eine einstellung dafür hat?

thx.

leon
21.04.03, 09:34
Deine Distrie hat doch bestimmt eine Art Konrtollcenter, etwas wo Du alle Einstellungen machen kannst. Netzwerk, und so. Da muss soetwas sein.

Wie oft willst Du denn den Router starten, soll er immer laufen oder nur am Tag? Am besten Du Kopierst das Skript nach /usr/bin. Dann kasst Du , als root einfach den Namen des Skriptes inder Konsole aufrufen wie ein Programm.

Hänge am Ende des Skriptes noch das hier ran

$IPTABLES -L


Dann listet er DSir alle Regeln noch einmal auf und Du weisst das es geklappt hat.


Soll die Datei automatisch ausgeführt werden musst Du es in die Startdatei für Dein Internetzugang reinpacken, das wird aber schwierig Die zu erklären. Das Skript funzt auch nur wenn Du eine Verbindung zum Internet hast. Da vorher das Device ppp0 noch nicht exiztiert.



Gruss Leon