ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] etcnet, VPN и DNSы для конкретных доменов
@ 2021-11-16 23:41 Alexei V. Mezin
  2021-11-18  9:09 ` Sergey
  0 siblings, 1 reply; 10+ messages in thread
From: Alexei V. Mezin @ 2021-11-16 23:41 UTC (permalink / raw)
  To: sisyphus

Есть пользовательский компьютер, сеть через etcnet, настроен интерфейс с 
OpenVPN, при выполнении

# ifup vpn_interface

все поднимается, соединяется. Но ожидаемо, что имеющиеся в системе ДНСы, 
которые пришли через DHCP от провайдера, ничего не знают о хостах в той 
сети, куда открывается VPN. Хочется, чтоб адреса *.corp.domain.com 
ресолвились через ДНС этой самой corp.

Говорят, что просто так это в линуксе не работает (не то что в виндовз 
или мак). Есть какой-то обходной собственный путь у NM. И есть свой путь 
у systemd-resolved.

Документация на /etc/systemd/resolved.conf особой внятностью в этом 
вопросе не отличается. У меня не получилось заставить ее работать с ДНС 
"по умолчанию" на все адреса, и с конкретным ДНС на конкретный домен.

Зато для OpenVPN есть скрипт
https://github.com/jonathanio/update-systemd-resolved

который при поднятии интерфейса через DBUS добавляет ДНС/домен, а при 
отключении убирает. И это неплохо работает:

$ systemd-resolve --status
Global
          Protocols: +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
   resolv.conf mode: foreign
Current DNS Server: 192.168.0.254
        DNS Servers: 192.168.0.254
         DNS Domain: local.lan

...
Link 13 (vpn)
     Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
          Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS 
DNSSEC=no/unsupported
Current DNS Server: 10.17.203.250
        DNS Servers: 10.17.203.250
         DNS Domain: ~corp.domain.com


Один сервер 192.168.0.254 по DHCP для всех доменов, а для 
*.corp.domain.com персонально 10.17.203.250


И все бы было хорошо, если бы в etcnet для VPN не навертели 
принудительного вызова собственного скрипта, который перекрывает вызов 
скриптов из файла настроек. И в результате ничего не работает.

Может кому-то удалось решить такую проблему? Принимаются ли 
FeatureRequest'ы на etcnet через багзиллу?







^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [sisyphus] etcnet, VPN и DNSы для конкретных доменов
  2021-11-16 23:41 [sisyphus] etcnet, VPN и DNSы для конкретных доменов Alexei V. Mezin
@ 2021-11-18  9:09 ` Sergey
  2021-11-18  9:18   ` Alexei Mezin
  0 siblings, 1 reply; 10+ messages in thread
From: Sergey @ 2021-11-18  9:09 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

On Wednesday 17 November 2021, Alexei V. Mezin wrote:

> все поднимается, соединяется. Но ожидаемо, что имеющиеся в системе
> ДНСы, которые пришли через DHCP от провайдера, ничего не знают
> о хостах в той сети, куда открывается VPN. Хочется, чтоб адреса
> *.corp.domain.com ресолвились через ДНС этой самой corp.
 
push "dhcp-option DNS 10.1.1.1" в конфиге OpenVPN сервера не устроит?
Или надо, чтобы для других доменов местные DNS работали?

-- 
С уважением, Сергей.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [sisyphus] etcnet, VPN и DNSы для конкретных доменов
  2021-11-18  9:09 ` Sergey
@ 2021-11-18  9:18   ` Alexei Mezin
  2021-11-18 12:10     ` Sergey
  0 siblings, 1 reply; 10+ messages in thread
From: Alexei Mezin @ 2021-11-18  9:18 UTC (permalink / raw)
  To: sisyphus

18.11.2021 12:09, Sergey пишет:

> push "dhcp-option DNS 10.1.1.1" в конфиге OpenVPN сервера не устроит?
> Или надо, чтобы для других доменов местные DNS работали?
> 

