歡迎你們回來繼續看我們的 OpenVPN 系列的下篇。 上次 我們講到如何讓遠端計算機(如筆記本電腦) 通過簡單的加密隧道 登錄到家里的服務器。今天我們接著講進階部分:比如設置 OpenVPN 開機啟動,省得我們每次重啟服務器的時候都要手動開啟 OpenVPN 服務;比如使用 Network Manager 簡化訪問到遠程服務器的過程。
?
?
整合到 Network Manager
?
Network Manager 是一個不錯的 OpenVPN 客戶端;你只需要安裝 network-manager-openvpn 這個插件。我們繼續 上篇 使 用的配置。打開 Network Manager 配置界面,進入“新建 VPN 連接”的窗口。這個界面布局在 KDE 和 GNOME 下面看起來有點不一樣,但是大體的信息是一樣的。開始的時候你需要選擇 OpenVPN 作為你的 VPN 連接類型,就像圖1所示;如果你沒看到 OpenVPN 的選項,說明你沒有安裝好插件。(圖1是一張 GNOME 下面的圖片。)
?
?
*圖1:在 Network Manager 上新建 OpenVPN 客戶端 *
?
?
圖2顯示了配置主界面。從上到下分別為:
?
- 連接名,隨便取一個。
- 遠程服務器的網關。
- 下拉菜單選擇靜態密鑰(Static Key)。
- 然后通過文件瀏覽器找到靜態密鑰文件。
- 這個不是方向性的密鑰,所以 Key Direction 這里設為 None。
- 遠程 IP 和 本地 IP 是我們在上一部分已經設置好的虛擬 OpenVPN 地址,可分別通過 /etc/openvpn/studio.conf 和 /etc/openvpn/shop.conf 文件獲得。
- 我們無需設置密碼,所以“Show passwords”復選框為空。
- 這個VPN連接是“所有人都可用”,還是只有你可用,隨你喜歡。
?
?
圖2:Network Manager 配置 OpenVPN 客戶端主界面
?
?
保存然后就可以使用 Network Manager 建立連接了。So easy,媽媽再也不用擔心我的學習了!看見圖3了么?你現在只需點擊一下高亮的按鈕就可以連接到你的家庭服務器,或從你的家庭服務器中斷開連接。
?
?
?
OpenVPN 開機啟動
?
手動開啟 OpenVPN 很簡單,但是你也許想要更簡單,讓它能夠在服務器重啟的時候跟著自動啟動。在 Debian/Ubuntu 以及絕大部分發行版中,當你安裝完 OpenVPN 的時候就被設置為開機啟動的。所以你需要重啟系統,或者按下面的方法啟動后臺進程:
$ sudo /etc/init.d/openvpn start $ sudo service openvpn start
?
第一個命令是比較老的啟動方法,第二個命令使用了“service”命令?!皊ervice”命令第一次出現在 Red Hat 發行版中,如果你的發行版中沒有安裝這個命令,你需要從你的軟件源里面去找到它。
?
Ubuntu 使用 Upstart 管理服務進程,Debain 使用的老的 SysV,而 Fedora 使用“systemd”。如果你在 /etc/openvpn 目錄下配置了多個 OpenVPN 的服務,你可以通過“systemd”的命令啟動你要的服務:
# systemctl start openvpn@studio.service
?
這里的“studio.service”與我們在上篇講過的例子中的 /etc/openvpn/studio.conf 配置的服務相對應。用這些方法啟動的后臺進程,在系統重啟后會失效,所以這些方法都和上篇講的啟動方式一樣,僅能使 OpenVPN 運行一次。你可以將啟動 OpenVPN 進程的任務交給 chkconfig:
# service openvpn start # chkconfig openvpn on
?
上面列出的是啟動 OpenVPN 后臺進程最常見的方式,這個命令啟動了一整個進程,而不是對 /etc/openvpn/下面的所有 .conf 配置文件都維護一個進程。systemd 支持chkconfig 以及 service 命令,所以上面兩條命令能夠正常工作。然而使用 systemd 的發行版非常多,如果你的工作環境和我們的不一樣,請通過發表評論的方式通知我們。
?
強化你的連接
OpenVPN 的健壯性足夠維持一條持久的連接,即使服務宕掉。而你可以令這個連接變得更加穩定,只需要在服務器端和客戶端的 .conf 文件內添加下面兩條屬性:
persist-tun persist-key
?
這兩條屬性對于那些筆記本電腦用戶來說非常有用,他們的電腦會因為電源保護或需要移來移去而經常斷開 OpenVPN 的連接。
?
現在,該做些什么?
你已經完成了所有設置,并且你的服務工作正常,你接下來能用這個干點什么?如果你以前一直用 OpenSSH 來遠程你的服務器,你會有這樣的思維定勢:你可以利用 OpenVPN 登錄到遠程機器,然后跑上面的應用。你要是那樣做,就太浪費 OpenVPN 了。你可以將 OpenVPN 想像成是一條虛擬的以太網電纜接到你的服務器上或者是你的局域網內,這條電纜還包著厚厚的加密保護。你可以在它提供的隧道上跑任何加密的或不加密的服務, 并且只需要在防火墻上開一個端口。
?
所以你可以利用 OpenVPN 隧道來建立 SSH 連接,然后遠程到服務器,然后在服務器上跑應用。你可以訪問到網絡資源,比如文件共享和 Web 應用。你可以強制讓你的電腦通過 VPN 隧道訪問到網絡,但我認為你會想要同時能夠使用本地網絡和 VPN 網絡的。
?
所以,在你的筆記本上你可以上網沖浪,使用 SSH,做你想做的任何事,上你想上的 任何 網絡。當你想利用 OpenVPN 隧道做一些事情時,你只需要打開它,然后輸入 IP 地址:
$ ssh carla@10.0.0.1
?
對于一些 Web 服務,操作也簡單:讓你的 Web 瀏覽器訪問到 OpenVPN 的 IP 地址然后登錄進去。舉個例子,我在我家的服務器上跑了多個 Web 服務做測試,我可以通過 http://10.0.0.1/drupal 訪問 Drupal,可以通過 http://10.0.0.1/owncloud 訪問 OwnCloud。我電腦上有優秀的圖形界面 FTP 客戶端 gFTP,所以只需要填入 IP 地址、用戶名、密碼就能訪問到 FTP 服務器,或者使用下面的命令:
$ ftp 10.0.0.1 21
?
你可以遠程管理你的 MySQL 數據庫,輸入帳號密碼:
$ mysql -h 10.0.0.1 -u admin -p
?
所以最重要的是你要知道怎么去配置一個你想要玩的功能。
很顯然,當我們使用名稱服務(name service)時,會比直接使用 IP 地址更方便。所以某一天我們可以學學如何在 OpenVPN 上布署一個名稱服務?,F在,先享受一下 OpenVPN 帶給你的樂趣吧。
原文地址: http://linux.cn/thread/11959/1/1/
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
