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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: OpenVPN, не видна сеть за сервером. Маршрутизация...  (Прочитано 2006 раз)

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

Оффлайн iPeter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Добрый день, уважаемые посетители и завсегдатаи этого славного ресурса.

Мне стыдно, как специалисту, но выбора нет. Я вынужден просить помощи в теме которую изъездили не то что вдоль и поперёк, но и вкось и вкривь.

Дана простая задача. Нужно соединить ноутбук директора с постоянно меняющимся IP адресом с локальной сетью организации.
Причём сетевые ресурсы, как таковые не нужны. По факту надо, чтобы директор подключился по VPN в локальную сеть организации, кликнул ярлык RDP с рабочего стола и провалился на файловый сервер.

Есть сервер, выполняющий роль шлюза под управлением Ubuntu Server 14.04 с 2 сетевыми картами.
Одна (eth1) смотрит в интернет (статика от провайдера), вторая смотрит в локалку (eth0).

Началось всё хорошо. Установил OpenVPN по статье с диджиталокеан (надеюсь тут не ругают за ненавязчивую рекламу). Я не специально. Заранее прошу прощения.

Конфиг сервера:
Код: (html5) [Выделить]
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0

# Банальная подсеть VPN
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

# Вычитал, что клиент подключающийся извне должен видеть сеть в которую подключается
# Сеть компьютеров в локалке в нулевой подсети
push "route 192.168.0.0 255.255.240.0"

# Телефонные аппараты в локалке в первой подсети
push "route 192.168.1.0 255.255.240.0"

# Маршруты в сети (сеть - маска - IP который был выделен VPN сервером клиенту
route 192.168.0.0 255.255.240.0 10.8.0.6
route 192.168.1.0 255.255.240.0 10.8.0.6

push "redirect-gateway def1 bypass-dhcp"

# DNS`ы чтобы получал в той сети
push "dhcp-option DNS 192.168.0.111"
push "dhcp-option DNS 192.168.0.222"

# Чтобы домен распознавался
push "dhcp-option DOMAIN zavod.ru"

client-to-client
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log         openvpn.log
verb 3

Конфиг клиента Windows
Цитировать
Просто взял базовый конфиг из папки sample-config -> client.ovpn

Изменил в нём только строку с remote my-server-1 1194 (вместо my-server-1 вставил IP адрес с eth1 указанного в начале топика).

В файле rc.local добавил следующие строки:
Код: (html5) [Выделить]
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE

По iptables всё настроено штатно, без изысков. Всё закрыто, что не нужно. Открыто то, что нужно. Ничего лишнего.

Перезагрузил шлюз, ввёл в консоль команду:
ip addr show tun0

и увидел вывод:
Код: (html5) [Выделить]
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
       valid_lft forever preferred_lft forever

На ноутбук установил ту же базовую программу, скопировал в папку "config":
Код: (html5) [Выделить]
client.crt
client.key
ca.crt
ta.key
client.ovpn ->
в нём изменил только IP шлюза который указан выше.

...и всё подключилось.

Вроде бы занавес, но нет.
IP получил 10.8.0.6, маску 255.255.255.254... и всё. Не могу пинговать ни сам адрес 10.8.0.1, ни какие то иные и уж подавно не вижу сеть за сервером VPN.

Теперь прошу кидать тапками. Я просто на пике отчаяния. Знаний и умений конкретно в этом вопросе у меня не хватает, спросить не у кого. На ноутбуке директора никаких маршрутов, таблиц нет. Стоит простенький 360TS.

Цитировать
Правила форума
1.4. Листинги и содержимое текстовых файлов следует добавлять в сообщение с помощью тегов [spoiler]...[/spoiler] или [code]...[/code], либо прикреплять к сообщению в виде отдельного файла. Длинные гиперссылки следует оформлять при помощи тега [url=]...[/url]

  --Aleksandru
« Последнее редактирование: 07 Июля 2020, 22:14:22 от Aleksandru »

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1116
    • Просмотр профиля
Бегло прочитал.

Ну вобщем я бы пошёл следующим путём:

1. Вместо eth0 сделал бы br0 (бридж), в который включил бы eth0
2. В OpenVPN отказался бы от tun-устройства в пользу tap (dev tap)
3. Ну и в целом перенастроил бы OpenVPN. Читать начал бы отсюда.

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

Оффлайн iPeter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Спасибо большое за совет, я обязательно прочитаю статью на которую вы указываете, но в моём случае у меня не осталось времени на что то новое с нуля.
Я не остановился и "курю" мануалы по просторам интернета, но всё, что советуют так или иначе уже указано в моих настройках сервера vpn...

P.S. ув. модератор, спасибо за коррективы в теме.

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1116
    • Просмотр профиля
А в sysctl есть

net.ipv4.ip_forward = 1

?

Оффлайн iPeter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
А в sysctl есть

net.ipv4.ip_forward = 1

(Нажмите, чтобы показать/скрыть)

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Я конечно не большой специласт и сетей предприятий у меня нет, но я Вам одну вещь скажу, только Вы не обижайтесь ©.
То, что у Вас разрешено в iptables, известно только Вам, с ходу нет правила для сети назначения VPN. И по nat вопрос, зачем оно тут нужно? Далее, Вам нужно определяться с роутингом, который выдаёт VPN-сервер:
Вы или назначтьте одну сеть
Код: (text) [Выделить]
push "route 192.168.0.0 255.255.240.0" либо объявите две сети с маской /24, а так что-то не сходиться.
Ну или делайте lan-to-lan, как вам и посоветовали.
« Последнее редактирование: 09 Июля 2020, 09:37:43 от koshev »
OpenWrt 19.07

Оффлайн iPeter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Я понимаю о чём вы пишите. Я не готов идти по другому пути. У меня на этом пути остался 1 штрих - оформить правильный маршрут от VPN клиента из его подсети (10.8.0.0) в подсеть с терминалкой (192.168.0.0).
Из конфига сервера убрал строку с подсетью телефонии (192.168.1.0).

 

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