私はLinux Mint 21.2 PCでSSH経由でRaspberry Pi 4bに接続しています。ただし、ProtonVPN CLIに接続するとSSHを介して接続できず、エラーメッセージが表示されます。ssh: Could not resolve hostname raspberrypi: Name or service not known
VPNに接続してSSH経由でどのように接続しますか?
また、どのようにその逆を行うことができますか?私の考えではPiにProtonVPNをインストールするその後、SSHを介して接続を続行できます。
ありがとうございます!
答え1
2 つのホスト間に固定パスが必要で、ホスト名のグローバル DNS ルックアップを防止する方法が必要です。
あなたが見ている直接的なエラー(Could not resolve hostname rapsberrypi
)はProtonのDNSサーバーで発生します。なぜなら、ProtonのDNSサーバーはRaspberry PiのIPアドレスを知らないからです。そしてこれを知ってはいけません。完全修飾ドメイン名(FQDN)ではありません。 SSHを介してRaspberry PiのIPアドレスに接続しようとするとこのエラーを解決できますが、プライベートNo route to host
IPアドレス(RFC 1918)がある可能性があるため、新しいエラー()が発生する可能性があります。この場合、2つのホスト間でネットワークパスを確立するには、SSHクライアントからSSHサーバーへの静的パスを定義してVPN接続を無効にする必要があります。
静的ルートが定義されていない場合、すべてのネットワークトラフィックはデフォルトルートを使用します。 VPN 接続を確立すると、デフォルトルートがローカルルータから VPN ルータに更新されます。さらに、VPN接続はホスト名の検索に使用されるDNSサーバーを更新しています。したがって、VPN接続が確立された後、通常はローカルルーターのDNSサーバーを使用し、ローカルルーターを介したデフォルトルートを使用する接続は、VPN DNSサーバーとVPNルーターを介したデフォルトルートを使用する接続になります。
ただし、その IP アドレスのスタティック ルートを定義して、特定の IP アドレスに接続するときに使用するルータをローカル ホストに通知できます。したがって、Linux Mint ホストにスタティック ルートを定義し、Raspberry Pi の IP アドレスのローカル ルータを指定すると、SSH を介して Raspberry Pi の IP アドレスに接続できます。 VPN
OpenVPNを使用してProtonに接続する場合は、次のオプションを使用して特定のホストへの静的ルートを設定できます(必ず192.168.1.101
Raspberry PiのIPに置き換えます)。
route 192.168.1.101 255.255.255.255 net_gateway
または、このオプションを使用してローカルネットワーク全体の静的ルートを設定できます(ローカルネットワークが次のとおり192.168.1.0/24
)。
route 192.168.1.0 255.255.255.0 net_gateway
route
net_gateway
この設定オプションは、VPN接続が確立される前に存在していたデフォルトパスを参照する特別な値を含むコマンドの周囲のラッパーです。ここに録音してください。
この静的ルートは、IPアドレスに直接接続する場合にのみSSH接続(または他の接続)を許可します。おなじみの名前を使用して接続するには、VPNを使用せずに名前をIPアドレスに変換する必要があります。これを行う簡単な方法は、~/.ssh/config
名前検索にDNSがまったく必要ないようにSSHクライアント構成()でホストエントリを使用することです。
Host raspberrypi
HostName 192.168.1.101
この方法では、Raspberry PiのIPアドレスが変更された場合に設定ファイルを更新する必要があるため、常に同じIPアドレスを提供するようにローカルルータでDHCPサーバーを設定する必要があります。
もう1つのアプローチは、Linux MintホストなどのローカルDNSサーバーをインストールして、dnsmasq
一部のDNSクエリをローカルルーターにインテリジェントに渡し、残りはVPN DNSサーバーに送信しながら単一のSSHをサポートするようにローカルDNSサーバーを実行することです。接続により、以下が発生する可能性があります。サメ攻撃。