Назад | Перейти на главную страницу

Openvpn для клиент / сервер в той же подсети

Я пытаюсь открыть vpn в офисной сети (192.168.1.0/24) от клиента, находящегося в сети с той же подсетью (также 192.168.1.0/24). Это сервер Linux (ubuntu 9.10) и клиент Windows.

Я следил за этим убунту Руководство по документации сообщества openvpn и насколько я могу судить, базовое соединение работает нормально. Конечно, я получаю кучу ошибок / предупреждений о конфликтах IP-адресов.

Я тогда пытался следовать это руководство на тему «Грязные уловки NAT, чтобы заставить VPN работать с клиентами, также пронумерованными в частном адресном пространстве», но они не увенчались успехом. Хотя у меня есть теоретическое понимание маршрутизации / маскарадинга, у меня относительно небольшой практический опыт, и я не уверен, что не так.

Итак, я дошел до того, что клиент подключается к серверу и ему назначается IP-адрес 10.22.8.10. Однако я не могу проверить связь с IP-адресом сервера 10.22.8.1, как того требует документация.

Конфигурация сервера в основном идентична руководство 1 с изменениями от руководство 2, то есть установка «server-bridge 10.22.8.1 255.255.255.0 10.22.8.10 10.22.8.120» и «push» route 10.22.0.0 255.255.0.0 10.22.8.1 ». Кроме того, я добавляю команды настройки интерфейса касания в up.sh.

Конфигурация клиента остается такой же, как руководство 1.

Сервер ifconfig tap0 (отредактируйте: извините, если это выглядит странно. На панели предварительного просмотра редактирования этого сообщения это выглядит нормально)

tap0 Link encap: Ethernet HWaddr ee: ee: a8: 04: 8a: fc inet addr: 10.22.8.1 Bcast: 0.0.0.0 Маска: 255.255.255.0 inet6 addr: fe80 :: ecee: a8ff: fe04: 8afc / 64 Объем: Link UP BROADCAST RUNNING PROMISC MULTICAST MTU: 1500 Метрика: 1 RX пакеты: 610 ошибок: 0 отброшено: 0 переполнений: 0 кадров: 0 TX пакетов: 4533 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 коллизий: 0 txqueuelen: 100 Байт приема: 111341 (111,3 КБ) Байт передачи: 650830 (650,8 КБ)

Клиентский вход в систему:

  Mon Mar 01 00:30:13 2010 OpenVPN 2.1.1 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Dec 11 2009  
    Mon Mar 01 00:30:13 2010 WARNING: No server certificate verification method has been enabled.  See URL-REDACTED for more info.
    Mon Mar 01 00:30:13 2010 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
    Mon Mar 01 00:30:13 2010 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
    Mon Mar 01 00:30:13 2010 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:13 2010 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:13 2010 LZO compression initialized
    Mon Mar 01 00:30:13 2010 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
    Mon Mar 01 00:30:13 2010 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
    Mon Mar 01 00:30:13 2010 Local Options hash (VER=V4): '13a273ba'
    Mon Mar 01 00:30:13 2010 Expected Remote Options hash (VER=V4): '360696c5'
    Mon Mar 01 00:30:13 2010 Socket Buffers: R=[8192->8192] S=[8192->8192]
    Mon Mar 01 00:30:13 2010 UDPv4 link local: [undef]
    Mon Mar 01 00:30:13 2010 UDPv4 link remote: REDACTED:1194
    Mon Mar 01 00:30:13 2010 TLS: Initial packet from REDACTED:1194, sid=11055cf2 cc0d1ea0
    Mon Mar 01 00:30:14 2010 VERIFY OK: depth=1, REDACTED
    Mon Mar 01 00:30:14 2010 VERIFY OK: depth=0, REDACTED
    Mon Mar 01 00:30:14 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 00:30:14 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:14 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 00:30:14 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:14 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
    Mon Mar 01 00:30:14 2010 [server] Peer Connection Initiated with REDACTED:1194
    Mon Mar 01 00:30:17 2010 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
    Mon Mar 01 00:30:17 2010 PUSH: Received control message: 'PUSH_REPLY,route 10.22.0.0 255.255.0.0 10.22.8.1,route-gateway 10.22.8.1,ping 10,ping-restart 120,ifconfig 10.22.8.10 255.255.255.0'
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: timers and/or timeouts modified
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: --ifconfig/up options modified
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: route options modified
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: route-related options modified
    Mon Mar 01 00:30:17 2010 ROUTE default_gateway=192.168.1.254
    Mon Mar 01 00:30:17 2010 TAP-WIN32 device [Local Area Connection 2] opened: \\.\Global\{7464875E-98E9-46AF-8F86-69FF32FFB722}.tap
    Mon Mar 01 00:30:17 2010 TAP-Win32 Driver Version 9.6 
    Mon Mar 01 00:30:17 2010 TAP-Win32 MTU=1500
    Mon Mar 01 00:30:17 2010 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.22.8.10/255.255.255.0 on interface {7464875E-98E9-46AF-8F86-69FF32FFB722} [DHCP-serv: 10.22.8.0, lease-time: 31536000]
    Mon Mar 01 00:30:17 2010 Successful ARP Flush on interface [33] {7464875E-98E9-46AF-8F86-69FF32FFB722}
    Mon Mar 01 00:30:22 2010 TEST ROUTES: 1/1 succeeded len=1 ret=1 a=0 u/d=up
    Mon Mar 01 00:30:22 2010 C:\WINDOWS\system32\route.exe ADD 10.22.0.0 MASK 255.255.0.0 10.22.8.1
    Mon Mar 01 00:30:22 2010 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=30 and dwForwardType=4
    Mon Mar 01 00:30:22 2010 Route addition via IPAPI succeeded [adaptive]
    Mon Mar 01 00:30:22 2010 Initialization Sequence Completed
    Mon Mar 01 01:30:14 2010 TLS: soft reset sec=0 bytes=648728/0 pkts=3922/0
    Mon Mar 01 01:30:14 2010 VERIFY OK: depth=1, REDACTED
    Mon Mar 01 01:30:14 2010 VERIFY OK: depth=0, REDACTED
    Mon Mar 01 01:30:15 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 01:30:15 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 01:30:15 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 01:30:15 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 01:30:15 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA

Кажется, что клиентский маршрут запущен нормально (печать маршрута):

  Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254     192.168.1.23     25
        10.22.0.0      255.255.0.0        10.22.8.1       10.22.8.10     30
        10.22.8.0    255.255.255.0         On-link        10.22.8.10    286
       10.22.8.10  255.255.255.255         On-link        10.22.8.10    286
      10.22.8.255  255.255.255.255         On-link        10.22.8.10    286
    ...

Однако, когда я пытаюсь перейти на 10.22.8.1, кажется, что он все еще хочет отключиться от моего локального интернет-соединения:

  C:\Windows\system32>tracert 10.22.8.1
    Tracing route to 10.22.8.1 over a maximum of 30 hops
      1     1 ms     1 ms     1 ms  home.gateway [192.168.1.254]
      2  nexthop.qld.iinet.net.au [203.55.228.88]  reports: Destination net unreachable.

Может ли кто-нибудь посоветовать мне, что я делаю неправильно (или, альтернативно, если есть простой и более разумный способ делать то, что я хочу - обратите внимание, что согласно решению № 1 в руководство 2, переименование любой подсети невозможно)

Значение метрики маршрута по умолчанию ниже, чем у маршрута 10.22.0.0/16, и он направляется на маршрут по умолчанию. При разрешении маршрутов, если адресату соответствует более одного маршрута, приоритет имеет маршрут с более низким значением метрики.

Либо протолкните маршрут по умолчанию через VPN, либо меньшую метрику для 10.22.0.0/16 (увеличьте метрику для маршрута по умолчанию).

Должно получиться так:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
      0.0.0.0          0.0.0.0    192.168.1.254     192.168.1.23    1000
    10.22.0.0      255.255.0.0        10.22.8.1       10.22.8.10     30
    10.22.8.0    255.255.255.0         On-link        10.22.8.10    286
   10.22.8.10  255.255.255.255         On-link        10.22.8.10    286
  10.22.8.255  255.255.255.255         On-link        10.22.8.10    286

Что вам нужно сделать, так это удалить маршрут по умолчанию и добавить маршрут, специфичный только для вашего VPN-сервера, и отметить его доступным через локальный маршрутизатор.

Итак, у вас должно быть 3 маршрута:

vpn.example.com   255.255.255.255 gw 192.168.1.254
192.168.1.0       255.255.255.0   gw 10.22.8.1
0.0.0.0           0.0.0.0         gw 10.22.8.1