Hallo,
ich google jetzt seit Stunden, und komme einfach nicht weiter.
Ich habe hier eine Maschine mit zwei Netzwerkkarten:
ETH0 = 146.254.199.130
ETH1 = 192.168.10.1
An ETH1 ist ein DHCP-Server. Der Client, der dort angeschlossen ist, hat die IP 192.168.10.130
Ich habe ein kleines Script geschrieben, was folgendes macht:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
Damit wird die Kiste ein Router für mein 192er Netz.
Jetzt läuft auf der Kiste mit der IP 192.168.10.130 ein Webserver auf Port 6666. Dieser Webserver soll von extern erreichb ar sein.
Wie muss ich die IP-TABLES Regeln aktualisieren???
Ich probiere jetzt seit Stunden rum, das Port-Forwarding haut nicht hin.
DAs ist doch eine Funktion, die jeder 30,- € Billig Router kann.
Kennt jemand den IP-Tables Befehl, damit Pakete, die an meinen Router eintreffen auf Port 6666, an das interne Netzwerk weitergegeben werden???
Das Betriebssystem ist Fedora Core4.
Welche Regel versuchst du denn zu implementieren?
Bei mir klappt das mit
# Portforwarding für ICQ-Direkt-Connections
$IPTABLES -t nat -A PREROUTING -i $EXT_IF -p tcp –dport 24500:24505
-j DNAT –to-destination $HOST1
ganz gut.
(Klar anderer Dienst und andere Ports, aber die Logik müsste dieselbe sein.)
Hallo!
Also ich nutze HomeLanSecurity als Firewallscript[1]. Da wird das beim Forward so gemacht:
$IPT -t nat -A PREROUTING -p tcp -i $WANIFACE \
–dport 80 -j DNAT –to $HTTP:80
$IPT -A FORWARD -p tcp -i $WANIFACE -d $HTTP –dport 80 -j ACCEPT
wobei bei Dir wohl sowas wie:
IPT=/sbin/iptables
WANIFACE=eth0
HTTP=192.168.10.130
noetig waere.
Viel Erfolg (oder lade Dir das homeLanSecurity-Script runter und benutze das).
So, ich habe es nun geschafft. Das Skript sieht so aus:
PATH=/bin:/usr/bin:/sbin:/usr/sbin
echo Enable Port Forwarding
EXTERNAL_INTERFACE=eth0
LAN_INTERFACE=eth1
INT_ENTERPRISE_SERVER=192.168.0.130
echo Alle Regeln loeschen
iptables -F
echo Alle Verbindungen zu bekannten Verbindungen annehmen
iptables -A block -m state –state ESTABLISHED,RELATED -j ACCEPT
echo Neue Verbindungen aus dem LAN annehmen
iptables -A block -m state –state NEW -i eth1 -j ACCEPT
echo Destination NAT fuer Webserver aktivieren
iptables -A PREROUTING -t nat -p tcp –dport 6666 -i eth0 -j DNAT –to-destination 192.168.0.130
echo Anfrage von aussen zulassen
iptables -A FORWARD -p tcp -d 192.168.0.130 –dport 6666 -i eth0 -o eth1 -j ACCEPT
echo Enable NAT
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
echo Enable IP-Forward
echo 1 > /proc/sys/net/ipv4/ip_forward
Getestet, und läuft.
Nein, beim Webserver kommt nichts an.
Ich habe das ganze so eingegeben:
iptables -F
iptables -t nat -A POSTROUTING -o eth0 -j MASUQERADE
iptables -t nat -I PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 192.168.0.130
Irgend etwas falsch?