Я подключен к Интернету через сеть кампуса: диапазон IP-адресов, скажем, 10.42.0.0/16 и все должно проходить через прокси-сервер 10.42.0.42 .
Иногда я подключаюсь к этой сети через точку беспроводного доступа в локальном диапазоне IP-адресов 192.168.0.0/24 , этот беспроводной маршрутизатор подключен к сети кампуса.
Я также использую персональный VPN, основанный на OpenVPN. Мой диапазон IP-адресов VPN - 10.8.0.0/24 .
Когда я подключен к этой беспроводной сети, моя таблица маршрутизации:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    304    0        0 wlan0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
192.168.1.0     0.0.0.0         255.255.255.0   U     304    0        0 wlan0
И когда я запускаю VPN в этой беспроводной сети:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.0.41       128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.1.1     0.0.0.0         UG    304    0        0 wlan0
10.8.0.0        10.8.0.41       255.255.255.0   UG    0      0        0 tun0
10.8.0.41       0.0.0.0         255.255.255.255 UH    0      0        0 tun0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
128.0.0.0       10.8.0.41       128.0.0.0       UG    0      0        0 tun0
10.42.0.0       192.168.1.1     255.255.0.0     UG    0      0        0 wlan0
10.42.0.42      192.168.1.1     255.255.255.255 UGH   0      0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     304    0        0 wlan0
Как видите, я настроил VPN так, чтобы сеть кампуса не перенаправлялась на tun0 , чтобы серверы в этой частной зоне оставались доступными.
Но тут возникает проблема: беспроводная связь нестабильна (и я ничего не могу с этим поделать), я регулярно отключаюсь и снова подключаюсь. Во время этого процесса все записи в таблице маршрутизации о wlan0 сбрасываются, и моя таблица выглядит следующим образом:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.0.41       128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.1.1     0.0.0.0         UG    304    0        0 wlan0
10.8.0.0        10.8.0.41       255.255.255.0   UG    0      0        0 tun0
10.8.0.41       0.0.0.0         255.255.255.255 UH    0      0        0 tun0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
128.0.0.0       10.8.0.41       128.0.0.0       UG    0      0        0 tun0
И больше ничего не работает: весь трафик перенаправляется на tun0, который больше не существует, и openVPN не может переподключиться к моему серверу (No route to host.). Единственный обходной путь, который я нашел, - это перезапустить мой клиент OpenVPN вручную.
Можно ли это стабилизировать и как?
Я работаю на Gentoo Linux, управляю своей сетью с помощью Wicd.
