...
分享 OpenVpn

OpenVPN分配固定IP:详细指南

在使用OpenVPN时,您可能希望为每个客户端分配固定的IP地址。这在需要精确控制访问权限或进行特定网络配置时非常有用。本文将详细介绍如何在OpenVPN中为客户端分配固定IP地址。

为什么要分配固定IP?

分配固定IP有许多优点,包括:

  1. 精确的访问控制:您可以根据固定IP配置防火墙规则。
  2. 稳定的网络环境:某些服务可能依赖于固定的IP地址。
  3. 简化管理:易于追踪和管理客户端设备。

配置步骤

1. 配置OpenVPN服务器

首先,确保您的OpenVPN服务器已正确安装并运行。以下是一个基本的服务器配置文件示例:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;# 添加下面这行
client-config-dir /etc/openvpn/ccd
route 10.8.0.0 255.255.255.0
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
persist-key
persist-tun
status openvpn-status.log
log-append /var/log/openvpn.log
verb 3

2. 创建客户端配置目录

在服务器上创建一个目录,用于存放每个客户端的配置文件:

sudo mkdir -p /etc/openvpn/ccd

3. 配置客户端文件

为每个客户端创建一个配置文件,文件名必须与客户端的通用名称(Common Name, CN)相匹配。在/etc/openvpn/ccd目录下创建文件。例如,如果客户端的CN是client1,则创建文件/etc/openvpn/ccd/client1,并在其中指定固定的IP地址:

echo "ifconfig-push 10.8.0.10 225.225.225.0" > /etc/openvpn/ccd/client1

在此示例中,10.8.0.10是客户端的固定IP地址

重点:255.255.255.252子网掩码允许每个子网中有4个IP地址,其中2个是可用的IP地址,1个是网络地址,1个是广播地址。
例如:

  • 10.8.0.0/30子网范围:10.8.0.0 - 10.8.0.3
  • 可用IP对:10.8.0.1和10.8.0.2
  • 10.8.0.4/30子网范围:10.8.0.4 - 10.8.0.7
  • 可用IP对:10.8.0.5和10.8.0.6
    确保您为每个客户端分配的IP地址对位于同一个子网范围内。

具体请看详细介绍:如何在OpenVPN中配置255.255.255.252子网

4. 修改服务器配置以启用客户端配置目录

确保服务器配置文件中包含以下行,以启用客户端配置目录:

client-config-dir /etc/openvpn/ccd

服务端不可存在以下行

# 删掉
route-nopull

5. 配置客户端

客户端配置文件应与服务器匹配。以下是一个客户端配置文件示例:

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key 1
cipher AES-256-CBC
verb 3

6. 重启OpenVPN服务

完成以上配置后,重启OpenVPN服务以应用更改:

在Linux上

# Ubuntu < 20.04
sudo systemctl restart openvpn@server
# Ubuntu >= 20.04
sudo systemctl restart openvpn-server@server.service 

在Windows上

在命令提示符(管理员权限)中:

net stop openvpnservice
net start openvpnservice

验证配置

重启OpenVPN服务后,连接客户端并验证是否获得了正确的固定IP地址。您可以在客户端上运行以下命令来检查IP地址:

ifconfig

或者:

ip addr
如何在OpenVPN中配置255.255.255.252子网 别让CDSN毁了你的大学生涯!
biu biu biu
20 个实用的 JavaScript 单行代码 MacStroke下载及appleScript 模拟按键脚本 共享打印机0x0000011b修复的另一种方法 yarn 设置淘宝镜像 yarn 错误There appears to be trouble with your network connection. Retrying... win11 安装限制去除 跳过TPM CPU检测 附软件