• XSS.stack #1 – первый литературный журнал от юзеров форума

Wireguard 2 туннеля и DNS

scoring0

root@serv1:#
Premium
Регистрация
06.08.2019
Сообщения
179
Реакции
51
Депозит
0.00
Комрады, помогите порешать.
Есть два Wireguard'a:

1) NET с defroute.

2) LOCAL без defroute, который дает доступ в определенную сеть.

Так же есть локальный домен site.com

Если подключить сначала второй туннель (в локалку), то прописывается DNS из подсети LOCAL и все запросы *.site.com резолвятся через него и ходят через него соответственно, НО
если поверх него подключить NET (или сначала NET, а потом LOCAL), так-же и наоборот. Если сначала подключить NET, а потом LOCAL, то почему-то основными встают DNS туннеля NET, и домены *.site.com резолвятся через него.


Как бы сделать так, что бы *.site.com резолвились через туннель LOCAL, а все остальное ходило через NET ?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Сумбурно изложено слегка, но попробую тезисов накидать чуть. Вдруг поможет... Во первых строках, конфиги обоих WG в студию? Ключи порезать. Во вторых, DNS к инкапсуляции имеет весьма опосредованное отношение (особенно если его, DNS, выпилить из конфигов). Далее, вариантов видится два... Либо ставить локально/в сети bind9, и уже там кастомно правила задавать, либо (особенно если *.site.com это НЕ продакшен), отрулить это через hosts на локальной машине. Требуется более детальное врубание в ситуацию. У жабу.
 
NET:
Код:
[Interface]
PrivateKey = *******
Address = 10.20.1.2/24
DNS = 208.67.222.222, 208.67.220.220, 192.168.1.1
MTU = 1420

[Peer]
PublicKey = *******
PresharedKey = *******
AllowedIPs = 1.0.0.0/8, 2.0.0.0/8, 3.0.0.0/8, 4.0.0.0/6, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/3, 160.0.0.0/5, 168.0.0.0/6, 172.0.0.0/12, 172.32.0.0/11, 172.64.0.0/10, 172.128.0.0/9, 173.0.0.0/8, 174.0.0.0/7, 176.0.0.0/4, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 208.67.222.222/32, 208.67.220.220/32, 192.168.1.1/32
Endpoint = *******
PersistentKeepalive = 15

LOCAL:
Код:
[Interface]
PrivateKey = *******
Address = 10.13.0.2/32
DNS = 10.13.0.1, .domain.com

[Peer]
PublicKey = *******
AllowedIPs = 10.13.0.1/32, 192.168.2.0/24
Endpoint = *******
PersistentKeepalive = 15



DNS к инкапсуляции имеет весьма опосредованное отношение (особенно если его, DNS, выпилить из конфигов)

Да, я это прекрасно понимаю )


Ставить локально на тачке какой-либо DNS сервер - это пиздец заморочки. А что делать с мобильными устройствами? Туда не поставишь )
Опять-же, даже если добавить PostUP скрипты с записью в /etc/hosts, не факт что это проканает на ios том-же + как мне динамически в конфигах клиентов обновлять эти записи в случае чего?


Пока судя по всему вариант - ставить какой-то bind на отдельном сервере, его указывать в обоих конфигах и на нем уже разруливать, но опять-же как?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Как мне это видится, два разных DNS'a при двух поднятых туннелях — плохая идея. Я бы оставил один (либо локальный, либо глобальный, либо в обоих), но пусть он например отдает IP bind9 который доступен для устройств, юзающих оба этих туннеля. И тогда останется в бинде сделать оверрайд зоны *.site.com.
 
Комрады, помогите порешать.
Есть два Wireguard'a:

1) NET с defroute.

2) LOCAL без defroute, который дает доступ в определенную сеть.

Так же есть локальный домен site.com

Если подключить сначала второй туннель (в локалку), то прописывается DNS из подсети LOCAL и все запросы *.site.com резолвятся через него и ходят через него соответственно, НО
если поверх него подключить NET (или сначала NET, а потом LOCAL), так-же и наоборот. Если сначала подключить NET, а потом LOCAL, то почему-то основными встают DNS туннеля NET, и домены *.site.com резолвятся через него.


Как бы сделать так, что бы *.site.com резолвились через туннель LOCAL, а все остальное ходило через NET ?
предлагаю отключить NetworkManager и разруливать маршруты и другие настройки вручную.

