Стало интересно. Трассировка и технология VPN

Активист

Активист
Команда форума
Стало интересно. Трассировка и технология VPN

Стало интересно, как работает)

У нас есть сеть класса 192.168.0.0/24
В сети поднятно два сервера:э
1. Сервер NAT (Iptables) + DNS II на основе Debian Lenny (IP: 192.168.0.200)
2. И сервер VPN (IP: 192.168.0.12) + AD + DNS I (IP: 192.168.0.201) на основе Windows Server 2003 (привязаны разные IP к одному серверу)


При подключении из вне NAT сервер заворачивает трафик на VPN сервер через правила iptables.

Если из локали ходить в инет трассировка следующая:
Код:
D:\>tracert [url]www.ru[/url]

Трассировка маршрута к [url]www.ru[/url] [194.87.0.50]
с максимальным числом прыжков 30:

  1    <1 мс    <1 мс    <1 мс  nat.local [192.168.0.200]
  2     2 ms     3 ms     1 ms  irkutsk.iren.ru [77.243.118.1]
  3     1 ms     3 ms     1 ms  gw-irkutsk.iren.ru [77.243.112.9]
  4   124 ms   124 ms   124 ms  ^C
D:\>
т.е все логично.
--------
VPN клиент ходит в инет так (через ц. офис):
Код:
D:\>tracert [url]www.ru[/url]

Трассировка маршрута к [url]www.ru[/url] [194.87.0.50]
с максимальным числом прыжков 30:
  1     50 ms  54 ms  34 ms  vpn.local [192.168.0.12]
  2     67 ms  65 ms  25 ms  nat.local [192.168.0.200]
  3     71 ms  52 ms  86 ms  irkutsk.iren.ru [77.243.118.1]
 
D:\>
т.е. тоже все логично
--------
Если же делать трассировку до машины, подключенной к VPN из локальной сети - трасировка тоже идет правильно
Код:
D:\>tracert 192.168.0.1 // (клиент VPN)

Трассировка маршрута к EVKENII-ROZN1 [192.168.0.1]
с максимальным числом прыжков 30:

  1    <1 мс    <1 мс    <1 мс  dns.local [192.168.0.201] // (он же vpn.local)
  2   260 ms   250 ms   248 ms  EVKENII-ROZN1 [192.168.0.1]

Трассировка завершена.

D:\>
Т.е. , логично, сначало идем до сервера dns.local (в лице vpn.local, одна и та же машина), а потом через тюнель к клиенту VPN


Но, каким образом машина в локальной сети (в офисе), для которого Default GW - 192.168.0.200, при трасировки до VPN клиента, узнает, что идти нужно именно на Windows 2003 (а не на какую-либо другую машину) и далее, ведь в таблице маршрутизации об этом ни слова, логичнее (по таблице маршрутизации) пойти на GW - 192.168.0.200, и оттуда сказать - заданный узел не доступен.

Или же VPN сервер каким-то образом хватает пакеты к VPN клиенту, и далее их отправляет к клиенту, но таким образом оборудование знает (Хаб, Свищ) мак адрес? Т.е. , нигде не сказано, что 192.168.0.12 (vpn.local) и 192.168.0.1 (клиент VPN) одно и тоже лицо, и маки у них разные.

Таблица маршрутизации рабочих станций в офисе

Код:
D:\>route print
===========================================================================
Список интерфейсов
 11...00 19 21 20 22 ea ......VIA Rhine II Fast Ethernet Adapter
  1...........................Software Loopback Interface 1
 12...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP
 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
===========================================================================

IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0    192.168.0.200      192.168.0.2     20
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      169.254.0.0      255.255.0.0         On-link       192.168.0.2     30
  169.254.255.255  255.255.255.255         On-link       192.168.0.2    276
      192.168.0.0    255.255.255.0         On-link       192.168.0.2    276
      192.168.0.2  255.255.255.255         On-link       192.168.0.2    276
    192.168.0.255  255.255.255.255         On-link       192.168.0.2    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link       192.168.0.2    276
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link       192.168.0.2    276
===========================================================================
Постоянные маршруты:
  Отсутствует

IPv6 таблица маршрута
===========================================================================
Активные маршруты:
 Метрика   Сетевой адрес            Шлюз
  1    306 ::1/128                  On-link
 11    276 fe80::/64                On-link
 11    276 fe80::5834:f76f:6afb:277b/128
                                    On-link
  1    306 ff00::/8                 On-link
 11    276 ff00::/8                 On-link
