我目前有一个与OpenVPN服务器搭build的VPS。 我的想法背后是,在开发的同时,我将通过VPN连接到服务器,这将允许我访问服务器上被外部世界阻止的iptables / ufw端口。
OpenVPN被设置为伪装并转发所有stream量。 这对任何外部网站都非常有效。 但是,当我尝试访问服务器本身上运行的某个服务/端口时,请求似乎没有被屏蔽,服务器也不会将其视为来自tun0接口客户端的请求,因此根据UFW规则设置请求被封锁。
我没有很多设置vpn或自定义路由的经验,所以我的问题是:我缺less什么configuration,以便允许来自OpenVPN客户端的请求?
在我的before.rules :
:POSTROUTING ACCEPT [0:0] # Allow traffic from OpenVPN client to eth0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT
访问服务器本身的服务(来自连接的客户端)时出错:
[UFW BLOCK] IN=eth0 OUT= MAC=[...] SRC=[MY-ACTUAL-CLIENT-IP] DST=[SERVER-IP] LEN=60 TOS=0x08 PREC=0x00 TTL=55 ID=46182 DF PROTO=TCP SPT=47449 DPT=9332 WINDOW=14600 RES=0x00 SYN URGP=0
它看起来像阻止传入的VPN连接。 所有客户端VPNstream量都应通过VPN连接进行隧道传输
对于eth0上的所有传出连接,伪装应该已经被现有规则所捕获。 你不需要添加这个规则。
VPN连接将有不同的设备。 您可能需要为该设备添加接受规则。 设备的命名取决于防火墙以及他们如何创build他们使用的虚拟接口。