![将流量从 vpn 转发到特定端口上的 eth](https://linux22.com/image/739546/%E5%B0%86%E6%B5%81%E9%87%8F%E4%BB%8E%20vpn%20%E8%BD%AC%E5%8F%91%E5%88%B0%E7%89%B9%E5%AE%9A%E7%AB%AF%E5%8F%A3%E4%B8%8A%E7%9A%84%20eth.png)
在我的树莓派上,我有两个接口 eth0 连接到路由器和 tun0 iface(openvpn)。
通常我通过 openvpn 连接到 house raspy。在我的网络内,我在 192.168.1.12 上有一个摄像头。
当我通过 vpn 从外部连接时,我想要:
- 连接到openvp-ip:8888->网络摄像机:80(访问管理面板摄像头)
- 转发 rtsp (554) 来自openvpn-ip:554->网络摄像机:554
如何用 iptables 做到这一点?
谢谢!
答案1
您需要两个端口转发规则:
iptables -t nat -A PREROUTING -d <openvpn-ip> -p tcp --dport 8888 -j DNAT --to-destination <camera-ip>:80
iptables -t nat -A PREROUTING -d <openvpn-ip> -p tcp --dport 554 -j DNAT --to-destination <camera-ip>:554
您还需要允许转发的数据包:
iptables -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT