Wireguard & DuckDNS using PiVPN
我正在使用一台旧笔记本电脑作为家庭服务器,并且我想按照以下指南设置 VPN( ):https://chriskalos.notion.site/The-0-Home-Server-Written-Guide-5d5ff30f9bdd4dfbb9ce68f0d914f1f6#4395816a03b5400e8b8634b578b66f40
所以我从中获取了我的域名并进行了如下DuckDNS
设置:Static DHCP
https://imgur.com/a/Y18BGgS
我按照本指南转发了路由器中的端口:https://portforward.com/vodafone/gigabox/
它看起来是这样的:https://imgur.com/a/4TsSxti
设置时pivpn
我选择:
WireGuard
作为安装模式默认的 wireguard 端口:
51820
DNS 提供商:
CloudFlare
公网 IP 或 DNS:
DNS Entry
此服务器的公共 DNS 名称:
<mydns>.duckdns.org
以及系统的 Rebbot
然后我添加了一个 pivpn,pivpn add
然后pivpn -qr
生成二维码,我从手机上打开了 WireGuard,扫描了二维码并连接到了我的 VPN,但是我的手机没有网络连接。
这是我的配置的屏幕截图:https://imgur.com/a/ge6TPek
sudo wg
使用移动数据连接到 VPN 的手机的输出:
xxx@xxx:~$ sudo wg
interface: wg0
public key: xxxxx
private key: (hidden)
listening port: 51820
fwmark: 0xca6c
peer: xxxxxx
preshared key: (hidden)
allowed ips: 0.0.0.0/0
我的路由器信息:
Firmware version: Vodafone-H-300s-v1.0.11.05
WAN IPv4 Address: 212.xxx.xxx.xx
WAN IPv6 Address:
我使用的公共 IPv4whatismyip
是:212.xxx.xxx.xx
ipvpn debug
输出:https://pastebin.pl/view/9d8a1fc2
有什么帮助吗?谢谢
答案1
使用我的静态Public IP
而不是DuckDNS
解决了这个问题。现在,我可以通过 SSH 连接到我的家庭服务器,并使用以下方式从中访问我的所有文件移动数据。但是,连接到该 VPN 时我无法访问互联网,为了解决这个问题,我遵循了以下指南:https://docs.pi-hole.net/guides/vpn/wireguard/internal/#enable-nat-on-the-server
因此,我通过在我的部分NAT
中添加以下内容来在服务器上启用它:[INTERFACE]
/etc/wireguard/wg0.conf
PostUp = nft add table ip wireguard; nft add chain ip wireguard wireguard_chain {type nat hook postrouting priority srcnat\; policy accept\;}; nft add rule ip wireguard wireguard_chain counter packets 0 bytes 0 masquerade; nft add table ip6 wireguard; nft add chain ip6 wireguard wireguard_chain {type nat hook postrouting priority srcnat\; policy accept\;}; nft add rule ip6 wireguard wireguard_chain counter packets 0 bytes 0 masquerade
PostDown = nft delete table ip wireguard; nft delete table ip6 wireguard