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


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

Автор Тема: OpenVPN. Клиенты не видят друг друга.  (Прочитано 1290 раз)

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

Оффлайн serega1576

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
OpenVPN. Клиенты не видят друг друга.
« : 15 Августа 2016, 08:33:49 »
Всем привет. Подскажите пожалуйста почему клиенты двух подсеток не видят друг друга?
Конфиги следующие:
1я подсеть 192.168.28.0/24 (сервер OpenVPN 192.168.28.1(шлюз этой сети))
2я подсеть 192.168.30.0/24 (клиент OpenVPN 192.168.30.1(шлюз этой сети)).
Со шлюзов обоих сетей пингуются любые клиенты. И своей и чужой подсети. А вот клиенты не видят друг друга. Комп 192.168.28.4 не может достучаться до 192.168.30.7. И наоборот.
Конфиг сервера 192.168.28.1:
port 1194
# Протокол может быть UDP или TCP, я выбрал 1-й вариант.
proto udp
auth SHA512

# Если вы выберите протокол TCP, здесь должно быть устройство tap. Однако, это вариант я не проверял, поэтому ищите информацию отдельно. FIXME
dev tun

# Указываем где искать ключи
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key  # This file should be kept secret
dh /etc/openvpn/keys/dh2048.pem
# Для 12.04 dh1024.pem

# Задаем IP и маску виртуальной сети. Произвольно, но если не уверены лучше делайте как показано здесь
server 10.8.0.0 255.255.255.0

# Указыем, где хранятся файлы с настройками IP-адресов клиентов (создадим ниже)
client-config-dir ccd

# Запоминать динамически выданные адреса для VPN-клиентов и при последующих подключениях назначать те же значения.
ifconfig-pool-persist ipp.txt

# Указываем сети, в которые нужно идти через туннель (сеть-клиента).
route 192.168.30.0 255.255.255.0
route 192.168.4.0 255.255.255.0

#push "route 10.8.0.0 255.255.255.0"

# Включаем TLS
tls-server
tls-auth /etc/openvpn/keys/ta.key 0
tls-timeout 120
auth SHA1
cipher BF-CBC
# Если нужно, чтобы клиенты видели друг друга раскомментируйте
client-to-client

keepalive 10 120

# Сжатие трафика
comp-lzo

# Максимум клиентов
max-clients 30

user nobody
group nogroup

# Не перечитывать ключи, не закрывать и переоткрывать TUN\TAP устройство, после получения SIGUSR1 или ping-restart
persist-key
persist-tun

status openvpn-status.log
log /var/log/openvpn.log
# Детальность логирования
verb 3
# Защита от повторов (максимум 20 одинаковых сообщений подряд)
mute 20

# Файл отозванных сертификатов. Разремить, когда такие сертификаты появятся.
#crl-verify /etc/openvpn/crl.pem

#push "route {$remote IP} {$netmask} {$vpnserver_IP}"

Конфиг клиента 192.168.30.1:
client
dev tun
proto udp

# Внеший IP, на или за которым находится ваш сервер OpenVPN и порт (на сервере или роутере, за которым стоит сервер)
remote 195.206.56.74 1194

# необходимо для DynDNS
resolv-retry infinite

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/client1.crt
key /etc/openvpn/keys/client1.key
tls-client
tls-auth /etc/openvpn/keys/ta.key 1
auth SHA1
cipher BF-CBC
remote-cert-tls server
comp-lzo
persist-key
persist-tun

push "route 192.168.28.0 255.255.255.0"
push "route 192.168.4.0 255.255.255.0"


status openvpn-status.log
log /var/log/openvpn.log
verb 3
mute 20
Проблема не в правилах iptables. Так как разрешал вообще все, результата нет. Подозрительное в логах на сервере:
Mon Aug 15 13:13:53 2016 /sbin/ip route add 192.168.30.0/24 via 10.8.0.2
RTNETLINK answers: File exists
Mon Aug 15 13:13:53 2016 ERROR: Linux route add command failed: external program exited with error status: 2
Получается OpenVPN не может добавить маршрут? Почему? Из за этого сети не видят друг друга? Жду вашей критики и подсказок...

Пользователь добавил сообщение 15 Августа 2016, 08:53:59:
Интересно, а для третьей подсети 192.168.4.0/24 роут добавляется без ошибок. Вот с лога:
Mon Aug 15 13:13:53 2016 /sbin/ip route add 192.168.4.0/24 via 10.8.0.2И эту подсеть клиенты других сетей видят.
Почему 30я подсеть не добавляется?
« Последнее редактирование: 15 Августа 2016, 08:53:59 от serega1576 »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: OpenVPN. Клиенты не видят друг друга.
« Ответ #1 : 15 Августа 2016, 09:23:18 »
1. Клиент не имеет возможности указывать серверу на добавление маршрута. Рулёж сетевыми настройками - прерогатива (и обязанность) сервера

Почему 30я подсеть не добавляется?
Показывайте диагностику сети (ip a; ip r; sudo iptables-save) до и после поднятия туннеля.

Кстати, зачем убрали маршруты на саму сеть VPN? (10.8.0.0/24)

Проблема не в правилах iptables. Так как разрешал вообще все, результата нет.
Вы уверены?
А как на счёт sysctl net.ipv4.ip_forward?

Оффлайн serega1576

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: OpenVPN. Клиенты не видят друг друга.
« Ответ #2 : 15 Августа 2016, 09:38:19 »
Спасибо за подсказку и оперативный ответ fisher74! Выполнил команду ip a и увидел, что у меня тунель gre активен до 30 сети. До OpenVPN его использовал. Видимо сервер перезагружался ночью, и тунель поднялся автоматом, так как  не убрал конфиг из /etc/network/interfaces... Сделал ifdown этого тунеля и связь пошла. Тема закрыта! Недоглядел я...

 

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