Ubuntu 12.04 - PPTP VPN - единственный доступ в Интернет

Ubuntu 12.04 - PPTP VPN - единственный доступ в Интернет

(Изменено для ясности, 11.11.13) Два отдельных вопроса, непосредственно перед таблицей маршрутов.

Я знаю, что это уже обсуждалось. Я прочитал десятки постов, но у меня все еще есть вопросы.

У меня есть рабочий сервер, трафик которого никогда не должен покидать мой дом без шифрования. VPN — PPTP. В настоящее время у меня есть задание cron, которое проверяет статус адаптера ppp0 каждую минуту. Если соединение обрывается, что случается довольно часто, он отключает ключевые компоненты.

Довольно просто перезапустить PPTP с помощью «nmcli con up id 'myVPNServer'», но нет никакой гарантии, что он восстановится, и мне нужен лучший способ остановить трафик (кроме завершения приложений), когда ppp0 не работает.

Два варианта, которые я видел, обсуждались, это брандмауэр (UFW, Firestarter, IPTables) или таблицы маршрутизации. Я мог бы легко склониться к рассмотрению варианта брандмауэра, но я сосредоточился на таблицах маршрутизации, поскольку не нужно запускать новую функцию.

Мои вопросы касаются того, как меняются таблицы маршрутов, а также подробностей правил.

Когда я запускаю PPTP VPN, таблицы маршрутизации меняются. Это говорит о том, что если VPN отключается, таблица вернется к исходному состоянию, что противоречит моему заявленному намерению предотвратить внешний трафик. Как мне внести «липкие» изменения в таблицу маршрутизации, которые сохранятся даже при отключении VPN-подключения? Возможно, флажки «Игнорировать автоматически полученные маршруты» или «Использовать это подключение только для ресурсов в его сети» (которые являются частью параметров конфигурации VPN)?

Похоже, если я могу заставить активную таблицу маршрутизации VPN оставаться в силе, даже когда VPN отключается, это фактически убьет любой внешний трафик в случае отключения VPN. Это даст мне возможность запустить процедуру перезапуска VPN из командной строки (предполагая, что правила таблицы маршрутизации не мешают мне повторно установить соединение).

Моя таблица маршрутизации при активном VPN выглядит так (список IP-маршрутов):

Какой процесс изменяет таблицу маршрутизации (при запуске VPN)?

Есть ли какие-нибудь комментарии по поводу того, что такое 10.10.1.1?

$ ip route list
default dev ppp0  proto static 
10.10.1.1 dev ppp0  proto kernel  scope link  src 10.10.1.11 
VPN_Server_IP_Address via 192.168.1.1 dev eth0  proto static 
VPN_Server_IP_Address via 192.168.1.1 dev eth0  src 192.168.1.60 
169.254.0.0/16 dev eth0  scope link  metric 1000 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.60  metric 1 

решение1

Надеюсь, что пример конфигурации может дать вам представление о другом подходе. Например: выполнить скрипты, чтобы сделать все, что вы хотите, на событиях ppp0 "up\down.." Вы можете использовать скрипт predown, чтобы остановить все ваши службы, заблокировать весь трафик в брандмауэре и очистить таблицу маршрутизации.

 zcat /usr/share/doc/ifupdown/examples/network-interfaces.gz | less

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
##...
# The "pre-up", "up", "down" and "post-down" options are valid for all
# interfaces, and may be specified multiple times. All other options
# may only be specified once.

Я предполагаю, что это , NetworkManagerкоторый изменяет вашу таблицу маршрутизации. Файлы конфигурации для NetworkManagerможно найти в/etc/NetworkManager/*

Добавьте следующее в [ipv4] для вашего (pptp) соединения:

ignore-auto-routes=true
ignore-auto-dns=true

Я предполагаю, что вам нужно перезапустить pptp-соединение, чтобы оно стало активным. Сработало?

Связанный контент