У меня проблемы с работой моего VPN-клиента в открытом режиме. Фактическое соединение VPN работает нормально, и я смог получить доступ к удаленной сети с маршрутизатора, но когда мой VPN активен, он отключает мое интернет-соединение. Похоже, он пытается направить весь трафик через VPN. Теперь я попытался использовать опцию route_noexec, из-за которой я больше не могу получить доступ к удаленной сети. Пока мне не удалось добавить маршрут VPN вручную.
Это конфигурация моего VPN-клиента:
config openvpn 'sample_client'
option client '1'
option dev 'tun'
option resolv_retry 'infinite'
option nobind '1'
option persist_key '1'
option persist_tun '1'
option comp_lzo 'yes'
option verb '3'
option remote '*******.com 1194'
option cipher 'AES-128-CBC'
option reneg_sec '3600'
option enabled '1'
option proto 'tcp'
option auth 'SHA1'
option pkcs12 '/lib/uci/upload/cbid.openvpn.sample_client.pkcs12'
option route_noexec '1'
ifconfig tun0:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.254.7 P-t-P:192.168.254.7 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Вдобавок я настроил интерфейс VPN:
config interface 'VPN'
option ifname 'tun0'
option _orig_ifname 'tun0'
option _orig_bridge 'false'
option proto 'none'
config route
option interface 'VPN'
option target '10.0.0.1'
option netmask '255.255.255.0'
option gateway '192.168.254.1'
... и конфигурация брандмауэра:
config forwarding
option dest 'VPN'
option src 'lan'
config forwarding
option dest 'wan'
option src 'lan'
config forwarding
option dest 'lan'
option src 'VPN'
config forwarding
option dest 'lan'
option src 'wan'
Я считаю, что моя основная проблема - это маршрутизация, но я не уверен, честно говоря.
Любые советы высоко ценится!
ОБНОВЛЕНИЕ 1:
Я добавил маршрут вручную:
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.254.1
Теперь я могу пропинговать VPN с маршрутизатора, но остальная часть моей сети все еще не может получить к нему доступ.
МОЯ таблица маршрутизации теперь выглядит так:
root@OpenWrt:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.2.0.1 0.0.0.0 UG 0 0 0 eth1
10.0.0.0 192.168.254.1 255.255.255.0 UG 0 0 0 tun0
10.1.0.0 * 255.255.255.0 U 0 0 0 br-lan
10.2.0.0 * 255.255.255.0 U 0 0 0 eth1
10.2.0.1 * 255.255.255.255 UH 0 0 0 eth1
192.168.254.0 * 255.255.255.0 U 0 0 0 tun0
Я предполагаю, что вы можете сделать это, используя таблицу маршрутизации, изменив шлюз по умолчанию по своему усмотрению и просто перенаправив нужные IP-адреса в сеть VPN.
Думаю, эта ссылка вам поможет: http://www.cyberciti.biz/faq/howto-linux-configuring-default-route-with-ipcommand/
Я нашел решение. Мне пришлось обновить конфигурацию брандмауэра, чтобы он отклонял пересылку из LAN в VPN, а также разрешал маскировку и ограничение MSS.