Вопрос
Когда я запускаю свой VPN на своем настольном компьютере Ubuntu, который действует как маршрутизатор, подключенная подсеть теряет подключение к Интернету, но по-прежнему доступна (локальная сеть). В идеале я хотел бы знать, как включить подключенную подсеть для повторного получения доступа в Интернет путем маршрутизации через VPN-туннель, когда VPN активен.
Контекст
У меня есть следующая схема сети:
подсеть 172.16.0.0/20 на eth0 для моих виртуальных машин VirtualBox.
подсеть 192.168.0.0/24 на eth0:0, которая подключается к шлюзу 192.168.0.1, который имеет доступ в Интернет.
Это показано в файле /etc/network/interfaces:
auto loiface lo inet loopback# This is the subnet dedicated to VBauto eth0iface eth0 inet static address 172.16.0.1 netmask 255.255.0.0 gateway 192.168.0.164 dns-nameservers 8.8.8.8# normal DHCP internetauto eth0:0iface eth0:0 inet static address 192.168.0.164 netmask 255.255.255.0 dns-nameservers 8.8.8.8 gateway 192.168.0.1
Пакеты на eth0 пересылаются через eth0:0 с маскировкой, и нормальное подключение к Интернету в порядке. Однако, когда я запускаю свой VPN-туннель на этом маршрутизаторе, подключение к Интернету теряется для виртуальных машин в подсети eth0 (но остается для маршрутизатора).
Ниже приведен вывод ifconfig когда туннель активен:
eth0 Link encap:Ethernet HWaddr 00:1f:bc:01:c3:ab inet addr:172.16.0.1 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::21f:bcff:fe01:c3ab/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:165426 errors:0 dropped:0 overruns:0 frame:0 TX packets:182601 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:208264321 (208.2 MB) TX bytes:16660945 (16.6 MB) Interrupt:16 eth0:0 Link encap:Ethernet HWaddr 00:1f:bc:01:c3:ab inet addr:192.168.0.164 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:16 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:381963 errors:0 dropped:0 overruns:0 frame:0 TX packets:381963 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:22755054 (22.7 MB) TX bytes:22755054 (22.7 MB)tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.10 P-t-P:10.8.0.9 Mask:255.255.255.255 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)
Я подозреваю, что решение будет иметь какое-то отношение к таблица маршрутизации. Он показывает следующее когда туннель активен:
Destination Gateway Genmask Flags Metric Ref Use Ifacedefault 10.8.0.9 128.0.0.0 UG 0 0 0 tun0default 192.168.0.1 0.0.0.0 UG 100 0 0 eth010.8.0.0 10.8.0.9 255.255.255.0 UG 0 0 0 tun010.8.0.9 * 255.255.255.255 UH 0 0 0 tun037.139.23.49 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0128.0.0.0 10.8.0.9 128.0.0.0 UG 0 0 0 tun0link-local * 255.255.0.0 U 1000 0 0 eth0172.16.0.0 * 255.255.0.0 U 0 0 0 eth0192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
и следующее когда туннель неактивен:
Destination Gateway Genmask Flags Metric Ref Use Ifacedefault 192.168.0.1 0.0.0.0 UG 100 0 0 eth0link-local * 255.255.0.0 U 1000 0 0 eth0172.16.0.0 * 255.255.0.0 U 0 0 0 eth0192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
Конфигурация Virtualbox для виртуальных машин:
Одна из виртуальных машин /etc/network/interfaces
файл:
# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto eth0iface eth0 inet static address 172.16.0.3 netmask 255.255.0.0 network 172.16.0.0 broadcast 172.16.255.255 gateway 172.16.0.1 dns-nameservers 8.8.8.8