у меня есть сеть, которая изолирована от Интернета, и мне нужно время от времени удаленно подключаться к ней для обслуживания. Обратите внимание, что мне не нужно подключаться к конкретному компьютеру в этой сети, но мне нужно иметь возможность подключиться к любому компьютеру в сети.
Это моя идея:
Я бы предоставил linux-box (вероятно, RaspBerry PI), который должен быть подключен к изолированной сети, которая также имеет соединение GPRS с Интернетом.
После включения linux-box должен автоматически подключаться к Интернету через GPRS и должен предоставить мне возможность подключиться к нему (после надлежащей аутентификации) и получить доступ к изолированной сети. прозрачно.
Я должен иметь возможность видеть и использовать их интрантет-сайты прямо со своего компьютера (Linux), как если бы мой собственный компьютер был напрямую подключен к изолированной сети. Я должен иметь возможность загружать файлы на удаленные компьютеры в изолированной сети, я должен быть в состоянии пинговать и подключаться через ssh к любому из компьютеров в изолированной сети, я должен иметь доступ к системе обмена сообщениями, предоставляемой локальным XMPP сервер в той же сети и так далее. Вкратце, мой домашний компьютер должен иметь тот же локальный IP-адрес, что и мой удаленный Linux-бокс в изолированной сети, точно так же, как если бы я был там со своим собственным компьютером.
Создание linux-бокса, который автоматически подключается к Интернету после включения, не должно быть проблемой ... но как мне создать этот «мост» из изолированной сети к моему домашнему компьютеру после правильного входа в систему? Любая идея, решение или ссылка, которые могут быть полезны?
Я использую Linux для дома / работы уже несколько лет, но я никогда не пробовал ничего подобного, поэтому мои знания о VPN и проблемах совместного использования сети близки к нулю. Конечно, я готов изучить любую ссылку / книгу по этому вопросу, но я не знаю, с чего начать.
P.S .: Простите за ужасный английский, надеюсь, вопрос понятен.
Если вы подключаетесь удаленно, это не изолированно.
То, что вы описываете, может сработать. Вы, вероятно, просто захотите использовать OpenVPN и все, что касается удаленного подключения. Доступно множество руководств по OpenVPN, но я не могу порекомендовать конкретное. Начните с документации на их сайте: OpenVPN.net
Господи, я действительно надеюсь, что это не секретная сеть, которую вы разоблачаете.
Вам нужно превратить сервер, подключенный к Интернету, в VPN-сервер, openvpn очень полезен для этого. Есть несколько способов настроить openvpn. Я бы настроил его на использование UDP и интерфейса TUN.
После того, как вы настроили openvpn, вам нужно создать некоторые специальные правила iptables и запись маршрутизации, чтобы это работало.
Помимо интерфейса подключения к Интернету, сервер openvpn также имеет интерфейс, который соединяет его с другими экранированными серверами, которые, конечно же, находятся в одной подсети, давайте сделаем это 10.11.11.0/24.
Предполагая, что ваша сеть openvpn имеет подсеть 10.2.2.0/24, на сервере должны быть созданы следующие правила iptables:
# Allow TUN interface connections to openvpn server
iptables -A INPUT -i tun+ -j ACCEPT
# Allow TUN interface connections to be forwarded through other interfaces
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A FORWARD -o tun+ -j ACCEPT
# Allow TUN interface connections to get out
iptables -A OUTPUT -o tun+ -j ACCEPT
# allow routing from openvpn tunnels
iptables -t nat -A POSTROUTING -s 10.2.2.0/24 -j MASQUERADE
iptables -A FORWARD -i tun+ -s 10.2.2.0/24 -j ACCEPT
В вашем шлюзе / маршрутизаторе вам необходимо создать запись маршрутизации, которая направляет трафик для подсети 10.2.2.0/24 на сервер openvpn и обратно. В Linux это будет примерно так:
route add -net 10.2.2.0/24 gw 10.11.11.1 <-- IP of openvpn server
На практике это означает, что после установления удаленного соединения с этим сервером openvpn вы можете подключиться к компьютерам в защищенной сети. Эти компьютеры также должны иметь доступ к вашему компьютеру через одно и то же соединение openvpn.
Это также означает, что эти экранированные компьютеры теперь отправляют и получают трафик, который проходит через Интернет, хотя и через зашифрованное соединение vpn. Это означает, что теперь они менее безопасны (если даже немного), чем раньше, что может быть проблемой.
Поймите, что ваш домашний компьютер теперь является шлюзом для доступа к этой экранированной сети ... в зависимости от того, насколько решительно кто-то хочет получить к нему доступ, это может создать проблему. :-)
Вы использовали правильное слово - «мост».
Просто используйте openvpn в режиме Layer2 (тап) и подключите другой конец к «изолированной» * сети. Вы можете использовать brctl для настройки моста. После этого и подключения он будет таким же (с точки зрения сети), что и напрямую подключен к коммутатору в этой «изолированной» * сети.
* при подключении к нему извне он не изолирован. Это практически то же самое, если вы использовали ПК вместо rPi или если вы настроили другой интерфейс на любом из компьютеров, уже находящихся в сети.