深入OpenVPN的配置
来源:互联网 发布:java文件流转文件 编辑:程序博客网 时间:2024/05/21 21:42
在实际使用中,可能还会遇到很多网络上的问题,今天就再举几个例子说明一下。
一、案例1
针对不同的客户端指定不同的等级和权限。通常的方法是:
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、客户端的子网网段必须唯一;
2、客户端的Common Name要唯一,而且不能在服务器的配置文件中配置有duplicate-cn;
3、客户端打开IP Forward(路由转发)和允许TUN、TAP进入;
OK,那假设客户端子网为192.168.4.0,并且客户端网关和客户端OpenVPN是同一服务器,那可以这样配置:
引用 server.conf增加:
#下面是定义服务器读取特殊客户端配置文件的目录为ccd;
client-config-dir ccd
#服务器增加到192.168.4.0/24的路由
route 192.168.4.0 255.255.255.0
#允许客户端子网互通
client-to-client
#让所有客户端都增加到192.168.4.0/24的路由
push "route 192.168.4.0 255.255.255.0"
然后,对指定的客户端建立配置文件。
mkdir /etc/openvpn/ccd
在ccd目录下建立一个与客户端Common Name相同名字的文件名,并加入:
引用 #这是告诉服务器,我(客户端)的子网网段是192.168.4.0/24;
iroute 192.168.4.0 255.255.255.0
※注意:
1、若OpenVPN Server不是服务端子网的网关,则必须在服务端子网网关加入指向192.168.4.0/24的路由;
2、若客户端的OpenVPN Client也不是客户端子网的网关,同样的,也必须加入对应的路由,如:
route add -net 192.168.4.0 netmask 255.255.255.0 gw 10.8.0.5 dev eth0
总而言之,就是必须让网关通过VPN服务器,可路由到所有的VPN子网,这无论是对于服务端还是客户端都是必须定义的。
三、案例3
OpenVPN内部提供了DHCP的服务,而不需要依赖外部的DHCP服务器。同样,也提供了DHCP服务的一些配置参数:
引用 server.conf配置:
#定义客户端的DNS服务器地址
push "dhcp-options DNS 192.168.228.1"
#定义客户端的WINS服务器地址
push "dhcp-options WINS 192.168.228.1"
#让客户端发起的所有IP请求都通过OpenVPN服务器
push "redirect-gateway def1"
其中,最后一项配置会修改客户端的默认路由为OpenVPN服务器。这样,通常还必须加入NAT转换:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
这样,所有客户端当和OpenVPN服务器连接后,就可以把该服务器作为对外的路由服务器使用了。(类似Proxy)
- 深入OpenVPN的配置
- 深入OpenVPN的配置
- 深入OpenVPN的配置
- 深入OpenVPN的配置
- 深入OpenVPN的配置
- BT5R3 OpenVPN的配置
- OpenVPN的配置
- 深入OpenVPN的配置(不同網段的訪問控制)
- OpenVPN的配置和使用
- OpenVPN的配置和使用
- Openvpn的配置和连接
- OpenVPN的配置和使用
- OpenVPN 的安装与配置
- openvpn配置
- OpenVPN 配置
- openvpn配置
- CENTOS6.5下的OpenVPN的配置
- openVPN的客户端的client.ovpn配置.
- 【私藏】eclipse 个人设置
- c3p0-----开源JDBC连接池使用及配置
- springcloud----Zuul动态路由
- Ubuntu adb 找不到设备的解决方法
- rex资源文件详解
- 深入OpenVPN的配置
- 整理cef2526重新编译的全过程
- 使用scikit中的聚类
- java工具类------日期工具类
- MAC下安装python2.7+ pip + python的依赖包pymongo
- EditText实时监听TextWatcher的使用
- 8.Selenium2 自动化测试实战-基于Python语言-WebElement接口2
- Python 打印中文字符的三种方法
- react native 开发的app在安卓设备上运行