Почему моего клиента OpenVPN машины доступ по сети, OpenVPN сервер?

Я настроил OpenVPN на моем Linux сервере и Windows клиенте согласно инструкции здесь. Мой клиент может получить доступ к серверу,но не может получить доступ к локальной сети.

мой сервер 10.23.29.64/24, мой клиент OpenVPN подсети 10.23.30.0/24 и мой клиент 10.0.0.71/24, чтобы не возникло накладок.

мой файл конфигурации сервера:

port 53
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.23.30.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.23.29.0 255.255.255.0"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

мой клиент конфиг

client
dev tun
proto udp
remote HOSTNAME_REMOVED 53
resolv-retry infinite    
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3

при подключении, мой клиент получает 10.23.30.6/30 и добавлено 4 маршрута:

   10.23.29.0    255.255.255.0       10.23.30.5      10.23.30.6       1
   10.23.30.1  255.255.255.255       10.23.30.5      10.23.30.6       1
   10.23.30.4  255.255.255.252       10.23.30.6      10.23.30.6       30
   10.23.30.6  255.255.255.255        127.0.0.1       127.0.0.1       30

мой сервер получает 10.23.30.1/32 (ВОЗМОЖНО, В ЭТОМ ПРОБЛЕМА?)

мой клиент может пинговать сервер на 10.23.30.1 и 10.23.29.64, но он не может получить дальше, чем это. Что еще мне нужно сделать, чтобы получить этот клиентский доступ к остальной части моей локальной сети?

обновление:

я добавил статический маршрут к моему маршрутизатору, так что таблица маршрутизации выглядела так

{admin}=>ip rtlist
Label             Destination          Gateway  Interface     Mtc Admin  Oper
                 10.0.0.138/32       127.0.0.1  loop          0   UP     [UP]
                 10.0.0.255/32       127.0.0.1  loop          0   UP     [UP]
               10.23.29.254/32       127.0.0.1  loop          0   UP     [UP]
               10.23.29.255/32       127.0.0.1  loop          0   UP     [UP]
             87.115.131.206/32       127.0.0.1  loop          0   UP     [UP]
                  127.0.0.1/32       127.0.0.1  loop          0   UP     [UP]
            255.255.255.255/32       127.0.0.1  loop          0   UP     [UP]
            195.166.128.189/32  87.115.131.206  Internet      0   UP     UP
                212.159.6.9/32                  Internet      10  UP     UP
               212.159.6.10/32                  Internet      10  UP     UP
                   10.0.0.0/24      10.0.0.138  LocalNetwork  0   UP     [UP]
                 10.23.29.0/24    10.23.29.254  LocalNetwork  0   UP     [UP]
                 10.23.30.0/24     10.23.29.10  LocalNetwork  0   UP     [UP]
                    0.0.0.0/0                   Internet      10  UP     UP

но когда я сделал traceroute с 10.23.29.10 в 10.23.30.1 у меня есть:

traceroute to 10.23.30.1 (10.23.30.1), 30 hops max, 60 byte packets
 1  dsldevice.lan (10.23.29.254)  2073.983 ms  2073.481 ms  74.545 ms
 2  * * *

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

5
задан Grezzo
06.01.2023 5:05 Количество просмотров материала 3176
Распечатать страницу

4 ответа

Я наконец-то понял в чем проблема. Я использую опцию "маршрутизация" OpenVPN, которая создает новую подсеть для всех соединений OpenVPN. Моему клиенту назначался IP-адрес из этой подсети, как и моему серверу, чтобы они могли общаться друг с другом по этой сети. С включенной переадресацией IPv4 на моем сервере я также мог отправлять пакеты в свою локальную сеть и, очевидно, мог разговаривать с сервером через его IP-адрес в локальной сети.

когда клиент пытался поговорить с другие компьютеры в моей локальной сети, пакеты от моего клиента достигали моих локальных хостов (я не проверял это, но я уверен, что они были), но адрес источника этих пакетов был адресом из сети OpenVPN. Хосты локальной сети знали, что это не было в их локальной сети, и единственное, что они знали, чтобы сделать в этом случае было отправить их на шлюз по умолчанию, который был мой маршрутизатор. Я сомневаюсь, что он сделал что-нибудь с ними, поскольку отправка пакета в частный IP-диапазон в интернете бессмысленный.

решение состоит в том, чтобы добавить статический маршрут ко всем узлам локальной сети, или использовать опцию "мост" OpenVPN вместо "маршрутизации". Я еще не сделал этого, но уверен, что это правильный путь.

6
отвечен Grezzo 2023-01-07 12:53

Я не думаю, что нужно добавлять статический маршрут ко всем узлам локальной сети. Вы можете просто добавить статический маршрут в свой шлюз в этой локальной сети, указав все openvpn-сетевые адреса на сервере openvpn "lan-ip address".

2
отвечен anony 2023-01-07 15:10

та же проблема с моим конфигом, но исправлено:

поскольку вы используете настройки OpenVPN Road warrior, пакеты отмечаются маршрутизированными, но NATed. Вы должны настроить параметры исходящего NAT для перевода любых исходных портов с виртуальных IP-адресов OpenVPN на интерфейсе LAN на любые порты назначения с адресом WAN NAT.

в pfSense, вы должны отключить автоматическое исходящее правило NAT в ручное исходящее правило NAT и просто добавить новое правило для OpenVPN внутренняя сеть.

1
отвечен AsynKc 2023-01-07 17:27

здесь тот же вопрос (с помощью этого руководства по настройке: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-14-04)

ответ Анони о статическом маршруте был ключевым. На DD-wrt в разделе setup - > advanced routing:

DD-wrt настройка статического маршрута

здесь

  • место назначения: openvpn tun0 interface
  • шлюз: сервер под управлением openvpn (lan ip)

Это сделал трюк для меня!

0
отвечен Tom Ratcliff 2023-01-07 19:44

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх