Я использую сервер OpenVPN и хочу назначить конкретному клиенту статический IP-адрес.
Это мой server.conf. Я думаю, что это настраивает пул виртуальных IP-адресов, чтобы охватить от 10.5.24.209 до 10.5.24.223.
port 443
proto tcp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.5.24.208 255.255.255.240
#This netmask should span IPs .208-.223.
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 168.xx.xx.xx"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
client-to-client
client-config-dir ccd
Это содержимое /etc/openvpn/ccd/W7LocalVM
, где W7LocalVM - это общее имя моего клиента. Я не совсем понимаю, что делает эта директива, но я думаю, что первый IP должен быть желаемым статическим IP моего клиента, а второй IP должен быть IP моего сервера.
ifconfig-push 10.5.24.210 10.5.24.209
Однако, когда я пытаюсь подключить мой клиент с этой конфигурацией сервера, я получаю следующую ошибку:
Mon Aug 07 14:07:34 2017 Set TAP-Windows TUN subnet mode network/local/netmask = 10.5.24.208/10.5.24.210/10.5.24.209 [SUCCEEDED]
Mon Aug 07 14:07:34 2017 MANAGEMENT: Client disconnected
Mon Aug 07 14:07:34 2017 ERROR: --ip-win32 dynamic [offset] : offset is outside of --ifconfig subnet
Mon Aug 07 14:07:34 2017 Exiting due to fatal error
Я думал, что IP 10.5.24.210 будет в подсети, определенной на стороне сервера, и я не понимаю, почему я получаю эту ошибку. Может ли кто-нибудь помочь мне в этом?
Ответы:
Эта проблема возникает из-за того, что openvpn пытается проанализировать ваши параметры ifconfig как ip, за которым следует маска подсети.
Согласно справочной странице:
Внутри вашего серверного кода вы устанавливаете свою топологию
subnet
, а затем отправляете ее клиенту, используяserver
инструкцию.Согласно приведенной выше документации, вместо отправки вашего ifconfig с использованием «локального», «удаленного» адреса, вам необходимо добавить следующее в «/ etc / openvpn / ccd / W7LocalVM»:
Последняя строка, вероятно, не нужна, но оставлена в качестве примера того, что ifconfig-push «должен» делать на стороне сервера, чтобы соединение работало.
источник