LINUX.ORG.RU

Использовать VPN только для ресурсов её сети

 , , , ,


0

1

Подскажите как победить корпоративных администраторов при подключении к корпоративному VPN и заставить использовать VPN только для тех ресурсов, которые внутри VNP?

Дано:

  • Arch Linux
  • l2tp
  • KDE
  • NetworkManager

До подключения VPN:

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp0s31f6
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s31f6

После подключения VPN:

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     50     0        0 ppp0
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp0s31f6
10.0.102.1      0.0.0.0         255.255.255.255 UH    50     0        0 ppp0
188.65.107.46   192.168.1.1     255.255.255.255 UGH   100    0        0 enp0s31f6
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s31f6
192.168.1.1     0.0.0.0         255.255.255.255 UH    100    0        0 enp0s31f6

При это весь интернет-трафик начинает маршрутизироваться через VPN:

traceroute google.com
traceroute to google.com (173.194.73.101), 30 hops max, 60 byte packets
 1  10.0.102.1 (10.0.102.1)  2.353 ms  3.085 ms  3.085 ms
 2  41.107.rekkon.ru (188.65.107.41)  5.219 ms  5.368 ms  5.549 ms
 3  10.80.202.9 (10.80.202.9)  3.287 ms  3.238 ms  3.262 ms
 4  rascom.inet2.ru (85.112.122.13)  3.301 ms  3.577 ms  3.596 ms
 5  google-gw.rascom.as20764.net (81.27.254.18)  3.740 ms  3.762 ms  3.710 ms
 6  108.170.250.99 (108.170.250.99)  4.665 ms  3.560 ms 108.170.250.146 (108.170.250.146)  2.847 ms
 7  216.239.50.132 (216.239.50.132)  18.863 ms 209.85.249.158 (209.85.249.158)  19.732 ms *

Если же в настройках NM поствить Use only for resources on this connection, то:

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp0s31f6
10.0.102.1      0.0.0.0         255.255.255.255 UH    50     0        0 ppp0
188.65.107.46   192.168.1.1     255.255.255.255 UGH   100    0        0 enp0s31f6
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s31f6
192.168.1.1     0.0.0.0         255.255.255.255 UH    100    0        0 enp0s31f6

интернет-трафки начинает тормозить, но маршрутизироваться через локальное соединение, а корпоративные ресурсы отваливаются.

У меня есть подозрение, что это происходит из-за того, что DNS не работает. VPN подсовывает два сервера:

$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.0.0.2
nameserver 10.10.0.2
nameserver 192.168.1.1

До которых с текущей таблицей маршрутизации мы идём через локальную сеть, хотя должны использовать ppp0:

$ traceroute 10.0.0.2
traceroute to 10.0.0.2 (10.0.0.2), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  0.497 ms  0.468 ms  0.452 ms
 2  * * *

Итого вопрос: **как сказать NM «маршрутизируй полученные при VPN-соединении DNS-сервера через эту же самую VPN-сеть»?

Ну или же как-то иначе подойти к решению задачи?

Если не ошибаюсь в l2tp не передаются маршруты, поэтому нужно настроить маршруты в VPN соединении NM. В Вашем случае, скорее всего, понадобиться маршрут 10.0.0.0/8. Возможно так же на другие частные сети.

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

Поставить dnsmasq и настроить резолвинг корпоративных имён на корпоративном dns, а другое на роутере.

MadMax
()

1) поставить dnsmasq/bind9/powerdns/... и прописать в /etc/resolv.conf локальный dns

2) отключить deafult-маршрут через vpn

3) смотри /etc/ppp/ip-up и /etc/ppp/ip-down, через них сделать добавление/удаление всех маршрутов, если сами не прописываются, а так-же сделать добавление/удаление маршрута к корпоративным dns-серверам и добавление/удаление отправки dns-запросов имён из корпоративнной сети на dns-сервера корпоративной сети.

Как все через NM сделать - не подскажу, потому как не пользуюсь им.

DiMoN ★★★
()

Да скорее всего просто в настройках VPN-подключения, на вкладке IPv4 (или IPv6, смотря какая сетка):

1) Убрать галку с «Use only for resources on this connection»

2) Добавить маршрут 10.0.102.0 | 255.255.255.0 | 10.0.102.1 (точные данные есть только у сетевого админа).

И всё. После подключения, проверить, через что трафик потечёт:

ip r get <IP любого ресурса WAN>
ip r get <IP любого ресурса LAN>
NDfan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.