OPENVPN针对不同的客户端指定不同的等级和权限

  • A+
所属分类:OpenVPN

针对不同的客户端指定不同的等级和权限。通常的方法是:

1、每个客户端分配不同的IP地址;

2、利用防火墙对不同的IP地址进行控制;

例如:

引用 1、公司内部网段是10.66.4.0/24;

2、所有人允许访问Email服务器为10.66.4.4,但不能访问其他服务器;

3、特定的客户组允许访问Samba服务器为10.66.4.12,不能访问其他服务器;

4、管理员能访问所有公司内网服务器。

根据上述的要求,我们可以对OpenVPN服务端进行配置:(而不需要修改客户端配置文件)

引用 server.conf增加:

#10.8.0.0是给所有VPN客户端的IP段;

server 10.8.0.0 255.255.255.0

#10.8.1.0是给管理员分配的IP段;

server 10.8.1.0 255.255.255.0

#10.8.2.0就是给特定用户组分配的IP段;

server 10.8.2.0 255.255.255.0

#下面是定义服务器读取特殊客户端配置文件的目录为ccd;

client-config-dir ccd

通过上面的配置,今后我们就可以对指定的客户进行特殊的定义了。配置文件应该放在ccd目录下:

引用 ccd/sysadmin1:

ifconfig-push 10.8.1.1 10.8.1.2

引用 ccd/contractor1:

ifconfig-push 10.8.2.1 10.8.2.2

引用 ccd/contractor2:

ifconfig-push 10.8.2.5 10.8.2.6

※注意:
1、文件名就是客户的Common Name,OpenVPN是根据该名称来获得指定客户端的;
2、客户端的IP地址不是任意指定的,由于Windows的TAP驱动必须采用/30网段的IP,为兼容该协议,应从特定的IP地址中选择,而且是成组出现的;(可参考第一份文章附录介绍)

那最后,剩下的就是用iptables防火墙做限制即可:(假设PLOICY为Deny)

iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 10.66.4.4 -j ACCEPT

iptables -A FORWARD -i tun0 -s 10.8.1.0/24 -d 10.66.4.0/24 -j ACCEPT

iptables -A FORWARD -i tun0 -s 10.8.2.0/24 -d 10.66.4.12 -j ACCEPT

  • 我的微信
  • 扫一扫加我好友
  • weinxin
  • 微信公众号
  • 挨踢不可缺少
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar kai 0

      用你这种方法,配置了下,有问题

        • avatar admin 0

          @kai 可以描述下错误