????????博主介紹:大家好,我是芝士味的椒鹽,一名在校大學(xué)生,熱愛分享知識,很高興在這里認(rèn)識大家??
??擅長領(lǐng)域:Java、大數(shù)據(jù)、運(yùn)維、電子
????如果本文章各位小伙伴們有幫助的話,??關(guān)注+????點(diǎn)贊+??評論+??收藏,相應(yīng)的有空了我也會(huì)回訪,互助!??!
??另本人水平有限,旨在創(chuàng)作簡單易懂的文章,在文章描述時(shí)如有錯(cuò),懇請各位大佬指正,在此感謝?。?!
目錄
緣由
簡介
官網(wǎng)
WireGuard組網(wǎng)實(shí)現(xiàn)架構(gòu)圖
下面用WireGuard演示一臺公網(wǎng)服務(wù)器和一臺線下機(jī)器異步組網(wǎng):
緣由
? ? ? ? 相信很多的工作者、極客玩家或者學(xué)生黨在項(xiàng)目開發(fā)以及發(fā)布的時(shí)候會(huì)遇到云上服務(wù)器資源不夠(包括內(nèi)存不夠、磁盤不夠等等),而我們可能由于一些問題,無法升級云服務(wù)器的配置,這樣的場景就很尷尬對吧?現(xiàn)在的確有許多的像netapp、以及zerotier這樣的內(nèi)網(wǎng)穿透的存在,但是存在一個(gè)問題就是不安全,路由網(wǎng)關(guān)并不是在我們自己機(jī)器上,而且這些市面的望穿也有高效的方法但是要用money,苦于囊中羞澀,這時(shí)候WireGuard就可以很好提供高性能的內(nèi)網(wǎng)穿透能力。
? ? ? ? 舉個(gè)例子:你是個(gè)學(xué)生或者工作者,在你的實(shí)驗(yàn)室或者公司電腦上,有著項(xiàng)目或者資料,你有又出門在外,想要訪問實(shí)驗(yàn)室或者公司內(nèi)部的資料,雖然像向日葵、ToDesk可以滿足需求,但是由于是第三方提供著提供有帶寬的限制,會(huì)導(dǎo)致一卡一卡的,這時(shí)候你就可以使用Windows或者Linux自帶的遠(yuǎn)程服務(wù)搭配上WireGuard解決這種尷尬的場面。
簡介
? ? ? WireGuard?是一個(gè)易于配置、快速且安全的開源?VPN,它利用了最新的加密技術(shù)。目的是提供一種更快、更簡單、更精簡的通用 VPN,它可以輕松地在樹莓派這類低端設(shè)備到高端服務(wù)器上部署。他沒有像OpenVPN那樣10w的代碼量,WireGuard非常精簡只有4000行代碼。
官網(wǎng)
地址:https://www.wireguard.com/quickstart/
WireGuard組網(wǎng)實(shí)現(xiàn)架構(gòu)圖
- 架構(gòu)圖:
下面用WireGuard演示一臺公網(wǎng)服務(wù)器和一臺線下機(jī)器異步組網(wǎng):
WireGuard Server(一臺公網(wǎng)服務(wù)器):
-
更新update
yum update -y
-
安裝wireguard
sudo yum install epel-release elrepo-release -y sudo yum install yum-plugin-elrepo -y sudo yum install kmod-wireguard wireguard-tools -y
-
創(chuàng)建目錄
cd /etc/wireguard
-
生成密鑰對
# 開始生成 密匙對(公匙+私匙)。 wg genkey | tee privatekey-server | wg pubkey > publickey-server # 生成服務(wù)端密鑰對
-
配置服務(wù)端文件
vim /etc/wireguard/wg0.conf
輸入以下內(nèi)容[Interface] Address = 10.100.0.1/16 # 這里指的是使用 10.100.0.1,網(wǎng)段大小是 16 位 SaveConfig = true ListenPort = 51820 # 監(jiān)聽的 UDP 端口 PrivateKey = < 這里填寫 Server 上 privatekey 的內(nèi)容 > # 下面這兩行規(guī)則允許訪問服務(wù)器的內(nèi)網(wǎng),注意替換`eth0` PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # Client,可以有很多 Peer [Peer] PublicKey = < 這里填寫 Client 上 publickey 的內(nèi)容 > AllowedIPs = 10.100.0.2/32 # 這個(gè) Peer 只能是 10.100.0.2/32 # 如果想把所有流量都通過服務(wù)器的話,這樣配置: # AllowedIPs = 0.0.0.0/0, ::/0
-
開啟內(nèi)核轉(zhuǎn)法
firewall-cmd --add-masquerade --zone=public --permanent firewall-cmd --reload sed -i '/net.ipv4.ip_forward/d' /etc/sysctl.conf echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p
-
啟停服務(wù)端
wg-quick up wg0 #啟動(dòng)服務(wù)端 wg-quick down wg0 #停止服務(wù)端 wg #查看節(jié)點(diǎn)列表 wg syncconf wg0 <(wg-quick strip wg0) #重載配置文件,不影響已有連接.
WireGuard Client(N臺非公網(wǎng)服務(wù)器):
-
更新update
yum update -y
-
安裝wireguard
sudo yum install epel-release elrepo-release -y sudo yum install yum-plugin-elrepo -y sudo yum install kmod-wireguard wireguard-tools -y
-
創(chuàng)建目錄
cd /etc/wireguard
-
生成密鑰對
# 開始生成 密匙對(公匙+私匙)。 wg genkey | tee privatekey-client | wg pubkey > publickey-client # 生成客戶端密鑰對
-
開啟內(nèi)核轉(zhuǎn)發(fā)
firewall-cmd --add-masquerade --zone=public --permanent firewall-cmd --reload sed -i '/net.ipv4.ip_forward/d' /etc/sysctl.conf echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p
-
配置客戶端文件
[Interface] PrivateKey = < 這里填寫 Client 上 privatekey 的內(nèi)容 > Address = 10.100.0.2/32 DNS = 8.8.8.8 # 連接后使用的 DNS, 如果要防止 DNS 泄露,建議使用內(nèi)網(wǎng)的 DNS 服務(wù)器 [Peer] PublicKey = < 這里填寫 Server 上 publickey 的內(nèi)容 > Endpoint = 1.1.1.1:51820 # 服務(wù)端公網(wǎng)暴露地址,51280 是上面指定的 AllowedIPs = 10.100.0.0/16,172.17.0.11/20 # 指定要訪問的服務(wù)端網(wǎng)段,或者設(shè)置0.0.0.0/0來進(jìn)行全局代理. PersistentKeepalive = 25
-
啟動(dòng)客戶端連接文章來源:http://www.zghlxwxcb.cn/news/detail-445782.html
wg-quick up ./wg0.conf
-
啟動(dòng)完客戶端之后回WireGuard服務(wù)端查看,也可以嘗試從客戶端pingWireGuard服務(wù)器(內(nèi)網(wǎng)地址),注意公網(wǎng)作為WireGuard的服務(wù)器要安全組開端口文章來源地址http://www.zghlxwxcb.cn/news/detail-445782.html
wg
到了這里,關(guān)于上古神器WireGuard異地高效率組網(wǎng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!