wireguard安裝與配置


wireguard安裝與配置

https://www.cnblogs.com/syy1757528181/p/14333389.html

https://www.jianshu.com/p/09e711ad7874

https://www.wireguard.com/quickstart/

https://www.wireguard.com/install/

1、wg安裝

sudo apt-get install wireguard

 

2、服務端生成密鑰對

# 開啟ipv4流量轉發
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

# 創建並進入WireGuard文件夾
mkdir -p /etc/wireguard && chmod 0777 /etc/wireguard
cd /etc/wireguard
umask 077

# 生成服務器和客戶端密鑰對
wg genkey | tee server_privatekey | wg pubkey > server_publickey
wg genkey | tee client_privatekey | wg pubkey > client_publickey

 

3、配置文件生成

##########################生成服務端的配置文件 /etc/wireguard/wg0.conf##########################
echo "
[Interface]
PrivateKey = $(cat server_privatekey) # 填寫本機的privatekey 內容
Address = 10.0.8.1/24
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 50814 # 注意該端口是UDP端口
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey =  $(cat client_publickey)  # 填寫對端的publickey 內容
AllowedIPs = 10.0.8.10/24 " > wg0.conf
# 設置開機自啟
systemctl enable wg-quick@wg0
# 重要!如果名字不是eth0, 以下PostUp和PostDown處里面的eth0替換成自己服務器顯示的名字
# ListenPort為端口號,可以自己設置想使用的數字
# 以下內容一次性粘貼執行,不要分行執行



##########################生成客戶端的配置文件 /etc/wireguard/client.conf##########################
echo "
[Interface]
  PrivateKey = $(cat client_privatekey)  # 填寫本機的privatekey 內容
  Address = 10.0.8.10/24
  DNS = 8.8.8.8
  MTU = 1420

[Peer]
  PublicKey = $(cat server_publickey)  # 填寫對端的publickey 內容
  Endpoint = server公網的IP:50814
  AllowedIPs = 0.0.0.0/0, ::0/0
  PersistentKeepalive = 25 " > client.conf
 # 注:文件在服務端配好了可以下載下來傳到客戶端

 

4、啟動WireGuard

########################服務端###################
# 啟動WireGuard
wg-quick up wg0
# 停止WireGuard
wg-quick down wg0
# 查看WireGuard運行狀態
[root@localhost~]# wg
interface: wg0
  public key: b8fztAWxqS/SKQ619YTM09siKESbzoUiBeautnFsaGU=
  private key: (hidden)
  listening port: 50814

peer: HF7vS/rpk2tEQ1WxWnh78Rp8lSuwEMLISqQsX6MFlwk=
  endpoint: 221.225.202.158:11562
  allowed ips: 10.0.8.0/24
  latest handshake: 34 seconds ago
  transfer: 16.26 KiB received, 12.87 KiB sent

########################客戶端################### # 啟動WireGuard wg
-quick up client # 停止WireGuard wg-quick down client # 查看WireGuard運行狀態 [root@localhost~]# wg [root@v2 ~]# wg interface: client public key: HF7vS/rpk2tEQ1WxWnh78Rp8lSuwEMLISqQsX6MFlwk= private key: (hidden) listening port: 59633 fwmark: 0xca6c peer: b8fztAWxqS/SKQ619YTM09siKESbzoUiBeautnFsaGU= endpoint: server公網的IP:50814 allowed ips: 0.0.0.0/0, ::/0 latest handshake: 17 seconds ago transfer: 9.96 KiB received, 19.09 KiB sent persistent keepalive: every 25 seconds

 

5、2台機器測試10網段的互ping

ping 10.0.8.1

 

6、客戶端路由配置

[root@v2 ~]# ip route add 103.52.188.136 via 192.168.1.2 
[root@v2 ~]# ip route add 0.0.0.0/0 via 10.0.8.1   # 所有的流量都走這個ip

 

7、server端

apt -y install tcpdump
# 監視指定網絡接口的數據包 
tcpdump -i wg0 # 我們的轉發都是經過這個私網來進行的可以客戶ping的同時,服務端進行抓包查看

 

8、windows連接

9、安裝qrencode二維碼分享

apt-get install qrencode

 生成二維碼

qrencode -t ansiutf8 < client.conf

 

 

 

 

 

其他:

命令行界面

可以通過添加一個新接口ip-link(8),它應該自動處理模塊加載:

# ip link add dev wg0 type wireguard

 (非 Linux 用戶將改為編寫wireguard-go wg0.)

一個 IP 地址和對等體可以被分配ifconfig(8)ip-address(8)

# ip address add dev wg0 192.168.2.1/24

 或者,如果總共只有兩個對等點,則可能更需要這樣的操作:

# ip address add dev wg0 192.168.2.1 peer 192.168.2.2

 該接口可以使用包含的wg(8)實用程序配置密鑰和對等端點:

# wg setconf wg0 myconfig.conf

 或者

# wg set wg0 listen-port 51820 private-key /path/to/private-key peer ABCDEF... allowed-ips 192.168.88.0/24 endpoint 209.202.254.14:8172

 最后,可以使用ifconfig(8)或激活接口ip-link(8)

# ip link set up dev wg0

 還有wg showwg showconf命令,用於查看當前配置。調用wg不帶參數默認為呼吁wg show所有WireGuard接口。

  

密鑰生成

WireGuard 需要 base64 編碼的公鑰和私鑰。這些可以使用該wg(8)實用程序生成

$ umask 077
$ wg genkey > privatekey

 這將privatekey在包含新私鑰的 stdout 上創建。

然后,您可以從您的私鑰派生您的公鑰:

$ wg pubkey < privatekey > publickey

 這privatekey將從標准輸入讀取並將相應的公鑰寫入publickey標准輸出。

當然,您可以一次完成所有這些:

$ wg genkey | tee privatekey | wg pubkey > publickey

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM