openvpn客户端阻止http服务器将网页提供给WAN

起初我以为这是一个错误的IPTABLES,但事实并非如此。 请注意,这不是局域网请求的问题,只有广域网。

我暂时停用所有iptables链,除了logging所有入站和出站。 iptables日志传入的请求正在进入,但没有响应出去。 我已经尝试了我想要的端口80,但也有一些较高的端口。

一旦closuresopenvpn客户端,侦听端口80(nginx)的networking服务器就能够将网页提供给我局域网外部的所有IP。

我在机器上找不到任何明确答案的日志。 nginx日志表明,或缺乏,没有沟通到达它。

我留下来的印象是,openvpn可以防止所有WAN ips到达任何给定的端口。 有没有办法来防止这种行为? 至less在80端口?

在openvpn运行之前的路由表:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 

路由表,而openvpn运行:

 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.10.10.57 0.0.0.0 UG 0 0 0 tun0 10.10.10.1 10.10.10.57 255.255.255.255 UGH 0 0 0 tun0 10.10.10.57 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 63.142.161.7 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 

更新2:添加route-nopull到openvpn客户端configuration文件后,我能够提供网页,但是vpn已经变得毫无用处。 几乎在那里,但我不知道解决这个问题的路线。

您的OpenVPNconfiguration允许从远程系统获取默认网关。

我假装,就networking而言,在哪里做一个NAT(在ADSL调制解调器或ISP服务器上的某个地方),你有公网地址映射到你的内部服务器。

还有一个问题。 想象一下:

有人从公网IP地址AAAA希望看到从您的服务器的网页,喜欢在公共地址BBBB NAT点重写地址BBBB到真实,但不公开,你的服务器的地址,说192.168.0.2,但源地址仍然是相同的 – AAAA您的服务器提供此请求,并将发送答案 – 但回答将从地址192.168.0.2发送到地址AAAA – 通过您的默认网关!

如果这种情况下,没有OpenVPN的情况下,数据包将通过默认网关192.168.0.1和某处将被重新编址为源地址BBBB而不是192.168.0.2。 Everythink进展顺利。

但是,如果您的scheme继续使用OpenVPN,则您的服务器必须通过默认网关将数据包发送到AAAA–但这不是192.168.0.1,而是10.10.10.57。 在这种情况下,我不能说,这个数据包会做什么。 CCCC会把它重写到其他的源地址吗? 还是会被丢弃?

为什么你想要在对面的网站上有默认网关? 你将只需要路线,这将适合对面的地址,说10.10.10.0/24(也许其他,这只是例子)…

在OpenVPN服务器的configuration中,您必须删除如下行:

 push "redirect-gateway def1 bypass-dhcp"