Openvpn маршрутизация для локальной сети через туннель

8

Я пытаюсь настроить OpenVPN Tun для подключения двух локальных сетей.

Открытое соединение vpn установлено и работает, но есть проблема с моей маршрутизацией или nat или чем-то.

Что мне нужно, это пример того, как должна работать работающая маршрутизируемая установка openvpn на стороне сервера и клиента. В основном таблицы маршрутизации, трансляции Nat, брандмауэры и т. Д.

Вот что у меня работает:
введите описание изображения здесь

Мой клиент OpenVPN может получить доступ к сети на стороне сервера, но мой сервер не может даже пропинговать мой клиент OpenVpn eth0

Мои серверы маршрутизации:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0 10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.3.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0 192.168.4.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0

Мои клиенты маршрутизации:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.64.64.64 0.0.0.0 UG 0 0 0 3g-wan 10.8.0.0 10.8.0.9 255.255.255.255 UGH 0 0 0 tun0 10.8.0.9 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 3g-wan 192.168.1.0 10.8.0.9 255.255.255.0 UG 0 0 0 tun0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Это автоматически устанавливается openvpn с помощью:

push "route 192.168.1.0 255.255.255.0"

маршрут 192.168.3.0 255.255.255.0
маршрут 192.168.4.0 255.255.255.0

и команда iroute в директории client-config-dir

Если кто-то может предложить что-то, что мне нужно проверить, я был бы очень благодарен, Алекс

Редактировать 1 #

Конфигурация сервера OpenVPN:

port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/mom_server.crt
key /etc/openvpn/keys/mom_server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.1.0 255.255.255.0"
client-config-dir /etc/openvpn/ccd
client-to-client
route 192.168.3.0 255.255.255.0
push "route 192.168.3.0 255.255.255.0"
route 192.168.4.0 255.255.255.0
push "route 192.168.4.0 255.255.255.0"
keepalive 10 120
comp-lzo
user nobody
chroot /etc/openvpn
group nogroup
daemon
persist-key
persist-tun
status openvpn-status.log
verb 3

В / etc / openvpn / ccd / flexo_client

iroute 192.168.3.0 255.255.255.0
iroute 192.168.4.0 255.255.255.0

Редактировать 2 #

У меня это работает, см. Здесь для решения:

https://forums.openvpn.net/topic15768.html

Alex
источник
8
Пожалуйста, опубликуйте решение с форумов openvpn в качестве ответа здесь и примите его в духе совместного использования и хорошего гражданства SF. Спасибо!
MichelZ

Ответы:

3

ОП разместил ответ на форумах.openvpn.net


Используйте эту конфигурацию сервера:

port 1194
proto udp
dev tun

topology subnet
mode server
tls-server

server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt # flexo_client,10.8.0.4

client-config-dir ccd
client-to-client

#ifconfig 10.8.0.1 255.255.255.0
route 192.168.3.0 255.255.255.0 10.8.0.4
route 192.168.4.0 255.255.255.0 10.8.0.4

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/mom_server.crt
key /etc/openvpn/keys/mom_server.key  # This file should be kept secret
dh /etc/openvpn/keys/dh1024.pem

keepalive 10 120i

comp-lzo

user nobody
chroot /etc/openvpn
group nogroup
daemon

persist-key
persist-tun

status openvpn-status.log

verb 3

С этим / etc / openvpn / ccd / flexo_client

push "route 192.168.1.0 255.255.255.0 10.8.0.1"
iroute 192.168.3.0 255.255.255.0
iroute 192.168.4.0 255.255.255.0

и этот клиентский конфиг:

config openvpn 'flexo_client'
   option nobind '1'
   option float '1'
   option client '1'
   option comp_lzo '1'
   option dev 'tun0'
   option verb '3'
   option persist_tun '1'
   option persist_key '1'
   option remote_cert_tls 'server'
   option remote 'x.x.x.x'
   option proto 'udp'
   option resolv_retry 'infinite'
   option ca '/etc/openvpn/ca.crt'
   option cert '/etc/openvpn/flexo_client.crt'
   option key '/etc/openvpn/flexo_client.key'
   option ns_cert_type 'server'
   option topology 'subnet'
   option enable '1'    

Более подробную информацию об использовании OpenVPN и iroute можно найти на backreference.org.

Тим Пеннер
источник
0

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

статический ключ, топология p2p, протокол udp и TUN

Я исправил проблему, добавив

keepalive 20 120

как серверу, так и клиенту. Это приведет к тому, что пинг будет отправляться каждые 20 секунд, и предполагается, что соединение будет разорвано, если прошло 120 секунд без ответа.

Ramast
источник