Linux中國

使用 sshuttle 構建一個窮人的虛擬專網

如今,企業網路經常使用「虛擬專用網路」來保證員工通信安全。但是,使用的協議有時會降低性能。如果你可以使用 SSH 連接遠程主機,那麼你可以設置埠轉發。但這可能會很痛苦,尤其是在你需要與該網路上的許多主機一起使用的情況下。試試 sshuttle,它可以通過 SSH 訪問來設置快速簡易的虛擬專網。請繼續閱讀以獲取有關如何使用它的更多信息。

sshuttle 正是針對上述情況而設計的。遠程端的唯一要求是主機必須有可用的 Python。這是因為 sshuttle 會構造並運行一些 Python 代碼來幫助傳輸數據。

安裝 sshuttle

sshuttle 被打包在官方倉庫中,因此很容易安裝。打開一個終端,並使用 sudo 來運行以下命令:

$ sudo dnf install sshuttle

安裝後,你可以在手冊頁中找到相關信息:

$ man sshuttle

設置虛擬專網

最簡單的情況就是將所有流量轉發到遠程網路。這不一定是一個瘋狂的想法,尤其是如果你不在自己家裡這樣的受信任的本地網路中。將 -r 選項與 SSH 用戶名和遠程主機名一起使用:

$ sshuttle -r username@remotehost 0.0.0.0/0

但是,你可能希望將該虛擬專網限制為特定子網,而不是所有網路流量。(有關子網的完整討論超出了本文的範圍,但是你可以在維基百科上閱讀更多內容。)假設你的辦公室內部使用了預留的 A 類子網 10.0.0.0 和預留的 B 類子網 172.16.0.0。上面的命令變為:

$ sshuttle -r username@remotehost 10.0.0.0/8 172.16.0.0/16

這非常適合通過 IP 地址訪問遠程網路的主機。但是,如果你的辦公室是一個擁有大量主機的大型網路,該怎麼辦?名稱可能更方便,甚至是必須的。不用擔心,sshuttle 還可以使用 –dns 選項轉發 DNS 查詢:

$ sshuttle --dns -r username@remotehost 10.0.0.0/8 172.16.0.0/16

要使 sshuttle 以守護進程方式運行,請加上 -D 選項。它會以 syslog 兼容的日誌格式發送到 systemd 日誌中。

根據本地和遠程系統的功能,可以將 sshuttle 用於基於 IPv6 的虛擬專網。如果需要,你還可以設置配置文件並將其與系統啟動集成。如果你想閱讀更多有關 sshuttle 及其工作方式的信息,請查看官方文檔。要查看代碼,請進入 GitHub 頁面

題圖由 Kurt Cotoaga 拍攝並發表在 Unsplash 上。

via: https://fedoramagazine.org/use-sshuttle-to-build-a-poor-mans-vpn/

作者:Paul W. Frields 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國