3

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

[Примечание: первоначально опубликовал это на ServerFault, ему сказали, что это лучшее место для него.]

Что я пытаюсь сделать: у меня есть некоторые ресурсы в моей локальной (домашней) сети, к которым я бы хотел иметь удаленный доступ. Мне нужно иметь доступ к ним как на удаленных компьютерах, так и на устройствах iOS. Этот последний пункт означает, что я должен использовать TUN, а не TAP, так как клиент iOS OpenVPN не поддерживает TAP. (Было бы также неплохо иметь возможность использовать этот VPN для доступа к более широкому Интернету, когда я нахожусь в отрывочной общественной зоне Wi-Fi, но это вторичная цель.)

Что я сделал до сих пор: у меня есть старый маршрутизатор Linksys e1200, я прошил DD-WRT с поддержкой OpenVPN (в частности, DD-WRT v24-sp2 (06/07/14) vpnkong) и успешно настроил OpenVPN & перенаправил порты с моего основного маршрутизатора, чтобы я мог подключиться к нему удаленно. (Я знаю, что могу подключиться, потому что при удаленном входе в VPN я могу получить доступ к странице администрирования маршрутизаторов.) Однако, как только мой удаленный клиент подключен, я не могу получить доступ к ресурсам локальной сети.

Я возился со всевозможными командами OpenVPN config/port forwarding/iptables, но, похоже, ничего не получалось. Тем не менее, я довольно новичок на этом уровне конфигурации сети и пытаюсь узнать, как работает маршрутизация, поэтому, если я делаю что-то глупое, дайте мне знать; это все переменчиво.

Моя настройка:

<The Internets>
     |
     |
--------------------------------
|   DSL modem                  |
|   Internal IP: 192.168.1.254 |
--------------------------------    
       |    
       |
-------------------------------          ----------------------------------
| Main router                 |          |  DD-WRT router running OpenVPN | 
|  192.168.1.67 from modem    | -------- |  IP:  10.0.0.17                |
|  Internal IP:  10.0.0.1     |          |  Subnet Mask: 255.255.255.0    |
|  Subnet Mask: 255.255.255.0 |          |  Gateway:  10.0.0.1            |
|  Hands out:  10.0.0.32-254  |          |  OpenVPN is server             |
|                             |          |       10.0.1.16/225.255.255.240|
-------------------------------          ----------------------------------
      |                                              |
      |                                              | 
Other things connected here       And some connected here as well, for testing

Я уверен, что модем DSL и основной маршрутизатор правильно перенаправляют порты, поскольку я могу удаленно подключить маршрутизатор DD-WRT и OpenVPN. Я запускаю вещи по TCP через порт 443. (Я действительно понимаю, что здесь происходит двойной NAT, могу изменить это, если это проблема. Я мог бы также подключить сервер OpenVPN непосредственно к модему DSL, если это было бы полезно в некотором роде.)

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

Моя текущая конфигурация OpenVPN:

server 10.0.1.16 255.255.255.240
push "dhcp-option DNS 10.0.0.1"
push "route 10.0.1.0 255.255.254.0"
push "route 10.0.0.0 255.255.254.0"
route 10.0.1.0 255.255.254.0
route 10.0.0.0 255.255.254.0
dev tun0
proto tcp
port 443
keepalive 15 30
cipher AES-256-CBC
daemon
verb 5
mute 5 
comp-lzo 
duplicate-cn 
tls-server 
client-to-client 
dh /tmp/openvpn/dh.pem c
a /tmp/openvpn/ca.crt 
cert /tmp/openvpn/cert.pem 
key /tmp/openvpn/key.pem 
management localhost 14 

Мой текущий брандмауэр на маршрутизаторе OpenVPN:

iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
iptables -I FORWARD 1 --source 10.0.0.0/23 -j ACCEPT
iptables -t nat -s 10.0.0.0/23 -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -J ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

Другое случайное (полезно?) информация: на роутере OpenVPN у меня отключены WAN & DHCP. На экране «Настройка> Расширенная маршрутизация» я установил режим работы "RIP2 Router" (мой основной маршрутизатор также является маршрутизатором RIP2).

Таблица маршрутизации на DD-WRT:

Destination  Subnet Mask        Gateway     Flags   Metric  Interface
10.0.1.18    255.255.255.255    0.0.0.0     UH      0       tun0
10.0.1.16    255.255.255.240    10.0.1.18   UG      0       tun0
10.0.0.0     255.255.255.0      0.0.0.0     U       0       LAN & WLAN
10.0.0.0     255.255.254.0      10.0.1.18   UG      0       tun0
169.254.0.0  255.255.0.0        0.0.0.0     U       0       LAN & WLAN
0.0.0.0      0.0.0.0            10.0.0.1    UG      0       LAN & WLAN

Я рад опубликовать любую другую информацию, которая будет полезна. Еще раз спасибо! Очень ценится заранее.

1 ответ1

0

Простота - прекрасная вещь.

Скорее используйте клиенты Mega / dropbox на ваших устройствах. Если вам нужно печатать на локальных принтерах, установите CloudPrint (Android) или вариант для iOS.

В противном случае выберите простой VPN-маршрут и используйте TeamViewer VPN. Убедитесь, что диапазон IP-адресов в сети клиента и хоста отличается. VPN может быть сложным, просто 1 неправильное предпочтение, и оно не будет работать, как ожидалось.

Я бы переключил маршрутизаторы и превратил то, что в настоящее время является основным маршрутизатором, в простой немой коммутатор, который принимает DHCP от «нового» основного маршрутизатора.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .