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

Протяженность локальной сети через Интернет

У меня такой сценарий. Компьютер подключен к частной сети. я делаю НЕ иметь доступ для изменения чего-либо в этой частной сети. Я просто снабжен сетевым кабелем.

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

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

Я понимаю, что могу поставить два маршрутизатора, поддерживающих VPN-сервер, на обоих концах (маршрутизатор A и маршрутизатор B).

Я нашел VPN-роутер WN-300ARM-VPN, но после ознакомления с их документацией я обнаружил, что могу соединить что-то вроде двух разных сетей, так что, похоже, это меня не устраивает.

Короче говоря, не могли бы вы подсказать мне, какой тип / марку оборудования я могу купить, чтобы я мог расширить частную сеть через Интернет. Главное, чтобы настройки IP оставались прежними.

Спасибо всем за ваше время, все предложения более чем приветствуются.

OpenVPN в режиме моста может это сделать. Я широко использовал его в этом режиме для аналогичных целей. Для сети он неотличим от коммутатора, у которого два порта расположены в разных местах.

Специального оборудования не требуется. Это может сделать любая машина под управлением Linux с двумя сетевыми адаптерами. Есть также некоторые дистрибутивы маршрутизаторов, такие как Vyatta, которые это поддерживают. Возможно, вы также сможете использовать что-то вроде DD-WRT, но я не уверен в этом.

Вот как я это делаю с openSUSE в качестве дистрибутива. Это может быть немного проще с чем-то вроде Vyatta, но я делал это много раз, и он отлично работает:

Выберите одну машину в качестве сервера. Выполните на этой машине следующие задачи:

  1. Настройте easy-rsa для управления ключами (он хранится в /usr/share/openvpn/easy-rsa/2.0/ в openSUSE, но я делаю копию в / etc / openvpn вместо того, чтобы использовать ее в этом месте):

    • cd <местоположение easy_rsa>

    • Отредактируйте файл vars и установите параметры KEY_ *

    • . варс

    • ./clean-all

    • ./build-dh

    • ./pkitool --initca

    • ./pkitool --server mybridge-server

    • ./pkitool mybridge-client

  2. Создайте интерфейс моста, создав файл / etc / sysconfig / network / ifcfg-mybridge, где вы можете заменить mybridge любым именем, которое хотите:

    BOOTPROTO='none'
    BRIDGE='yes'
    BRIDGE_FORWARDDELAY='0'
    BRIDGE_PORTS='eth1'
    BRIDGE_STP='off'
    STARTMODE='auto'
    

2а. Я предполагаю, что здесь у вас будет eth1 как «внутренний» интерфейс. Фактически вы можете настроить его так, чтобы сервер использовал только одну сетевую карту, что на самом деле я обычно делал в этой ситуации, но я стараюсь сделать это несколько проще. Если вы хотите попробовать это, создайте мост, как указано выше, вместо этого поместите eth0 в BRIDGE_PORTS и скопируйте IP-информацию из ifcfg-eth0 в ifcfg-mybridge. Затем удалите ifcfg-eth0, так как ваш мост будет основным интерфейсом

  1. Создайте /etc/openvpn/mybridge-server.conf (при условии, что вы сделали копию easy-rsa):

    port 1194
    proto udp
    dev mytun
    dev-type tap
    mode server
    tls-server
    
    ca /etc/openvpn/easy-rsa/keys/ca.crt
    cert /etc/openvpn/easy-rsa/keys/mybridge-server.crt
    key /etc/openvpn/easy-rsa/keys/mybridge-server.key
    dh /etc/openvpn/easy-rsa/keys/dh1024.pem
    
    keepalive 10 600
    comp-lzo
    fast-io
    user nobody
    group nogroup
    persist-key
    persist-tun
    
    script-security 2
    up mybridge-up.sh
    
    status /var/run/openvpn/mybridge-server-status
    verb 3
    
  2. Создайте файл mybridge-up.sh в / etc / openvpn, чтобы обеспечить добавление интерфейса openVPN к мосту при его запуске:

    #!/bin/bash
    # Called with these args:
    #   tap_dev tap_mtu link_mtu ifconfig_local_ip ifconfig_netmask [ init | restart ]
    /sbin/ip link set $1 up
    /sbin/brctl addif mybridge $1
    
  3. Убедитесь, что openVPN запускается при загрузке, и запустите / перезапустите все:

    • chkconfig - добавить openvpn

    • rcnetwork перезапуск

    • rcopenvpn start

На этом этапе у вас будет интерфейс моста под названием mybridge, содержащий интерфейсы eth1 и mytun. Как и в любом коммутаторе, кадры Ethernet передаются только в том случае, если целевой Mac присутствует на другой стороне

Теперь вы можете настроить клиентскую часть:

  1. Создайте интерфейс моста, как и на сервере, создав файл / etc / sysconfig / network / ifcfg-mybridge:

    BOOTPROTO='none'
    BRIDGE='yes'
    BRIDGE_FORWARDDELAY='0'
    BRIDGE_PORTS='eth1'
    BRIDGE_STP='off'
    STARTMODE='auto'
    
  2. Скопируйте файлы ca.crt, mybridge-client.crt и mybridge-client.key на клиентский компьютер. Я буду использовать / etc / openvpn / keys / в моем примере

  3. Создайте /etc/openvpn/mybridge-client.conf:

    proto udp
    dev mytun
    dev-type tap
    client
    
    remote hostname_or_ip_of_server 1194
    
    ca /etc/openvpn/keys/ca.crt
    cert /etc/openvpn/keys/mybridge-client.crt
    key /etc/openvpn/keys/mybridge-client.key
    
    float
    resolv-retry infinite
    nobind
    comp-lzo
    fast-io
    user nobody
    group nogroup
    persist-key
    persist-tun
    
    script-security 2
    up mybridge-up.sh
    
    verb 3
    
  4. Скопируйте или создайте файл mybridge-up.sh с сервера в / etc / openvpn

  5. Как и на сервере, убедитесь, что openVPN запускается при загрузке, и запустите / перезапустите все:

    • chkconfig - добавить openvpn

    • rcnetwork перезапуск

    • rcopenvpn start

После всего этого любые машины с обеих сторон смогут общаться друг с другом, как если бы они находились в одном физическом сегменте. Вы можете даже обслуживать DHCP с одной стороны, если хотите, или удаленно выполнять настройку устройств, которые поставляются из коробки с предварительно настроенными статическими IP-адресами.

У вас есть два варианта:

  • Измените IP-адрес перемещаемого сервера. Это действительно предпочтительный вариант, и я не вижу в этой топологии никаких причин не делать этого, кроме как избегать внесения изменений в конфигурацию.
  • Расширьте подсеть / широковещательный домен до удаленной сети через L2TP.

Вы можете использовать какой-то обратный NAT на маршрутизаторе A.

Он будет перенаправлять любой запрос из частной сети на 172.20.20.15 на текущий IP-адрес сервера (общедоступный).

У меня нет примера конфигурации, который можно было бы показать, но его легко настроить в различных сетях корпоративного класса. (т.е. ни сохо, ни потребительского класса).

Я бы посоветовал вам маршрутизатор Cisco серии 800. http://www.cisco.com/en/US/products/hw/routers/ps380/prod_models_comparison.html

Я не знаю, как вы подключаетесь к Интернет-линии поставщика услуг Интернета (Ethernet, ADSL, SHDSL, ...), поэтому я не могу предложить вам конкретный маршрутизатор серии 800