Нет доступа к настройкам сервера, на сервере много пользователей, 
которым такие опции абсолютно не нужны, и сама пр себе идея слать все 
ДНС-запросы через "корпоративный сервер" когда просто хочешь попасть на 
свой компьютер на работе не есть правильная.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [sisyphus] etcnet, VPN и DNSы для конкретных доменов
  2021-11-18  9:18   ` Alexei Mezin
@ 2021-11-18 12:10     ` Sergey
  2021-11-18 12:24       ` Alexei Mezin
  0 siblings, 1 reply; 10+ messages in thread
From: Sergey @ 2021-11-18 12:10 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

On Thursday 18 November 2021, Alexei Mezin wrote:

> > push "dhcp-option DNS 10.1.1.1" в конфиге OpenVPN сервера не устроит?
> > Или надо, чтобы для других доменов местные DNS работали?
> 
> Нет доступа к настройкам сервера, на сервере много пользователей, 
> которым такие опции абсолютно не нужны, и сама пр себе идея слать все 
> ДНС-запросы через "корпоративный сервер" когда просто хочешь попасть на 
> свой компьютер на работе не есть правильная.

Значит ставить себе локально Bind. Там можно что-то вроде

zone "corp.domain.com" {
        type forward;
        forward only;
        forwarders { 10.17.203.250; };
};

А общий форвард на 192.168.0.254. При этом есть что-то, что может
править на этот предмет конфиг Bind, чтобы прилетающее по DNS не
вносить в статический конфиг. Может быть это даже openresolv.

-- 
С уважением, Сергей.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [sisyphus] etcnet, VPN и DNSы для конкретных доменов
  2021-11-18 12:10     ` Sergey
@ 2021-11-18 12:24       ` Alexei Mezin
  2021-11-18 12:33         ` Sergey
  2021-11-18 12:40         ` Mikhail Efremov
  0 siblings, 2 replies; 10+ messages in thread
From: Alexei Mezin @ 2021-11-18 12:24 UTC (permalink / raw)
  To: sisyphus

18.11.2021 15:10, Sergey пишет:

> Значит ставить себе локально Bind. Там можно что-то вроде

Так в системе уже локально стоит systemd-resolved, который с задачей 
справляется отлично. Не справляется механизм, который добавляет/удаляет 
ДНС при подключении/отключении VPN. Точнее, я с ним не справляюсь :(

Кстати, dnsmasq тоже умеет все нужное, и полегче bind'а.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [sisyphus] etcnet, VPN и DNSы для конкретных доменов
  2021-11-18 12:24       ` Alexei Mezin
@ 2021-11-18 12:33         ` Sergey
  2021-11-18 12:48           ` Alexei Mezin
  2021-11-18 12:40         ` Mikhail Efremov
  1 sibling, 1 reply; 10+ messages in thread
From: Sergey @ 2021-11-18 12:33 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

On Thursday 18 November 2021, Alexei Mezin wrote:

> Так в системе уже локально стоит systemd-resolved, который с задачей 
> справляется отлично. Не справляется механизм, который добавляет/удаляет 
> ДНС при подключении/отключении VPN. Точнее, я с ним не справляюсь :(
 
А тут и нельзя просто так добавить DNS, нужно именно перенастроить
то, что отвечает за разрешение имён, таким образом, чтобы за отдельными
зонами он лазил в другую сторону. Если systemd-resolved так может, то
может можно даже статически настроить корпоративную зону. Всё равно же
к ней доступа нет, когда vpn нет. Ну и пусть болтается.

-- 
С уважением, Сергей.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [sisyphus] etcnet, VPN и DNSы для конкретных доменов
  2021-11-18 12:24       ` Alexei Mezin
  2021-11-18 12:33         ` Sergey
@ 2021-11-18 12:40         ` Mikhail Efremov
  2021-11-18 21:56           ` Alexei V. Mezin
  1 sibling, 1 reply; 10+ messages in thread
From: Mikhail Efremov @ 2021-11-18 12:40 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

On Thu, 18 Nov 2021 15:24:27 +0300 Alexei Mezin wrote:
> 18.11.2021 15:10, Sergey пишет:
> 
> > Значит ставить себе локально Bind. Там можно что-то вроде  
> 
> Так в системе уже локально стоит systemd-resolved, который с задачей 
> справляется отлично. Не справляется механизм, который добавляет/удаляет 
> ДНС при подключении/отключении VPN. Точнее, я с ним не справляюсь :(

> Кстати, dnsmasq тоже умеет все нужное, и полегче bind'а.

Я для точно такой же задачи использую dnsmasq, ну и просто вызываю
resolvconf в ifup-post vpn-интерфейса:
/sbin/resolvconf -p -a "$1" <<EOF
domain <work_domain>
nameserver <ns1>
nameserver <ns2>
EOF
Ну и удаляю в ifdow-post:
/sbin/resolvconf -fd "$1"


-- 
WBR, Mikhail Efremov


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [sisyphus] etcnet, VPN и DNSы для конкретных доменов
  2021-11-18 12:33         ` Sergey
