在一台有公网ip的电脑上搭建了openvpn服务器,家里电脑还有手机通过openvpn接入这台服务器,现在想用手机通过openvpn以家里电脑做跳板访问家里局域网的摄像头(rtsp,192.168.0.20:554),请问如何访问,家里电脑(192.168.0.10)openvpn地址10.0.7.1,然后在家里电脑通过iptables做SNAT但是失败了,命令是iptables -t nat -A POSTROUTING -s 10.0.0.0/16 -p tcp --dport 554 -j SNAT --to-desination 192.168.0.10:554,请问哪里有问题?服务器上推送路由表这个方案这里这里不想用.
PREROUTING 上加一条 DNAT 规则。
另一个方案是用二层隧道,直接连接到你家里的局域网里。OpenVPN 支持这种模式的(但是我不知道 Android 支不支持)。
谢谢回复已解决,这里DNAT,SNAT都要做才行不知道为啥,TAP模式会太多包,不适用.
不为啥。过去的包要 NAT,回来的包也要 NAT,所以两个方向都要做。
有其他人说不需要做SNAT,不过我昨天试过必须都要才行,我这台电脑是运行在linux deploy里的debian,明白了.谢谢!
这个帖子怎么关闭…
他大概是有对应的 MASQUERADE 规则。
可能吧,MASQUERADE不也是SNAT么.