LINUX.ORG.RU
ФорумAdmin

DNS в Openvpn: как указать для всех клиентов принудительно?

 , ,


0

2

Архитектура сети: - openvpn-сервер на Centos7 (10.0.0.1) - Клиент на Centos 7 (10.0.0.122 - Клиент на Centos 7 (10.0.0.106 - Клиент на Windows 7 (10.0.0.150) - DNS-сервер на bind (10.0.0.122) + зона и домен.

Клиент с Вин7 успешно пингует domen.zona, заходит на сервисы на нем, клиенты Centos'ные - не пингуют, ping: domen.zona: Имя или служба не известны.

Настройки клиентов на Винде и на Centos'ах - одинаковые, конфиги - ниже

Как сделать так, чтобы Сентосные клиенты принудительно получали настройки DNS при подключении к VPN, если в настройках сервера OpenVPN уже есть строка push "dhcp-option DNS 10.0.0.122" # мастер

Конфиги:

 10.0.0.1# cat /etc/openvpn/server.conf
port 13888
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/VPN.crt
key /etc/openvpn/server/VPN.key
dh /etc/openvpn/server/dh2048.pem
tls-auth /etc/openvpn/server/ta.key 0
tls-server
tls-timeout 120
cipher AES-256-CBC
server 10.0.0.0 255.255.255.0
route 10.0.0.1 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
client-config-dir /usr/local/etc/ccd
keepalive 10 120
comp-lzo
tun-mtu 1500
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3
duplicate-cn
push "dhcp-option DNS 10.0.0.122"# мастер

10.0.0.106 (10.0.0.122 - такой же конфиг) # cat /etc/openvpn/client106.conf

client
proto udp
remote-cert-tls server
tls-auth ta.key 1
dev tun
remote My_IP 13888
cipher AES-256-CBC
auth-nocache
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind
<tls-auth>
...
</tls-auth>
<ca>
...
</ca>
<key>
...
</key>
<cert>
..
</cert>
10.0.0.150: \client150.ovpn

client
proto udp
remote-cert-tls server
tls-auth ta.key 1
dev tun
remote My_IP 13888
cipher AES-256-CBC
auth-nocache
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind

<tls-auth>
...
</tls-auth>
<ca>
..
</ca>
<key>
...
</key>
<cert>
...
</cert> 

Да, на OpenVPN-сервере для каждого клиента прописываются индивидуальные настройки. Тут они тоже одинаковы для всех клиентов:

 10.0.0.1# cat /usr/local/etc/ccd/client150
ifconfig-push 10.0.0.150 10.0.0.149

10.0.0.1# cat /usr/local/etc/ccd/client106
ifconfig-push 10.0.0.106 10.0.0.105

10.0.0.1# cat /usr/local/etc/ccd/client122
ifconfig-push 10.0.0.122 10.0.0.121


Последнее исправление: manik207 (всего исправлений: 1)

а кто клиенты на центосе, если просто openvpn то там нужно скрипты в конфиг прописывать которые правят resolv.conf, если через нетворк менеджер то он должен все сам делать.

Novell-ch ★★★★★
()
Ответ на: комментарий от Novell-ch

Клиенты на Centos'ах - родные openvpn'овские. Правильно понимаю, что скрипты в конфиг сервера прописывать надо? Или на каждый клиентский конфиг?

manik207
() автор топика
Ответ на: комментарий от manik207

Нет, прописывать на самих клиентах (только про linux), они (скрипты) есть готовые. А самой проблеме чуть больше чем очень много лет, точнее ровно столько, сколько существует ovpn. Нагуглить решение легко.
ЗЫ На всякий случай, для винды емнип с 10-ки еще параметр block-outside-dns нужен.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

Может, я неправильно выразилась... вот есть у меня сервер openvpn. Я хочу настроить свою сеть, чтобы мой сервер диктовал клиентам, какой у них приоритетный DNS.

Доступа до клиентских машин нет (или не всегда есть). Тем более, скрипты выполнять, ограничивать...

Как-то можно на СЕРВЕРЕ устанавливать приоритетные DNS (на моих машинах) для всех клиентов vpn-сети?

manik207
() автор топика
Ответ на: комментарий от manik207

Может, я неправильно выразилась...

Вы абсолютно правильно выразились. Первый пост от Novell-ch полностью отвечает на ваш вопрос.

anc ★★★★★
()
Ответ на: комментарий от manik207

На сервере можно выставлять DNS для клиентов, и он им передается, но что делать с этой инфой - решает клиент в зависимости от того, как у него организован резолв.

zgen ★★★★★
()
20 ноября 2018 г.
Ответ на: комментарий от manik207

в server.conf добавляешь push «block-outside-dns» push «dhcp-option DNS х.х.х.х» Первое отбрасывает dns клиента, второе делает твой dns основным

anmax
()
Ответ на: комментарий от anmax

Спасибо за ответ

push «block-outside-dns»

Добавила эту настройку, вторая push "dhcp-option DNS х.х.х.х" уже была ранее, её оставила.

В итоге, виндовский клиент успешно захватил новую настройку (поняла по логам при подключении - Blocking outside dns using service succeeded.. И перекрыл доступ в инет)

А сентосный клиент, после переподключения в /etc/resolv.conf все равно показывает DNS из конфига локального сетевого интерфейса, by NetworkManager...

manik207
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.