(Изменено для ясности, 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
Надеюсь, пример конфигурации может дать вам представление о другом подходе. Например: выполнить сценарии, чтобы делать все, что вы хотели бы в событиях 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, чтобы оно стало активным. Работали?