@ 2021-11-18 12:48           ` Alexei Mezin
  2021-11-18 13:21             ` Sergey
  0 siblings, 1 reply; 10+ messages in thread
From: Alexei Mezin @ 2021-11-18 12:48 UTC (permalink / raw)
  To: sisyphus

18.11.2021 15:33, Sergey пишет:
> Если systemd-resolved так может, то
> может можно даже статически настроить корпоративную зону. Всё равно же
> к ней доступа нет, когда vpn нет. Ну и пусть болтается.
> 

Может и статически. Наверное. И в интернетах пишут, что "сделай так и 
заработает". Но не работает. Из документации тоже не очень понятно.

https://gist.github.com/brasey/fa2277a6d7242cdf4e4b7c720d42b567
https://man.archlinux.org/man/resolved.conf.5


Мне кажется, что всё через systemd работает, если сетевые интерфейсы 
поднимаются опять же через systemd. Тогда ДНС можно прописать в 
настройках конкретного интерфейса.

Инструкция от РедХата говорит, что все работает в связке NetworkManager 
+ systemd.

А вот в случае etcnet или etcnet + systemd не работает. По хорошему, 
надо или добавлять поддержку таких опций в Etcnet, или уже отправлять 
etcnet на пенсию.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [sisyphus] etcnet, VPN и DNSы для конкретных доменов
  2021-11-18 12:48           ` Alexei Mezin
@ 2021-11-18 13:21             ` Sergey
  0 siblings, 0 replies; 10+ messages in thread
From: Sergey @ 2021-11-18 13:21 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

On Thursday 18 November 2021, Alexei Mezin wrote:

> А вот в случае etcnet или etcnet + systemd не работает. По хорошему, 
> надо или добавлять поддержку таких опций в Etcnet, или уже отправлять 
> etcnet на пенсию.
 
Нет, выкидывать надо systemd-resolved. Совершенно ненужная мне штука.
;-)

-- 
С уважением, Сергей.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [sisyphus] etcnet, VPN и DNSы для конкретных доменов
  2021-11-18 12:40         ` Mikhail Efremov
@ 2021-11-18 21:56           ` Alexei V. Mezin
  0 siblings, 0 replies; 10+ messages in thread
From: Alexei V. Mezin @ 2021-11-18 21:56 UTC (permalink / raw)
  To: sisyphus

18.11.2021 15:40, Mikhail Efremov пишет:

> Я для точно такой же задачи использую dnsmasq, ну и просто вызываю
> resolvconf в ifup-post vpn-интерфейса:

Спасибо, интересная мысль. Без dnsmasq такой вызов не работает, хотя 
создается странная ситуация, когда, например

dig pc.corp.domain.com

не работает, но в то же время

drill pc.corp.domain.com

все исправно разрешает. На данный момент выкрутился прописыванием в 
ifup-post строки вида:

/usr/bin/systemd-resolve --interface "$1" --set-dns 10.17.203.250 
--set-domain ~corp.domain.com




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-11-18 21:56 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-16 23:41 [sisyphus] etcnet, VPN и DNSы для конкретных доменов Alexei V. Mezin
2021-11-18  9:09 ` Sergey
2021-11-18  9:18   ` Alexei Mezin
2021-11-18 12:10     ` Sergey
2021-11-18 12:24       ` Alexei Mezin
2021-11-18 12:33         ` Sergey
2021-11-18 12:48           ` Alexei Mezin
2021-11-18 13:21             ` Sergey
2021-11-18 12:40         ` Mikhail Efremov
2021-11-18 21:56           ` Alexei V. Mezin

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git