<progress id="znbhd"><progress id="znbhd"><font id="znbhd"></font></progress></progress>

      <noframes id="znbhd">

      <noframes id="znbhd">

      <progress id="znbhd"></progress>

      <noframes id="znbhd"><sub id="znbhd"></sub>

      論壇風格切換
      • 127閱讀
      • 1回復

      智匯華云|WireguardVPN介紹與使用 [復制鏈接]

      上一主題 下一主題
      如夢境22
      用戶信息
      ID
      №.37035
      級別
      三星會員
      經驗
      42%
      性別
      保密
      榮譽勛章
       


        
        
        Wireguard作為新一代VPN的代表,可能很多同學都不太了解。和其它VPN技術一樣,我們可以使用它在家庭網絡和公司網絡之間搭建一條安全的信道,由此可以訪問「內網」的數據和應用。本期智匯華云,我們為大家帶來《WireguardVPN介紹與使用》。
        
        Wireguard是目前使用起來最方便的,入門最快(內核代碼只有4000行),性能最強的l3vpn,即使是在樹莓派這種入門級嵌入式平臺上也能跑到600Mb/s的速度,并且配置wireguard比其他vpn都要方便的多,配置參數基本看上去就能理解,如果你以前配置過ipsecvpn,那一定會對一大堆參數感到莫名的頭疼,常常會因為連不上而查看log并調整參數。
        
        Wireguard工作原理
        
        
        
        內核會創建出對應的wireguard接口,這里取名為wg0,接口上配置了雙方通信的地址,這樣當物理機上的程序使用10.66.66.1地址進行訪問10.66.66.2地址時,內核就會進行數據包加密,并把加密之后的報文封包為udp報文,發送給對方,對方內核會進行報文解密,并把解密之后的數據包發送給用戶,完成vpn隧道的功能。
        
        Wireguard概念介紹
        
        Wireguardvpn中涉及到幾個基本概念:
        
        Peer:wireguard中的節點。
        
        私鑰(Privatekey):每個節點自己的私鑰,可以使用wggenkey生成。
        
        公鑰(Publickey):每個節點自己的公鑰,可以使用wgpubkey生成。
        
        allowed-ips:定義每個節點允許通過的ip地址段。
        
        這里公鑰使用的Curve25519的Diffie-Hellman函數,由DanielJ.Bernstein教授設計。在密碼學中,它是最快的ECC曲線之一,并未被任何已知專利所涵蓋。并且wireguard為了防止被以后的量子計算機破解,還可以額外使用wggenpsk產生與共享密鑰來保證安全?紤]的真的是周到。
        
        Wireguard隧道創建流程非常簡單,用一句話來說就是,通過curve25519進行ecdh密鑰交換得到雙方的對稱密鑰,之后所有報文通過該密鑰進行加解密。
        
        其實所有的vpn都是為了雙方協商一個密鑰進行通信,但是能做到如此簡單的還只有wireguard,不像ipsec,協商個密鑰真的是復雜,ikev1就有野蠻模式和主模式,之后又來了個ikev2版本,讓人頭暈,就看libreswan中光pluto目錄下代碼就有10萬行。
        
        Wireguard使用
        
        安裝wireguard:
        
        如果內核大于5.6就不需要安裝內核模塊了,只要安裝wireguard-tools工具就行。舊版本內核可以安裝wireguard-dkms內核模塊。
        
        #aptinstallwireguard-toolswireguard-dkms
        
        了解前面幾個基本概念之后,就可以通過ip命令創建一個最簡單的wireguardvpn。
        
        在12.13.11.10機器上執行如下命令:
        
        
        
        在12.13.11.13上執行如下命令:
        
        
        
        查看wireguard連接狀態:
        
        
        
        這里可以看到wireguardvpn建立正常,已經可以ping通對方地址。
        
        這里的wg0設備里面顯示了NOARP,也就是說不支持2層mac地址查找,因此wireguard只能封裝三層包。
        
        要停止手工創建的wireguard隧道也很簡單,直接刪除就行了:
        
        #iplinkdeldevwg0
        
        上面演示的是純手工創建wireguard隧道,還有另一種方式,可以事先把配置先寫入/etc/wireguard/wg0.conf文件中,然后wg-quickupwg0啟用起來就可以。
        
        12.13.11.10節點:
        
        
        
        12.13.11.13節點:
        
        
        
        wg-quick-up命令除了會自動創建wg0設備并配置好wireguard的參數之外,還會處理路由表相關的東西,特別是當AllowedIPs設置為0.0.0.0/0時,就會通過iprule添加額外的路由表,來讓本機出去的流量都從wg0設備走,不然這些規則都要手動設置。
        
        從上面的介紹可以看出,wireguard真的是簡單,配置參數也少,但是就是這樣一個vpn最純正功能的軟件,卻直到最近才被開發出來,當然wireguard缺點也是有的,比如沒辦法加密兩個節點之間本來的流量,wireguard只有在新接口上的流量才能被加密,而ipsec卻可以做到^^。
        
        
      評價一下你瀏覽此帖子的感受

      精彩

      感動

      搞笑

      開心

      憤怒

      無聊

      灌水
      萱萱兒
      用戶信息
      ID
      №.21885
      級別
      六星會員
      經驗
      31%
      性別
      保密
      榮譽勛章

      只看該作者 沙發  發表于: 07-28
      Wireguard作為新一代VPN的代表,可能很多同學都不太了解
      快速回復
      限44 字節
      如果您提交過一次失敗了,可以用”恢復數據”來恢復帖子內容
      做人要厚道,看帖要頂帖!
       
      上一個 下一個
          大香蕉大香蕉中线播放

          鄂公網安備 42062502000001號