The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
openvpn проблема с пингом, !*! xmolex, 12-Мрт-07, 13:49  [смотреть все]
Здравствуйте. Имеется локальная сеть 10.0.0.0/8, 192.168.1.0/32 и 213.142.214.0/32
Требуется создать vpn сервер, чтобы клиенты могли играть в игрушки :-) из локальной сети 10.0.0.0/8. Из этой сети подсети класса С соединяются при помощи маршрутизатора 213.142.214.14. На 213.142.214.12 поставил openvpn (сервер) и пытаюсь завести. 192.168.1.0/32 - это офисная сеть и тесты в ней провожу.

Конфиг сервера:
proto udp
local 213.142.214.12
dev tap
port 5000
tls-server
tls-auth /etc/openvpn/ta.key 0 ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
mode server
ifconfig 172.16.0.1 255.255.255.0 ifconfig-pool 172.16.0.2 172.16.0.254 push "route-gateway 172.16.0.1"
push "dhcp-option DNS 213.142.214.1"
duplicate-cn cipher DES-EDE3-CBC user nobody
group nobody
persist-tun persist-key
comp-lzo
keepalive 10 120
verb 3

Конфиг клиента:
client
proto udp
remote lanexpress.ru
port 5000
dev tap
resolv-retry infinite
redirect-gateway
persist-tun
persist-key
tls-client
tls-auth ta.key 1
dh dh1024.pem
ca ca.crt
cert user.crt
key user.key
cipher DES-EDE3-CBC
comp-lzo verb 3

Как вы наверное поняли, я пытаюсь создать виртуальную сеть 172.16.0.0/32. Сервер запускается без проблем, соединение на клиенте тоже устанавливается. Пробовал две машины из сети офиса, одной присвоился ip 172.16.0.2, другой 172.16.0.3. Но пинговать и общаться они не могут друг с другом. Не пингуется 172.16.0.1 (сервер), а он стоит шлюзом, поэтому и машины не общаются. Что делать - ума не приложу. Перепробывал море конфигов, но похоже сам не справлюсь, поэтому прошу помощи здесь. Может кто подскажет в чем может быть проблема.

  • openvpn проблема с пингом, !*! pavel_simple, 14:00 , 12-Мрт-07 (1)
    • openvpn проблема с пингом, !*! xmolex, 17:18 , 12-Мрт-07 (2)
      >думается мне что неподходящий инструмент OpenVPN для данного рода задачи -- тут
      >бы gre лучше использовать -- на худой конец ppp.
      Ну, насколько я понял из статей, он ничем не хуже.
      Проблему я решил. Оказалось, что трафик в 172.16/24 шел в rl0, а должен был в tup0. Прописал маршрут и все запинговалось. Но теперь другая проблема.
      Пытаюсь пинговать не сервер, а другого клиента - не пингуется.
      Смотрю tcpdump и вижу что идет arp запрос, а ответа нет. И больше ничего. Почему такое может быть?
      • openvpn проблема с пингом, !*! xmolex, 18:44 , 12-Мрт-07 (3)
        Похоже, что я уже общаюсь сам с собой. Ну да ладно.
        И эту проблему решил. Оказывается у клиентов неправильно выставляются маршруты. Когда указал, что 172.16.0.0 должны ходить через сервер (172.16.0.1), то все прекрасно заработало. Вообщем, заработал VPN. Можно конечно на этом и остановиться, но это не правильно. Почему сервер не правильно понимает шлюз? Он сам прописывает route add 172.16.0.0 ip-клиента (а должен сервера).
        Если я в конфиге сервера ставлю push "172.16.0.0 255.255.255.0", то добавляются два маршрута:
        route add 172.16.0.0 ip-клиента
        route add 172.16.0.0 172.16.0.1
        Ну, по крайней мере это мне route print показывает. А так как первым идет не правильный маршрут, то и не работает. Пробовал и route-gateway указывать. Но тогда 172.16.0.1 становится маршрутом по умолчанию, но к 172.16.0.0 явно указан маршрут и поэтому не работает. Может есть люди, которые неплохо знают openvpn? Подскажите как можно реализовать. Можно, конечно, через скрипты сделать, но должен же быть более цивильный способ.
  • openvpn проблема с пингом, !*! DogEater, 13:25 , 13-Мрт-07 (4)
    • openvpn проблема с пингом, !*! xmolex, 18:19 , 13-Мрт-07 (5)
      ># Uncomment this directive to allow different
      ># clients to be able to "see" each other.
      ># By default, clients will only see the server.
      ># To force clients to only see the server, you
      ># will also need to appropriately firewall the
      ># server's TUN/TAP interface.
      >client-to-client
      >
      >внимательнее читай комментарии в примере конфигурационного файла


      Спасибо, но проблему это не решило. Проблема в том, что клиент не правильно прописывает у себя маршруты и ставит шлюзом на впн сеть себя, а не сервер. Нужно заставить его правильно установить маршрут. Вот подумал, может можно его заставить сделать это силой.

      • openvpn проблема с пингом, !*! xmolex, 15:03 , 16-Мрт-07 (6)
        Администраторы, пожалуйста, помогите. Очень нужно докопаться до истины. Уже неделю разбираюсь, а понять не могу.
        Вот конфиги:
        ##############################################
        ########## сервер ##############
        proto udp
        local 213.142.214.12
        dev tap
        port 5000
        tls-server
        tls-auth /etc/openvpn/ta.key 0
        ca /etc/openvpn/ca.crt
        cert /etc/openvpn/server.crt
        key /etc/openvpn/server.key
        dh /etc/openvpn/dh1024.pem
        mode server
        ifconfig 172.16.0.1 255.255.255.0
        ifconfig-pool 172.16.0.2 172.16.0.254
        push "route-gateway 172.16.0.1"
        duplicate-cn
        user nobody
        group nobody
        persist-tun
        persist-key
        comp-lzo
        keepalive 10 120
        verb 3
        client-to-client

        ############ клиент ################
        client
        proto udp
        remote lanexpress.ru
        port 5000
        dev tap  
        resolv-retry infinite
        persist-tun
        persist-key
        tls-client
        tls-auth ta.key 1
        dh dh1024.pem
        ca ca.crt
        cert user.crt
        key user.key
        comp-lzo
        verb 3
        route-method exe
        route-delay 10
        show-net-up

        ###################################

        Когда коннекчусь к серверу, все устанавливается. Замечательно работает. Получаю адрес 172.16.0.2, могу пинговать себя, могу сервер (172.16.0.1), но не могу пинговать других клиентов. Это и не удивительно, посмотрел маршруты:
        SYSTEM ROUTING TABLE
        0.0.0.0 0.0.0.0 10.1.2.4 p=0 i=33554437 t=3 pr=3 a=14877 h=0 m=1/-1/-1/-1/-1
        0.0.0.0 0.0.0.0 192.168.1.1 p=0 i=16777220 t=4 pr=3 a=14877 h=0 m=2/-1/-1/-1/-1
        10.0.0.0 255.0.0.0 192.168.1.1 p=0 i=16777220 t=4 pr=3 a=15087 h=0 m=1/-1/-1/-1/-1
        10.1.2.4 255.255.255.255 127.0.0.1 p=0 i=1 t=3 pr=2 a=14878 h=0 m=1/-1/-1/-1/-1
        10.255.255.255 255.255.255.255 10.1.2.4 p=0 i=33554437 t=3 pr=2 a=14878 h=0 m=1/-1/-1/-1/-1
        127.0.0.0 255.0.0.0 127.0.0.1 p=0 i=1 t=3 pr=2 a=15153 h=0 m=1/-1/-1/-1/-1
        172.16.0.0 255.255.255.0 172.16.0.2 p=0 i=201326594 t=3 pr=2 a=1 h=0 m=1/-1/-1/-1/-1
        172.16.0.3 255.255.255.255 127.0.0.1 p=0 i=1 t=3 pr=2 a=1 h=0 m=1/-1/-1/-1/-1
        172.16.255.255 255.255.255.255 172.16.0.2 p=0 i=201326594 t=3 pr=2 a=1 h=0 m=1/-1/-1/-1/-1

        Почему не правильный шлюз вставляется? Должен же 172.16.0.1, а вставляется полученный ip. Ладно, забил на это дело. Думаю напишу батничек и он маршруты подправит. Пишу
        route delete 127.16.0.0
        route add 127.16.0.0 mask 255.255.255.0 172.16.0.1 metric 1
        И здесь тоже начинаются траблы. На win2000 все замечательно выполнилось и клиенты 2000 могут себя пинговать, но ... XP - это другое дело. route delete 127.16.0.0 - удаляет маршрут. Смотрю route print и офигеваю - 127.16.0.0 255.255.255.0 127.16.0.2. Делаю еще раз route delete 127.16.0.0, говорит, что не найден указанный маршрут, но print показывает, что он есть. Пробовал мухлевать с приоритетом метрик, все одно - не пингуется. Не хотят пакеты идти через сервер.

        Прошу помощи. Подскажите либо как сделать, чтобы openvpn правильно понимал маршрут, либо как победить xp и удалить этот маршрут (RRAS отключена).
        Пожалуйста, я в отчаянии.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру