在使用openvpn的过程中,多台客户端连接上同一台openvpn服务器之后,客户端的的IP地扯经常变动,导致客户端之间无法正常通讯,openvpn的版本变动也导致了固定IP地扯的配置不同,用以下方法设置,客户端不管再怎么连接ip地扯都不会改变了,此文使用的openvpn的版本为2.3.13

第一种配置

格式:

ifconfig-push ${IP} ${NETMASK}
如果使用net30子网的时候${NETMASK}就是${IP}的下一位,比如ifconfig-push 10.8.0.1 10.8.0.2

只需在服务端的server.conf配置文件中设置即可

client-config-dir /etc/openvpn/ccd

cdd文件夹中的文件为对应客户端所使用的登录名称

cat /etc/openvpn/ccd/mac

ifconfig-push 10.8.0.2 10.8.0.3

以上设置可配置使用mac帐号登录的客户端ip地扯为10.8.0.2

再增加一个客户端IP

cat /etc/openvpn/ccd/server

ifconfig-push 10.8.0.5 10.8.0.6

以上设置可配置使用server帐号登录的客户端ip地扯为10.8.0.5

注意事项

ifconfig-push 后面是紧跟着两个连续的成组IP地扯,以第一个为客户端的IP地扯。

可能有人会想为什么要制定两个IP,这是因为openvpn只支持255.255.255.252 的子网,而且252的子网只有两个IP,一个分配给客户端,一个留给服务器用。

或者

在/etc/openvpn/server.conf

加入一行:

ifconfig-pool-persist /etc/openvpn/ipp.txt 

在/etc/openvpn/ipp.txt中配置格式如下:

用户名,ip

test,

经过研究ipp.txt文件设置有问题,设置之后不起作用。

其中上面的用户名应该为证书的CN名才对,如果想要不同的客户端不同的IP的方法,只能申请不同的CN名的证书,不然无法实现。

ipp.txt问题的分析,参考:https://www.cnblogs.com/EasonJim/p/9638361.html

参考:

http://blog.csdn.net/xqhrs232/article/details/72236759(IP端口转发)

http://blog.csdn.net/jiangshan35/article/details/72920395

http://blog.csdn.net/dounine/article/details/53650142

http://blog.51cto.com/dihuo/1416865

http://dnaeon.github.io/static-ip-addresses-in-openvpn/

https://serverfault.com/questions/826560/how-to-set-a-static-ip-client-side-in-openvpn

最新文章

  1. 我理想中的父母(The Ideal Parents In My Heart)
  2. 【DP】HIHO 1078
  3. [转]CISP(注册信息安全专业人员)认证(12天)
  4. 常用JQ特效代码
  5. Mininet建立topology zoo中的拓扑
  6. js实现选项卡切换的三种方式
  7. avalon2学习心得(1)
  8. bootstrap读书笔记
  9. 菜鸟nginx源代码剖析数据结构篇(一)动态数组ngx_array_t
  10. android JSON数据格式 解析
  11. ORA-00911:无效字符错误
  12. idea创建springboot Web项目
  13. C#中Invoke的用法2
  14. JQuery左右切换实现
  15. android操作sqlite数据库及心得
  16. 把web项目部署到阿里云linux服务器上
  17. HBase学习之路 (三)HBase集群Shell操作
  18. php soap实例讲解
  19. ! Undefined control sequence. \CJK@XXX ...endcsname {`#2}{`#3}\CJK@ignorespaces \fi l.43 \end{document}
  20. iOS第三方开源库的吐槽和备忘

热门文章

  1. yml格式
  2. 构造函数、原型对象prototype、实例、隐式原型__proto__的理解
  3. tcpcopy 流量复制
  4. 如何设置static tableview的section区域高度
  5. django自带的django.core.mail模块实现发邮件的功能
  6. 【hdoj_2152】Fruit(母函数)
  7. saltstack认证报错问题
  8. 最短路-Floyd
  9. ProgrammingProjectList-文本操作
  10. 用Pandas获取商品期货价格并可视化