а не, я невнимательно прочитал топик. может, установить один DNS сервер, и выдавать разные ответы в зависимости от IP клиента?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Как bind9 поставить, разберешься? А дальше сделай так:

1) nano /etc/bind/named.conf или nano /etc/named.conf (смотря где он у тебя там станет), после чего
2) В этот файл фигачишь по образу и подобию:
Код:
zone "zone.com" {
    type master;
    file "/etc/bind/zones/db.zone.com";
};
3) Далее nano /etc/bind/zones/db.zone.com и в него уже:
Код:
$TTL 86400
@       IN SOA  ns.zone.com. admin.zone.com. (
                1               ; Serial
                3600            ; Refresh
                900             ; Retry
                604800          ; Expire
                86400)          ; Minimum
;
@          IN NS   ns.zone.com.
@          IN A    IP_of_your_server
ns         IN A    IP_of_your_server
*          IN A    IP_of_your_server
4) В финале:
Код:
named-checkconf
named-checkzone zone.com /etc/bind/zones/db.zone.com
 
Последнее редактирование:
предлагаю отключить NetworkManager и разруливать маршруты и другие настройки вручную.

а не, я невнимательно прочитал топик. может, установить один DNS сервер, и выдавать разные ответы в зависимости от IP клиента?
С маршрутами все хорошо. Вопрос в разруливании DNS запросов.
Типа что бы система как-то понимала, что *.site.com разруливать через сервер 10.13.0.1, при подключенном туннеле LOCAL, а все остальное через дефолтные DNS (либо через DNS NET).
 
Как bind9 поставить, разберешься? А дальше сделай так:

1) nano /etc/bind/named.conf или nano /etc/named.conf (смотря где он у тебя там станет), после чего
2) В этот файл фигачишь по образу и подобию:
Код:
zone "zone.com" {
    type master;
    file "/etc/bind/zones/db.zone.com";
};

3) Далее nano /etc/bind/zones/db.zone.com и в него уже:

Код:
$TTL 86400
@       IN SOA  ns.zone.com. admin.zone.com. (
                    1         ; Serial
               3600         ; Refresh
                900         ; Retry
            604800         ; Expire
             86400 )       ; Minimum
;
@          IN NS   ns.zone.com.
@          IN A    IP_of_your_server
ns         IN A    IP_of_your_server
*          IN A    IP_of_your_server
Да bind под локальные адреса *.site.com у меня подняет и все отлично гоняет, он как раз в сети 10.13.0.0/24.
При том вот на том-же микротике, например, есть фишка, что он может по regexу разруливать какие DNS запросы куда отправлять, а вот в той-же MacOS х#й такого, например.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Да bind под локальные адреса *.site.com у меня подняет и все отлично гоняет, он как раз в сети 10.13.0.0/24.
При том вот на том-же микротике, например, есть фишка, что он может по regexу разруливать какие DNS запросы куда отправлять, а вот в той-же MacOS х#й такого, например.
Поставь его туда откуда он будет виден в любом случае, и все. И получится впн аля WireGuard с подменой на фейки)))
 
Поставь его туда откуда он будет виден в любом случае, и все. И получится впн аля WireGuard с подменой на фейки)))
Смотри, есть сабы типа 1.site.com, которые работают и на внешку, и при включенном только NET - нужно резолвить их внешний IP, а при включенном LOCAL - нужно получать их внутренний IP )
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Смотри, есть сабы типа 1.site.com, которые работают и на внешку, и при включенном только NET - нужно резолвить их внешний IP, а при включенном LOCAL - нужно получать их внутренний IP )
Угу, на:
Код:
acl "trusted" {
    10.13.0.2/32;
};

view "internal" {
    match-clients { trusted; };
    zone "zone.com" {
        type master;
        file "/etc/bind/zones/db.zone.com.internal";
    };
};

view "external" {
    match-clients { any; };
    zone "zone.com" {
        type master;
        file "/etc/bind/zones/db.zone.com.external";
    };
};

Потом ессно:
Код:
named-checkconf
named-checkzone zone.com /etc/bind/zones/db.zone.com.internal
named-checkzone zone.com /etc/bind/zones/db.zone.com.external
sudo service bind9 reload
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх