# OpenVPN и локальный Dnsmasq ## Dnsmasq Устанавливаем: `sudo apt install dnsmasq` В конфиге (`/etc/dnsmasq.conf`) пишем: ``` domain-needed # чтоб не пересылал дальше имена вида "server123" bogus-priv # чтоб не пересылал выше запросы обратного резолвинга локальных адресов типо 10.0.0.123 no-resolv # чтоб не читал /etc/resolv.conf, а юзал то что мы ему сами скажем local=/office/ # указываем локлаьный домен - он будет резолвиться ТОЛЬКО из /etc/hosts domain=octo # таком наш домен server=8.8.8.8 # имена, которых нет в /etc/hosts, он будет пересылать сюда no-poll # не подписываться на изменнеия resolv.conf cache-size=2000 # почему бы и нет ;) (дефолтно всего лишь 150) local-ttl=10800 # время жизни кэша в секундах - 10800 это три часа alias=1.2.3.4,5.6.7.8 # позволяет подменять ответы "вышестоящих" DNS-сервером, заменяя 1.2.3.4 на 5.6.7.8 B-) так можно внешний айпишник превращать в локальный ``` Где `server` это адрес глобального DNS, который будет резолвить глобальные имена вроде `google.ru` (эту строчку можно писать несколько раз, указав несколько разных DNS-серверов) Перезапускаем сервис, чтоб подтащил новые настройки: `sudo service dnsmasq restart` Локальные имена пишем в `/etc/hosts` - после внесения изменнеий в этот файлик сервис нужно перезапускать, чтобы он их подтащил. Можно прописывать локлаьные имена и в конфиг, вот так: ``` address=/double-click.net/127.0.0.1 ``` Убираем самопрописывание dnsmasq'а в `/etc/resolv.conf` (оно не нужно - у нас и так все имена в `hosts` прописаны): `sudo chmod -x /etc/resolvconf/update.d/dnsmasq` ## OpenVPN Он умеет работать в двух режимах: 1. Роутинг: канал делается посредством ==TUN==, для клиентов поднимается собственный DHCP и трафик маршрузируется 2. Мост: канал - ==TAP== и клиенты полностью попадают в сеть сервера (полностью проходит широковещательный трафик, например DHCP от роутера в сети сервера, работает mDNS и прочие современные плюшки) Мы будем юзать первый вариант - TUN работает быстрее и нам его вполне хватит :smirk: