Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: openvpn не видно сеть за сервером  (Прочитано 8713 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн KulakovSergey

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
openvpn не видно сеть за сервером
« : 21 Февраля 2012, 22:12:04 »
Доброго времени суток всем и в частности fisher74.
На форуме уже был похожая тема, но как я понял она уже закрыта, хотя лично для меня задача так и не решилась.

Задача:
Есть n удалённых рабочих станций, которым нужно подключаться к удалённому терминальному серверу с IP: 192.168.0.1 компании по защищённому каналу.

Описание интерфейсов:
auto eth0
iface eth0 inet static
address 192.168.1.4
netmask 255.255.255.0
gateway 192.168.1.1

auto eth1
iface eth1 inet static
address 192.168.0.3
netmask 255.255.255.0

192.168.1.4 - смотрит на модем 192.168.1.1
192.168.0.3 - смотрит в локальную сеть 192.168.0.0
Внешний интерфейс x.x.x.x назначается модему, с него настроен портфорвардинг по порту 1194 на интерфейс сервера 192.168.1.4

Конфигурация OpenVPN сервера сервера:
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
verb 4
mute 20

Конфигурация одного из n клиентов
remote x.x.x.x
port 1194
client
dev tun
proto udp
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\client1.crt"
key "C:\\Program Files\\OpenVPN\\config\\client1.key"
comp-lzo
verb 4
mute 20

Клиент устанавливает VPN соединение, получает IP: 10.8.0.6

Ethernet adapter Подключение по локальной сети 2:

DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : TAP-Win32 Adapter V9
Физический адрес. . . . . . . . . : 00-FF-5E-E5-5F-A0
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена. . . . . . : Да
Локальный IPv6-адрес канала . . . : fe80::fc8e:a8cb:5536:3570%17(Основной)
IPv4-адрес. . . . . . . . . . . . : 10.8.0.6(Основной)
Маска подсети . . . . . . . . . . : 255.255.255.252
Аренда получена. . . . . . . . . . : 20 февраля 2012 г. 21:09:26
Срок аренды истекает. . . . . . . . . . : 19 февраля 2013 г. 21:09:27
Основной шлюз. . . . . . . . . :
DHCP-сервер. . . . . . . . . . . : 10.8.0.5
IAID DHCPv6 . . . . . . . . . . . : 234946398
DUID клиента DHCPv6 . . . . . . . : 00-01-00-01-15-D8-8F-FA-00-24-1D-04-BF-66
DNS-серверы. . . . . . . . . . . : fec0:0:0:ffff::1%1
                                   fec0:0:0:ffff::2%1
                                   fec0:0:0:ffff::3%1
NetBios через TCP/IP. . . . . . . . : Включен

Пингуются IP-адреса OpenVPN сервера: 10.8.0.1 и 192.168.0.3, но вся сеть за сервером 192.168.0.0 и в частности нужный мне 192.168.0.1 не доступны.

У меня очень плохо с iptables  и роутингом, во многих форумах говорится о том, что достаточно прописать всего один маршрут и всё заработает. Но какой маршрут точно никто пример не приводит.

Уважаемый fisher74, Вы писали:
Цитировать
Клиенту в конфиг добавьте параметр pull (возможно и не надо, но не помешает) и смотрите его таблицу маршрутизации (route print) на наличие маршрута на сеть 192.168.0.0/24 через tun0

Серверу в конфиг добавьте строку:
route 10.8.0.0 255.255.255.0

Смотрите маршрутизацию на терминальном сервере: либо должен быть маршрут на 10.8.0.0/24 через 192.168.0.3, либо этот же адрес должен быть дефолтным шлюзом.
Проверьте включен ли форвардинг в ядре (sysctl net.ipv4.ip_forward)

Ну и таблесы... куда же без них. Надо смотреть цепочку FORWARD

1) Добавление параметра pull в конфиг пользователя особо не помогло.

2) Не совсем понимаю зачем добавлять строку
route 10.8.0.0 255.255.255.0в конфиг сервера?!
Эта строка вроде бы нужна для прописывания обратного маршрута до клиента, а мне нужно пробиться в сеть за сервером.
Строку прописал, не помогло.

3) Форвардинг в ядре включил на постоянку.
root@OpenVPNServer:~# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

4) Маршруты на клиенте после подключения
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0      192.168.2.1      192.168.2.5     20
         10.8.0.1  255.255.255.255         10.8.0.5         10.8.0.6     30
         10.8.0.4  255.255.255.252         On-link          10.8.0.6    286
         10.8.0.6  255.255.255.255         On-link          10.8.0.6    286
         10.8.0.7  255.255.255.255         On-link          10.8.0.6    286
        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
      192.168.0.0    255.255.255.0         10.8.0.5         10.8.0.6     30
      192.168.2.0    255.255.255.0         On-link       192.168.2.5    276
      192.168.2.5  255.255.255.255         On-link       192.168.2.5    276
    192.168.2.255  255.255.255.255         On-link       192.168.2.5    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.2.5    276
        224.0.0.0        240.0.0.0         On-link          10.8.0.6    286
  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.2.5    276
  255.255.255.255  255.255.255.255         On-link          10.8.0.6    286
===========================================================================

Честно говоря не понятно откуда берётся шлюз 10.8.0.5 для подсети 192.168.0.0

5) На терминальный сервер добавил постоянный маршрут
route -p add 10.8.0.0 192.168.0.3===========================================================================
Постоянные маршруты:
  Сетевой адрес            Маска    Адрес шлюза      Метрика
          0.0.0.0          0.0.0.0      192.168.0.4  По умолчанию
         10.8.0.0  255.255.255.255      192.168.0.3       1
===========================================================================

Вроде всё, но 192.168.0.1 всё равно пока не пингуется.
Подскажите, может нужно прописывать какие-то дополнительные правила IPTABLES?
Я думал, что кода
Цитировать
push "route 192.168.0.0 255.255.255.0"
в конфиге сервера для доступа в сеть за сервером достаточно?!
Буду благодарен за любую помощь всем!

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: openvpn не видно сеть за сервером
« Ответ #1 : 22 Февраля 2012, 06:36:21 »
Цитировать
Честно говоря не понятно откуда берётся шлюз 10.8.0.5 для подсети 192.168.0.0
Вы же сами в конфиге сервера посылаете команду клиенту на его создание
Цитировать
1) Добавление параметра pull в конфиг пользователя особо не помогло.
И как раз этот параметр в клиенте разрешает исполнить эту команду

По сути проблемы:
5) На терминальный сервер добавил постоянный маршрут
route -p add 10.8.0.0 192.168.0.3
А я Вам сказал какой добавить?
Читаем внимательно:
Цитировать
маршрут на 10.8.0.0/24 через 192.168.0.3
поправьте его и у Вас всё заработает
« Последнее редактирование: 22 Февраля 2012, 06:54:56 от fisher74 »

Оффлайн usefree

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: openvpn не видно сеть за сервером
« Ответ #2 : 22 Февраля 2012, 18:17:52 »
не сочтите за рекламу, просто однажды сам много шишек набил настраивая опенвпн - везде попадались только непоные решения, расчитанные на то, что настраивающий разбирается в маршрутизации и правилах фаервола. Путем ковыряния нескольких тем с этого форума написал небольшой 100% рабочий мануал. http://usefree.com.ua/poleznye-programmy-2/openvpn.html

Оффлайн KulakovSergey

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: openvpn не видно сеть за сервером
« Ответ #3 : 22 Февраля 2012, 19:17:02 »
Да, извиняюсь, маршрут добавил не совсем так как написал.
На терминальный сервер добавлял маршрут
Цитировать
route -p add 10.8.0.0 mask 255.255.255.0 192.168.0.3
Т.е. этот маршрут аналогичен
Цитировать
route -p add 10.8.0.0/24 192.168.0.3
Цитировать
===========================================================================
Постоянные маршруты:
Сетевой адрес            Маска    Адрес шлюза      Метрика
        0.0.0.0          0.0.0.0      192.168.0.4  По умолчанию
        10.8.0.0    255.255.255.0      192.168.0.3       1
===========================================================================
Но пинги всё равно не проходят.

Пользователь решил продолжить мысль 22 Февраля 2012, 19:23:15:
РЕШЕНО

Большое спасибо fisher74 и galaxer.
Все Ваши ответы очень помогли.
Тем кто наткнётся на эту тему хочу сказать, читайте внимательнее и главное, то что мне в конечном помогло при описанной выше конфигурации.

sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -i tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -j ACCEPT
sudo iptables -A FORWARD -o tun0 -j ACCEPT

Всё таки правила IPTABLES нужны.
« Последнее редактирование: 22 Февраля 2012, 19:23:15 от KulakovSergey »

Оффлайн GoldFXTrader

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: openvpn не видно сеть за сервером
« Ответ #4 : 24 Февраля 2012, 02:02:42 »
Вопросик есть. Столкнулся с такой же проблемой...

IPtables нужно править в соответствии с кодом:
sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -i tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -j ACCEPT
sudo iptables -A FORWARD -o tun0 -j ACCEPT
на обеих сторонах?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: openvpn не видно сеть за сервером
« Ответ #5 : 24 Февраля 2012, 09:22:03 »
Только на сервернойю

P.S. Плохо, если Вы не понимаете действий которые делаете при настройке системы. В случае нештатных ситуаций будут проблемы с диагносткой.

 

Страница сгенерирована за 0.055 секунд. Запросов: 25.