Недавно я перешел с домашнего OpenVPN на домашний Cisco (XAuth) IPSec VPN для большей совместимости. Однако я не нашел документации по "проталкиванию" маршрутов от сервера IPSec к клиентам. В OpenVPN это довольно просто, просто добавьте push "route 10.10.10.0 255.255.255.0"
в конфигурацию, чтобы направить клиентов в подсеть 10.10.10.0/24
через сервер. Однако настройки Cisco IPSec VPN сильно отличаются, и я не могу понять, как это сделать. Чтобы уточнить, вот что теперь видит клиент в VPN:
+--------------+ +--------+ +--------------+
| Client #1 |--------------| Server |----------------| Client #2 |
| 198.51.100.2 | +--------+ | 198.51.100.3 |
+--------------+ +--------------+
Но я хочу, чтобы это выглядело примерно так:
+---------------+
+-------------+ | Device on |
| Device on | +----| LAN #2 |
| LAN #1 | | | 192.168.0.100 |
| 192.168.0.3 |-------------+ +---------------+
+-------------+ |
+--------------+ +--------+ +--------------+
| Client #1 |--------------| Server |----------------| Client #2 |
| 198.51.100.2 | +--------+ | 198.51.100.3 |
+--------------+ +--------------+
Таким образом, если, например, на устройстве в локальной сети № 2 запущен веб-сервер, клиент, подключенный к VPN, может ввести http://192.168.0.100/
в веб-браузер, и он подключится. Если на клиенте № 1 также запущен веб-сервер, устройство в локальной сети также может подключиться к нему через http://198.51.100.2/
. Также клиенты VPN могут пинговать друг друга и устройства в локальной сети. Спасибо!
ПРИМЕЧАНИЕ. Я НЕ использую L2TP/IPSec, я использую Cisco IPSec/Xauth:
РЕДАКТИРОВАТЬ: я тестировал вручную добавление маршрута на клиенте, и это работает, так что это просто вопрос сервера, говорящего клиенту, чтобы добавить такой маршрут.
Например, для маршрутизации подсети 192.168.0.0/24 через шлюз 198.51.100.1 выполните эту команду в Mac OS X:
sudo route -n add -net 192.168.0.0/24 198.51.100.1
и эта команда:
sudo route add -net 192.168.0.0/24 gw 198.51.100.1
в линуксе