Netcat funktioniert nicht auf einem Linux-Server mit VPN

Netcat funktioniert nicht auf einem Linux-Server mit VPN

Aufgrund unserer abgelegenen Lage und Budgetbeschränkungen ist meine Internetverbindung auf Mobilfunk 3G/EDGE beschränkt. Der Dienstanbieter hat keine Möglichkeit, mir eine öffentliche IP-Adresse zuzuweisen, daher haben wir es geschafft, dies zu umgehen, indem wir meinen Linux-Server über ein VPN mit einem Tunnel zu einer dedizierten IP-Adresse laufen lassen. Eine zusätzliche (vorübergehende) Komplikation ist, dass es sich um eine virtuelle Maschine, VMWare, handelt, die bald durch eine physische Maschine ersetzt wird.

Derzeit betreibe ich erfolgreich einige GPS-Tracker auf diesem Server. Sie können über die öffentliche IP über tun0, den vom VPN eingerichteten Tunnel, auf den Server zugreifen. Ich kann auch über das Internet auf einige andere IP-Geräte in meinem lokalen Netzwerk zugreifen, die Einrichtung funktioniert also.

Ich muss einen TCP-Socket einrichten, um Daten von einem anderen Gerät abzurufen. Ich führe es aus $ ncat -l -k -p 8993und $ netstat -les zeigt an, dass es tatsächlich auf diesem Port lauscht.

tcp        0      0 *:8993                  *:*                     LISTEN
tcp6       0      0 [::]:8993               [::]:*                  LISTEN

Das Ergebnis ist, dass ich mich mit Telnet mit diesem Socket verbinden kann, wenn ich über seinen lokalen Adapter eth0 aus meinem lokalen Netzwerk (192.168.0.113) auf den Server zugreife, aber ich kann mich nicht mit der öffentlichen IP (tun0) verbinden. canyouseeme.org zeigt auch an, dass dieser Port geschlossen ist. Ich habe die folgende Zeile in iptables:

iptables -A FORWARD -i tun0 -o eth0 -p tcp --syn --dport 8993 -m conntrack --ctstate NEW -j ACCEPT

Ich habe auch die folgenden Zeilen eingegeben, um zu sehen, ob es zur Lösung beiträgt, aber bisher ohne Erfolg.

iptables -A FORWARD -i tun0 -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Ich weiß, dass ich hier etwas Kleines übersehe, da meine anderen Geräte problemlos von der öffentlichen Seite auf den Server zugreifen. Für jede Hilfe wäre ich sehr dankbar.

Das $ ifconfigzeigt sich:

eth0      Link encap:Ethernet  HWaddr 00:0c:29:45:c6:83
      inet addr:192.168.0.113  Bcast:192.168.0.255  Mask:255.255.255.0
      inet6 addr: fe80::20c:29ff:fe45:c683/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:11019 errors:0 dropped:0 overruns:0 frame:0
      TX packets:6309 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:5882474 (5.6 MiB)  TX bytes:1197497 (1.1 MiB)

lo        Link encap:Local Loopback
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:120 errors:0 dropped:0 overruns:0 frame:0
      TX packets:120 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:8069 (7.8 KiB)  TX bytes:8069 (7.8 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
      inet addr:10.212.0.6  P-t-P:10.212.0.5  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:4206 errors:0 dropped:0 overruns:0 frame:0
      TX packets:3948 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:100
      RX bytes:3528488 (3.3 MiB)  TX bytes:392464 (383.2 KiB)

verwandte Informationen