クライアント(Ubuntu 20.04)がVPN WireGuardサーバーに接続すると、インターネットページを解析できません。

クライアント(Ubuntu 20.04)がVPN WireGuardサーバーに接続すると、インターネットページを解析できません。

WireGuard VPNを設定しましたが、次のコマンドを使用して正常に接続した後、ブラウザはインターネットからWebページを読み込めませんでした。

wg-quick up `pwd`/myifwg0.conf

確認しました仕える人WireGuardインターフェイス - よさそうです。

$ sudo wg show wg0
interface: wg0
  public key: <SERVER_PUB_KEY>
  private key: (hidden)
  listening port: 51820

peer: <CLIENT_PUB_KEY>
  endpoint: <SERVER_PUBLIC_IP>:45884
  allowed ips: 10.0.1.2/32
  latest handshake: 4 minutes, 44 seconds ago
  transfer: 2.32 KiB received, 3.63 KiB sent

確認しました顧客接続されている場合、WireGuardインターフェイス - よさそうです。

$ sudo wg show myifwg0 
interface: myifwg0
  public key: <CLIENT_PUB_KEY>
  private key: (hidden)
  listening port: 59386
  fwmark: 0xca6c

peer: <SERVER_PUB_KEY>
  endpoint: <SERVER_PUBLIC_IP>:51820
  allowed ips: 0.0.0.0/0, ::/0
  latest handshake: 15 seconds ago
  transfer: 124 B received, 8.63 KiB sent
  persistent keepalive: every 25 seconds

Server WireGuard VPNに接続すると、次のコマンドが永久に中断されることがわかりました。

curl google.com
ping google.com

VPNに接続している間にnslookup google.com確認されたIPをnslookupWebブラウザにコピー/貼り付けることができ、google.comホームページにアクセスできたため、これはDNSの問題に関連している可能性があります。

VPNクライアント設定ファイルで、またはDNS = 1.1.1.1(最後のエントリのソース)にDNS IPを強制しようとしましたが、効果は同じです。DNS = 8.8.8.8DNS = 127.0.0.53/etc/resolv.conf

  1. 私のWebブラウザはページにアクセスできません。
  2. curl類似またはping未解決のドメインコマンド

VPN クライアントのバージョンは次のとおりです。

  • apt-cache show wireguard:バージョン:1.0.20200513-1~20.04.2
  • lsb_release -a: Ubuntu 20.04.2 LTS フォーカス

VPNクライアントがインターネットを閲覧できるように、VPNクライアント、VPNサーバー、またはその両方の構成をどのように変更しますか?

編集する

私のもの顧客構成はmyifwg0.config次のとおりです。

[Interface]
Address = 10.0.1.2/32
PrivateKey = <CLIENT_PRIV_KEY>
DNS = 1.1.1.1

[Peer]
PublicKey = <SERVER_PUB_KEY>
Endpoint = <SERVER_PUBLIC_IP>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

優秀仕える人/etc/sysctl.confで編集して、IP転送が有効になっていることを確認しましたnet.ipv4.ip_forward=1。次に申請してくださいsudo sysctl -p

優秀仕える人また、一部のファイアウォールルールが次のように設定されていることを確認しました。 WireGuardの関連ポート/インターフェースは、WireGuardトンネルに関連する51820(WG受信)、53(DNS解像度)、eth0、およびwg0です。

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
51820/udp                  ALLOW       Anywhere                  
53                         ALLOW       Anywhere                  
22/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
51820/udp (v6)             ALLOW       Anywhere (v6)             
53 (v6)                    ALLOW       Anywhere (v6)             

Anywhere on eth0           ALLOW FWD   Anywhere on wg0           
Anywhere on wg0            ALLOW FWD   Anywhere on eth0          
Anywhere (v6) on eth0      ALLOW FWD   Anywhere (v6) on wg0      
Anywhere (v6) on wg0       ALLOW FWD   Anywhere (v6) on eth0     

これ仕える人構成ファイルは/etc/wireguard/wg0.conf次のとおりです。

[Interface]
PrivateKey = <SERVER_PRIV_KEY>
Address = 10.0.1.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820

[Peer]
PublicKey = <CLIENT_PUB_KEY>
AllowedIPs = 10.0.1.2/32

iptablesと衝突があるかどうか疑問に思いますufw。そうしないと、このWireGuard VPNトンネルが機能しない理由がわかりません。

ベストアンサー1

VPN(DNSを含む)を介してすべてのトラフィックをルーティングするため、アクセスできるDNSサーバーを指定する必要があります。

たとえば、クライアントにDNSエントリを追加します。

[Interface]
Address = 10.0.1.2/32
PrivateKey = xxx
DNS = 1.1.1.1

[Peer]
PublicKey = xxx
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = xxx

それでも問題が解決しない場合は、設定を公開してください(キーを除く)。

おすすめ記事