Назад | Перейти на главную страницу

Использование шлюза в удаленной сети для доступа к другой подсети

У меня такая настройка:

VPN Clients     VPN Server
10.1.1.2        10.1.1.1   ---> Internet
10.1.1.3
10.1.1.4
10.1.1.5
   |
   \ 10.0.0.0/24 LAN

Клиенты VPN используют VPN-сервер по умолчанию для выхода в Интернет, и они могут видеть друг друга (например, я могу без проблем использовать ssh с 10.1.1.2 до 10.1.1.5).

Теперь я хотел бы достичь подсети, к которой подключен клиент 10.1.1.5 с машины 10.1.1.2.

Можно подумать, что:

   route add -net 10.0.0.0/24 gw 10.1.1.5 

Сделал бы трюк, но я получаю сообщение об ошибке «Сеть SCIOADDR недоступна». Это почему? Если бы я попытался использовать эту машину в качестве gw по умолчанию, это было бы понятно, но я хочу использовать ее только как шлюз в подсеть, которая, кстати, не перекрывается ни с какой другой.

Я использую openvpn, но сомневаюсь, что это важно с точки зрения маршрутизации.

Как это сделать без прокси и т.п.?

На 10.1.1.5 у меня есть:

 echo 1 > /proc/sys/net/ipv4/ip_forward
 iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE

Спасибо

По поводу ошибки "Сеть SCIOADDR недоступна"поднятый route add -net 10.0.0.0/24 gw 10.1.1.5, это происходит потому, что IP-адрес, который вы объявляете как шлюз (10.1.1.5), НЕ непосредственно доступный для вашего локального хоста (10.1.1.2). Учтите, что оба IP-адреса (10.1.1.5 и 10.1.1.2) назначены интерфейсам "tun" и ... они обрабатываются совсем не так, как Ethernet.

Чтобы решить вашу проблему, первым делом укажите правильный шлюз. Что касается клиента OpenVPN и связанных с ним интерфейсов «tun», то в качестве шлюза следует использовать тот, который указан как адрес P2P в интерфейсе tun. Например, с интерфейсом tun, определенным как в следующем случае:

    user@client_1:~$ ifconfig tun0
    tun0      Link encap:UNSPEC  [...]
              indirizzo inet:10.11.0.14  P-t-P:10.11.0.1  Maschera:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

шлюз должен быть 10.11.0.1.

Так что ваши route add должно быть (с таким P2P):

route add -net 10.0.0.0/24 gw 10.11.0.1

К сожалению, это будет не Решите проблему маршрутизации, потому что сеть, к которой вы собираетесь подключиться (10.0.0.0/24), полностью неизвестна OpenVPN. Чтобы решить эту другую проблему, вам понадобится параметр iroute, который должен быть определен / связан с клиентом 10.1.1.5. Я не собираюсь подробно обсуждать это, поскольку подробное обсуждение этой проблемы можно найти на этот другой ответ SF: пожалуйста, обратитесь к нему.