通过VPN的TCP服务器公开

时间:2019-05-13 15:15:33

标签: python macos flask tcp openvpn

我有一个通过VPN公开TCP服务的问题。我正在MacOS下通过Tunnelblick应用程序使用OpenVPN。

ifconfig 为我的VPN网络接口提供以下输出:

$ifconfig tun0
tun0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet A.B.C.D --> A.B.C.D+1 netmask 0xffffffff
    open (pid 46308)

如果我运行任何服务,请在Python Flask端点之后说(也测试了Netcat或Socat侦听,但遇到了相同的问题):

from flask import Flask
f = Flask('test')
@f.route('/'):
def ping():
    return 'it works\n'
f.run(host='A.B.C.D')

我假设底层创建的套接字/ TCP连接将绑定到 tun0 接口,因为使用的绑定IP地址是属于此网络接口的IP地址。

任何尝试访问此Web服务的尝试都会导致超时:本地或来自连接到同一VPN的另一台计算机。

$ ping A.B.C.D
   -> OK
$ curl A.B.C.D:5000
   -> Request timeout

我对正在发生的事情一无所知,怀疑是MacOS的有害行为,但是来自属于同一VPN的Linux机器的相同测试也会导致相同的问题。

谢谢。

0 个答案:

没有答案