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

相关推荐

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

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

    kai1年前 (2017-03-14)回复
    • 可以描述下错误

      admin1年前 (2017-03-29)回复