Ubuntu 12.04 - PPTP VPN 是唯一的網路存取方式

Ubuntu 12.04 - PPTP VPN 是唯一的網路存取方式

(為清楚起見進行了修改,2013 年 11 月 11 日)兩個不同的問題,就在路由表之前。

我知道這已經被涵蓋了。我讀了幾十篇文章,但仍然有疑問。

我有一台工作伺服器,其流量在沒有加密的情況下永遠不會離開我的家。 VPN 是 PPTP。目前,我有一個 cron 作業,每分鐘檢查 ppp0 適配器的狀態。如果連接斷開(這種情況經常發生),它就會關閉關鍵組件。

使用“nmcli con up id 'myVPNServer'”重新啟動 PPTP 相當容易,但不能保證它會重新連接,並且我需要一種更好的方法來在 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 連接才能使其啟動。工作了嗎?

相關內容