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

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