===========================================================================
Постоянные маршруты:
  Отсутствует

D:\>
Состояние сетевых интерфейсов и таб. маршрутизации на Windows (VPN) сервере
Код:
C:\>ipconfig /all

Настройка протокола IP для Windows

   Имя компьютера  . . . . . . . . . : server
   Основной DNS-суффикс  . . . . . . : local
   Тип узла. . . . . . . . . . . . . : неизвестный
   IP-маршрутизация включена . . . . : да
   WINS-прокси включен . . . . . . . : да
   Порядок просмотра суффиксов DNS . : local

Интерфейс RAS-сервера - PPP адаптер:

   DNS-суффикс этого подключения . . :
   Описание  . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
   Физический адрес. . . . . . . . . : 00-53-45-00-00-00
   DHCP включен. . . . . . . . . . . : нет
   IP-адрес  . . . . . . . . . . . . : 192.168.0.12
   Маска подсети . . . . . . . . . . : 255.255.255.255
   Основной шлюз . . . . . . . . . . :

Local Ethernet Connection - Ethernet адаптер:

   DNS-суффикс этого подключения . . :
   Описание  . . . . . . . . . . . . : 3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX) #2
   Физический адрес. . . . . . . . . : 00-04-75-C1-73-CA
   DHCP включен. . . . . . . . . . . : нет
   IP-адрес  . . . . . . . . . . . . : 192.168.0.253
   Маска подсети . . . . . . . . . . : 255.255.255.0
   IP-адрес  . . . . . . . . . . . . : 192.168.0.215
   Маска подсети . . . . . . . . . . : 255.255.255.0
   IP-адрес  . . . . . . . . . . . . : 192.168.0.214
   Маска подсети . . . . . . . . . . : 255.255.255.0
   IP-адрес  . . . . . . . . . . . . : 192.168.0.213
   Маска подсети . . . . . . . . . . : 255.255.255.0
   IP-адрес  . . . . . . . . . . . . : 192.168.0.212
   Маска подсети . . . . . . . . . . : 255.255.255.0
   IP-адрес  . . . . . . . . . . . . : 192.168.0.211
   Маска подсети . . . . . . . . . . : 255.255.255.0
   IP-адрес  . . . . . . . . . . . . : 192.168.0.210
   Маска подсети . . . . . . . . . . : 255.255.255.0
   IP-адрес  . . . . . . . . . . . . : 192.168.0.202
   Маска подсети . . . . . . . . . . : 255.255.255.0
   IP-адрес  . . . . . . . . . . . . : 192.168.0.201
   Маска подсети . . . . . . . . . . : 255.255.255.0
   Основной шлюз . . . . . . . . . . : 192.168.0.200
   DNS-серверы . . . . . . . . . . . : 192.168.0.201

C:\>route print

IPv4 таблица маршрута
===========================================================================
Список интерфейсов
0x1 ........................... MS TCP Loopback interface
0x10002 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
0x10003 ...00 04 75 c1 73 ca ...... 3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX) #2
===========================================================================
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0    192.168.0.200    192.168.0.201     20
     66.36.236.47  255.255.255.255    192.168.0.200    192.168.0.201     20
    77.221.151.58  255.255.255.255    192.168.0.200    192.168.0.201     20
    81.18.115.151  255.255.255.255    192.168.0.200    192.168.0.201     20
        127.0.0.0        255.0.0.0        127.0.0.1        127.0.0.1      1
     168.61.70.65  255.255.255.255    192.168.0.200    192.168.0.201     20
      192.168.0.0    255.255.255.0    192.168.0.201    192.168.0.201     20
      192.168.0.1  255.255.255.255     192.168.0.12     192.168.0.12      1
     192.168.0.12  255.255.255.255        127.0.0.1        127.0.0.1     50
    192.168.0.200  255.255.255.255    192.168.0.201    192.168.0.201     20
    192.168.0.201  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.0.202  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.0.210  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.0.211  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.0.212  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.0.213  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.0.214  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.0.215  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.0.253  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.0.255  255.255.255.255    192.168.0.201    192.168.0.201     20
   216.163.188.57  255.255.255.255    192.168.0.200    192.168.0.201     20
        224.0.0.0        240.0.0.0    192.168.0.201    192.168.0.201     20
  255.255.255.255  255.255.255.255    192.168.0.201    192.168.0.201      1
