Netcat не работает на сервере Linux с VPN

Netcat не работает на сервере Linux с VPN

Из-за нашего очень удаленного местоположения и бюджетных ограничений мое интернет-соединение ограничено сотовой связью 3G / EDGE. У поставщика услуг нет возможности предоставить мне публичный IP, поэтому нам удалось обойти это, запустив мой сервер Linux через VPN с туннелем к выделенному IP. Дополнительной (временной) сложностью является то, что это виртуальная машина VMWare, которая вскоре будет заменена физической машиной.

В настоящее время я успешно запускаю пару GPS-трекеров на этом сервере, они могут получить доступ к серверу через публичный IP через tun0, туннель, установленный VPN. Я также могу получить доступ к паре других IP-устройств, расположенных в моей локальной сети, из Интернета, так что настройка работает.

Мне нужно настроить TCP-сокет, чтобы захватить данные, поступающие с другого устройства. Я запускаю $ ncat -l -k -p 8993и $ netstat -lвижу, что он действительно прослушивает этот порт.

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

В результате я могу подключиться к этому сокету с помощью telnet, когда я получаю доступ к серверу через его локальный адаптер eth0 из моей локальной сети (192.168.0.113), но я не могу подключиться к нему, используя публичный IP (tun0). canyouseeme.org также показывает, что этот порт закрыт. У меня есть следующая строка в iptables:

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

Я также добавил следующие строки, чтобы посмотреть, поможет ли это решить что-нибудь, но пока безрезультатно.

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

Я знаю, что я упускаю что-то маленькое, так как мои другие устройства получают доступ к серверу с публичной стороны без проблем. Любая помощь будет высоко оценена.

Вот что $ ifconfigпоказывает:

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)

Связанный контент