使用 shuttle 構建一個窮人的虛擬專網
如今,企業網路經常使用“虛擬專用網路”來保證員工通訊安全。但是,使用的協議有時會降低效能。如果你可以使用 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
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 使用 sshuttle 構建一個窮人的虛擬專網
- 使用Dockerfile構建一個django專案DockerDjango
- 使用webpack構建一個專案 (更新ing)Web
- 使用vue構建一個自動建站專案Vue
- POPIC:一個虛擬IP“手藝人”的坦白局
- vagrant構建centos虛擬環境CentOS
- apache虛擬web主機構建ApacheWeb
- 構建一個執行在Azure虛擬機器上的MySQL Spring Boot應用程式虛擬機MySqlSpring Boot
- 我們距離構建一個逼真的虛擬世界還有多遠虛擬世界
- 如何構建虛擬世界的價值體系虛擬世界
- Centos 7 構建虛擬Web主機CentOSWeb
- 如何使用虛擬主機cPanel新建別名共享一個網站網站
- 企業級React專案的個人構建總結React
- “虛擬人”元年到來:期待另一個“你”嗎?
- GIS在構建虛擬世界中的新機遇虛擬世界
- Padavan安裝使用ZeroTier實現組建虛擬區域網的方法
- 構建一個閱讀網站網站
- 網路虛擬化VXLAN網路架構架構
- 使用 Python 構建一個簡單的 RESTful APIPythonRESTAPI
- 使用 React + Rxjs 實現一個虛擬滾動元件ReactJS元件
- [譯] 建立一個像科幻小說一樣的虛擬世界:設計一個全球性的虛擬世界虛擬世界
- 構建第一個基於 Gradle 的 Spring Boot 專案GradleSpring Boot
- Cable:360實現的新虛擬網路架構架構
- [譯] 使用 React 和 ImmutableJS 構建一個拖放佈局構建器ReactJS
- 90%的窮人,都有這3個習慣
- 實現一個簡單的虛擬DOM
- 從零開始構建一個webpack專案Web
- 快速開始構建一個簡單專案
- BGP/MPLS 虛擬專用網路 Option B
- 網路虛擬化之linux虛擬網路基礎Linux
- C++建構函式和解構函式呼叫虛擬函式時使用靜態聯編C++函式
- 即構推出「虛擬世界」解決方案,構建身臨其境的社交世界!虛擬世界
- 使用GoDaddy虛擬主機,輕鬆上線你的第1個網站Go網站
- 從零開始構建自己的第一個vue專案Vue
- 構建一個 @synchronizedsynchronized
- 代理伺服器和虛擬專業網的關係伺服器
- 使用Dockerfile構建django專案DockerDjango
- 使用Maven構建Java專案MavenJava