Основной шлюз:       192.168.0.200
===========================================================================
Постоянные маршруты:
  Отсутствует
 

Активист

Активист
Команда форума
whirlwind
Не, все работает правильно. Саму технологию не могу понять, ведь интерфейс 192.168.0.12 - виртуальный, созданный на VPN сервере.
Вот откуда локальной машине (192.168.0.2) знать, что путь до 192.168.0.1 (VPN клиент) лежит через 192.168.0.12 (VPN сервер)?

Ни в таблице gw, ни у клиента упоминания о 192.168.0.1 ни о 192.168.0.12 нет.

-~{}~ 19.08.10 15:53:

Именно, подсеть еще одна.
 

whirlwind

TDD infected, paranoid
во 1: хаб не знает, свитч знает
во 2: в одной подсети работает arp. насколько он работает, зависит от настроек хоста

-~{}~ 19.08.10 10:54:

где подсети разные? судя по маске подсеть одна

-~{}~ 19.08.10 10:58:

кароче, через броадкаст vpn сервер отозвался своим маком на запрос arp на 192.168.0.1
 

Активист

Активист
Команда форума
> подсеть еще одна.
Я имел ввиду - "к тому же подсеть одна и та же", не правильно выразился.
 

whirlwind

TDD infected, paranoid
Активист Это не имеет значения. В одной подсети броадкастят перед ip-proto через arp. Кто отозвался маком, на того и шлют пакеты. А ответить может другой интерфейс. Принимать или не принимать такие пакеты это уже антиспуфинг. Ну это самое первое что пришло в голову в качестве объяснения. Откуда тейсишь с венды? Значит антиспуфа наверно нету или с той же подсети ему пофик.
 

Активист

Активист
Команда форума
whirlwind
Ага, посмотрел через GW, arp.

Код:
serv002:~# tracert 192.168.0.1
traceroute to 192.168.0.1 (192.168.0.1), 30 hops max, 40 byte packets
 1  dns.local (192.168.0.201)  0.167 ms  0.233 ms  0.224 ms
 2  192.168.0.1 (192.168.0.1)  246.220 ms  273.443 ms  272.862 ms
serv002:~# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.0.18             ether   00:25:11:76:9d:2c   C                     eth0
web.local                ether   00:04:75:c1:73:ca   C                     eth0
192.168.0.5              ether   00:1a:4d:fc:b9:a9   C                     eth0
192.168.0.2              ether   00:19:21:20:22:ea   C                     eth0
mail.local               ether   00:04:75:c1:73:ca   C                     eth0
192.168.0.1              ether   00:04:75:c1:73:ca   C                     eth0
192.168.0.17             ether   00:19:21:20:1c:94   C                     eth0
192.168.0.214            ether   00:04:75:c1:73:ca   C                     eth0
192.168.0.13             ether   00:1f:d0:c7:fe:8b   C                     eth0
....
....
....
-~{}~ 19.08.10 16:13:

Спасибо, теперь вкурил)

-~{}~ 19.08.10 16:24:

По сути дела, это подлог)) спуфинг. Не безопасно как-то))
 

whirlwind

TDD infected, paranoid
Ну тут не совсем как бе спуфинг. Дело в втом, что в локальной таблице арп хоста есть этот мак. А когда через роутеры идет, то там мак роутера кажись.

-~{}~ 19.08.10 11:37:

Кароче я хз тут уже. Если по арп не отозвался, то пакеты вперед на gw. А если отозвался, то вроде как не спуфинг. Надо у одминов уточнять.
 

Активист

Активист
Команда форума
Я ради интереса запустил на линуксовом нат сервере
serv002:~#arpspoof 192.168.0.1

Трассировка на локальной машине изменилась.
Код:
D:\>tracert 192.168.0.1

Трассировка маршрута к EVKENII-ROZN1 [192.168.0.1]
с максимальным числом прыжков 30:

  1    <1 мс    <1 мс    <1 мс  nat.local [192.168.0.200]
  2    <1 мс    <1 мс    <1 мс  dns.local [192.168.0.201]
  3   262 ms   228 ms   245 ms  EVKENII-ROZN1 [192.168.0.1]

Трассировка завершена.

D:\>
 

whirlwind

TDD infected, paranoid
А ну тут наверное линух просто отшил, вот отвечающий по обратному маршруту и ответил. Просто в IP есть такая фича метрика - приоритет самому короткому маршруру. Вот когда можно он и отвечает коротко.
 
Сверху