openvpn结合iptables限制用户访问内网服务器
背景:公司内网某一台服务器做git用的,出于安全考虑只让个别开发在家办公访问。
目前vpn只能做到权限要开,所有人都能通过vpn在公司外面访问到git。
目前vpn只能做到权限要开,所有人都能通过vpn在公司外面访问到git。
通过百度发现可以设置防火墙限制访问。
命令如下
限制测试 iptables -I FORWARD -i tun0 -s 10.10.10.5/32 -p tcp --dport 80 -d gitIP/32 -j DROP
实验发现是限制不了的。
通过抓包发现:原因是因为 openvpn原理的原因。vpn服务器端相当于代理,客户端想访问什么 ,服务器端替它去访问,结果再返回它。所有iptable无法锁定客户端的数据包。
然后客户端访问内网服务器都是服务端路由转发的,所有可以让客户端访问的这个目的地址的路由转发到其他服务器的其他端口来达到目的。
命令如下:
iptables -t nat -I PREROUTING -s 10.10.10.5/32 -p tcp -d gitIP --dport 80 -j DNAT --to-destination 其他ip:其他端口
这样就达到了限制访问的目的。
理解不深,以后完善。
嗨、骚年、快来消灭0回复。