我正在使用 openvpn。一旦客户端连接,我希望可以使用名称而不是 IP 地址来寻址它们。
例如,我可以使用“ping 客户端名称”来代替“ping 10.8.0.2”
我怎样才能实现这个目标?
我在 centos 6.5 上使用 openvpn 2.3。我还安装了 dnsmasq。
答案1
假设您可以访问您的 DNS 服务器,您应该能够为 OpenVPN 服务器上的每个 VPN 客户端分配静态 IP,然后在 DNS 中输入该静态 IP。
这个博客很好地介绍了如何在 OpenVPN 中分配静态 IP: http://michlstechblog.info/blog/openvpn-set-a-static-ip-address-for-a-client/
基本步骤如下:
- 创建一个目录来保存静态 IP 配置
mkdir /etc/openvpn/staticclients
- 修改服务器的 openvpn 配置文件
client-config-dir /etc/openvpn/staticclients
- 创建一个与客户的“通用名称”同名的文件
- 如果您不知道“通用名称”,请使用以下命令获取它:
openssl x509 -in /etc/openvpn/yourClientCertificate.cer -noout -subject | sed -e 's/.*CN=\(.*\)\/.*/\1/'
编辑此文件以包含以下内容:
ifconfig-push static.ip.to.assign sub.net.mask.used push "route any.subnet.to.route its.sub.net.mask" # push "dhcp-option WINS addr" # push "dhcp-option DNS addr"