日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

wireguard实现虚拟私有网络搭建

發布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wireguard实现虚拟私有网络搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、準備條件

  • 一臺阿里云ECS服務器有公網IP,centos7系統
  • 一臺實驗室內網服務器,可以ping通外網,centos7系統
  • 自己的pc可以正常上網,Windows11系統

實現在自己PC上通過隧道連接到內網服務器原理圖

2、環境配置

linux內核版本大于5.6已經內置有wireguard,只需要用modprobe wireguard加載一下就可以,

低于5.6則需要升級內核版本

以下是升級內核過程(參考通過WireGuard搭建隧道實現內網穿透 - 簡書 (jianshu.com))

? # 查看當前內核版本uname--kernel-release#安裝必要工具,卸載舊的內核源碼包yum -y install epel-release curlsed -i "0,/enabled=0/s//enabled=1/" /etc/yum.repos.d/epel.repoyum remove -y kernel-devel# 導入公鑰rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org# 升級安裝elreporpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm# 安裝新版本工具包yum --disablerepo="*" --enablerepo="elrepo-kernel" listavailableyum -y --enablerepo=elrepo-kernel install kernel-ml# 設置默認啟動sed -i"s/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/" /etc/default/grubgrub2-mkconfig-o /boot/grub2/grub.cfgwget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-devel-6.15.10-1.el7.elrepo.x86_64.rpmrpm -ivhkernel-ml-devel-6.15.10-1.el7.elrepo.x86_64.rpm#內核版本大于5.6就行,可以自己去elrepo找yum -y--enablerepo=elrepo-kernel install kernel-ml-devel# 重啟reboot#查看升級后的內核版本uname--kernel-releasemodprobe wireguard #加載模塊??

3、安裝wireguard工具

yum insatll wireguard-tools#開啟IP轉發echo?"net.ipv4.ip_forward?=?1"?>>?/etc/sysctl.confsysctl?-p?

4、進入存儲路徑調整權限

cd/etc/wireguard/

chmod 0777/etc/wireguard

#調整目錄默認權限

umask 077

5、生成三對密鑰(密鑰都在ECS上面生成)

#生成私鑰

wg genkey> server.key

wg genkey> client1.key

wg genkey > client2.key

#通過私鑰生成公鑰

wg pubkey< server.key > server.key.pub

wg pubkey< client1.key > client1.key.pub

wg pubkey < client2.key > client2.key.pub

5、配置ECS作為server(其實wireguard沒有server和client概念,這里只是方便區分和理解)

vim/etc/wireguard/wg0.conf?? 加入如下配置

[Interface]PrivateKey = server.key # 填寫本機的privatekey 內容Address = 192.168.4.121 #本機虛擬局域網IPPostUp?? =iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEPostDown = iptables -D FORWARD -i wg0 -j ACCEPT;iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -jMASQUERADE#注意eth0需要為本機網卡名稱ListenPort = 40001 # 監聽端口DNS = 8.8.8.8MTU = 1420[Peer]PublicKey =?client1.key.pub? #client1的公鑰AllowedIPs = 192.168.4.101/32 #客戶端client1所使用的IP[Peer]PublicKey =?client2.key.pub? #client2的公鑰AllowedIPs = 192.168.4.111/32 #客戶端Client2所使用的IP

同時在ECS的控制臺安全組配置安全規則,放行40001端口

命令行最好關閉一下防火墻,systemctl stop firewalld

#啟動wg0

wg-quickup wg0

#關閉wg0

wg-quickdown wg0

設置開機自啟動

systemctlenable wg-quick@wg0

查看wg,我這里是已經都配置好了兩個peer的狀態

ip a查看

6、配置自己的pc端作為client1

從官網下載一個windows版本的客戶端app,網址為 https://www.wireguard.com/install/

我這有個下載好的百度網盤 請輸入提取碼

提取碼:8888

安裝

左下角點擊添加空隧道

來到這個界面

刪除原有配置,加入如下配置

[Interface]PrivateKey =uEFMMjDnvTXwpe87um9i1Gw0KgGm4AQpmrm7EmkY=? ? ?此處為client1的私鑰Address = 192.168.4.101/32MTU = 1420[Peer]PublicKey =E1SqvWKHrhHORZyLKQvDrq3wbFtq3HJsDhb0stK1Q=? ? ? 此處為server的公鑰AllowedIPs = 192.168.4.0/24Endpoint = ECS公網IP:40001??? #修改IP和放行的端口PersistentKeepalive = 15

點擊activate就可以連接

pc可以成功ping ECS的虛擬地址,(先用client ping server端建立連接)

ecs也可以成功ping pc

7、內網服務器配置為client2

vim /etc/wireguard/wg0.conf? 加入如下配置

[Interface]PrivateKey =KPjxjGwTHESCmXNuskN0g3kzHAKW34T+EYVGPqrkU=?#此處為client2的私鑰Address = 192.168.4.111 #此處為peer規定的客戶端IPMTU = 1420[Peer]PublicKey =E1SqvWKHrhHORZyLK90QvDrq3Ftq3HJsDhb0stK1Q=?#此處為server的公鑰AllowedIPs = 192.168.4.0/24 #此處為允許的服務器IPEndpoint = ECS的IP:40001 #服務器IP+端口PersistentKeepalive = 15

同樣的方式創建wg

ping ECS虛擬IP成功

ECSping內網IP成功

最后用pc ping 內網ip成功

通了之后就可以從PC通過ssh到內網服務器,單純內網穿透不如用frp更方便些,但wireguard還有其他功能比較好用。

總結

以上是生活随笔為你收集整理的wireguard实现虚拟私有网络搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。