openvpn持久话客户端ip
侧边栏壁纸
博主昵称
yuc

  • 累计撰写 291 篇文章
  • 累计收到 0 条评论

openvpn持久话客户端ip

yuc
yuc
2024-11-25 / 最后修改: 2025-01-17 02:49 / 0 评论 / 7 阅读 / 正在检测是否收录...
背景问题

当前 openvpn 服务端配置了参数来尝试持久化客户端ip

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

如果客户端第一次获取到 ip 地址,会记录到此文件以实现持久话,下次登录会继续使用此ip。但存在一个问题,当服务器重启后此文件会被清空,所有的客户端都会从头开始分配ip地址,并没有实现真正的持久话客户端ip。

如何解决

经过了解可以使用下面参数解决

client-config-dir /etc/openvpn/ccd

目录内可以定义每个客户端的配置文件,为客户端单独推送配置,比如更多的路由,静态ip地址,由此文件配置的ip会在客户端登录的时候主动推送

具体配置方法是在此目录下写入客户端 common-name(CN) 的文件即可,内容如下:

[root@localhost ccd]# more yuc
ifconfig-push 192.168.9.2 255.255.255.0
push "route 192.168.100.0 255.255.255.0"

根据格式为需要持久话分配ip的客户端配置即可,或者为此客户端单独添加一条路由

最后-自动化

如果我们的目标是为每个客户端都持久话ip地址,那么每个文件都手动创建明显很费力,那么通过openvpn提供的用户登录后执行脚本来自动化创建,后续自行了解,这里不举例子

批量配置脚本

如果有一批用户要配置持久化,需要提供两列,分别是 用户名、ip,脚本如下:

while read line;do
   read name ip <<< $(echo $line | awk '{print $1,$2}'); echo "ifconfig-push $ip 255.255.252.0" > $name; 
done < /tmp/name
0

评论

博主关闭了当前页面的评论