
Ich habe einen Debian-Server (mit öffentlicher IP) und Raspberry-PI zu Hause mit ADSL-Verbindung. Ich betreibe einen Webserver auf RP, der von außen zugänglich sein soll.
Ich habe PPTP eingerichtet und mein RP stellt eine Verbindung zu meinem Server her. Die IP des RP ist 10.0.0.100; die IP des Gateways ist 10.0.0.1.
Ich habe die Portweiterleitung mit IP-Tabellen auf dem Server wie folgt eingerichtet: (xx.xx.xx.xx ist meine öffentliche IP).
iptables -t nat -A PREROUTING -d xx.xx.xx.xx -p tcp --dport 80 -j DNAT --to-dest 10.0.0.100:80
iptables -t nat -A POSTROUTING -d 10.0.0.100 -p tcp --dport 80 -j SNAT --to-source 10.0.0.1
Ich habe auch net.ipv4.ip_forward = 1 gesetzt
Der Port 80 ist sowohl auf dem Server als auch auf RP geöffnet.
Aber aus einem seltsamen Grund kann ich keine Verbindung zu RP herstellen.
Wenn ich curl vom Server aus folgendermaßen ausführe: curl -Ihttp://10.null.null.100/Ich habe eine positive Antwort erhalten. Die Verbindung zwischen Server und RP funktioniert also. Aber wenn ich das Curl-Formular außerhalb wie folgt ausführe: curl -Ihttp://xx.xx.xx.xx/Ich habe curl: (7) Verbindung zu xx.xx.xx.xx Port 80 konnte nicht hergestellt werden: Verbindung abgelehnt
Was mache ich falsch?
Die Routing-Tabelle auf RP sieht folgendermaßen aus:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
und ifconfig von RP zeigt dies:
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.0.0.100 P-t-P:10.0.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1496 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:678 (678.0 B) TX bytes:7058 (6.8 KiB)