Я целую неделю стучал головой об стену, поэтому подумал, что, наконец, обратимся к экспертам. Очень ценю за любую помощь.
[Примечание: первоначально опубликовал это на 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
Я рад опубликовать любую другую информацию, которая будет полезна. Еще раз спасибо! Очень ценится заранее.