
最近、リモート CentOS 7 Web サーバーに OpenVPN をインストールしました。 と入力すると、ローカル CentOS 7 devbox から接続できますopenvpn --config /path/to/client.ovpn
。接続が確立されると、 とssh
入力して VPN 経由でサーバーに接続できます。また、Web ブラウザーに と入力して、VPN 経由でリモート サーバー上の Apache によってホストされている Web アプリを表示できます。 ssh [email protected]
https : / / 10.8.0.1
では、技術に詳しくないエンドユーザーが Windows から同じ https 接続を確立するにはどうすればよいでしょうか?
ダウンロードしてインストールしましたWindows 用 SecurePoint OpenVPN クライアントその後、.crt ファイルと .key ファイルへのリンクや、client.ovpn
Linux のファイルで定義されたその他のパラメータの定義など、サーバーの構成を作成できました。その後、SecurePoint クライアントは、リモート サーバーの OS アカウントのユーザー名とパスワードを使用するように強制しましたが (おそらくこれは良いことです)、サーバー上で実行されている Web アプリに接続することはできません。具体的には、前の段落https : / / 10.8.0.1
で説明したように、Linux 開発ボックスでサーバーから VPN 経由でクライアントにコンテンツを提供できるにもかかわらず、Web ブラウザーに入力すると「このページは表示できません」というメッセージが表示されます。 何が間違っているのでしょうか? どうすればこれを機能させることができるのでしょうか?
編集
@garethTheRed のアドバイスに従って入力するsudo firewall-cmd --list-all --zone=internal
と、次の結果が得られました。
internal (active)
interfaces: tun0
sources:
services: dhcpv6-client https ipp-client mdns samba-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source NOT address="10.8.1.1" service name="ssh" reject
次に、SecurePoint GUI で「接続」をクリックし、サーバーへの接続が確立されたと表示された後、cmd.exe を開いて入力するping 10.8.0.1
と、次の結果が得られました。
Pinging 10.8.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 10.8.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
ユーザー/認証オプションのチェックを外すと、ユーザー名/パスワードのログイン要件が削除されました。
SecurePoint が接続されている場合、ページへのすべてのリクエストが拒否されるため、ブラウザを介した他のすべてのインターネット アクセスがブロックされているように見えることに注意してください。また、VPN は、Windows の Wi-Fi ネットワーク リストに「インターネット アクセスなし」の「識別されていないネットワーク」として表示されます。SecurePoint を使用して VPN から切断すると、「識別されていないネットワーク」は消えます。VPN 接続がアクティブな場合の表示を確認できます。このリンクをクリックすると
他に何を試すことができますか?
答え1
CentOS サーバー (デバイスが配置されているinternal
場合はゾーンtun0
)上のファイアウォールがhttps
サービスとして利用可能であることを確認します。
Windows マシンからサーバーに ping できるはずです10.8.0.1
。これが機能する場合、VPN は起動して動作しており、おそらく CentOS サーバーのファイアウォールがブロックしていることになります。
ping が機能しない場合は、https
ページを確認する前に、根本的な問題を解決する必要があります。
後者の場合、Windows マシンで実行したìpconfig /all
との出力を投稿してください。route print
公式 OpenVPN クライアント
実験として、openvpn
同様の構成ファイルを使用して CentOS クライアントで実行したのと同様の方法で、Windows マシンにインストールして実行することもできます。何が起こっているのかの手がかりが得られるかもしれません。
Windows用のOpenVPNクライアントをここからダウンロードしてくださいここをクリックしてインストールします。インストールの終わりに、クライアントを起動するかどうかを尋ねるチェックボックスが表示されます。クライアントが起動していないことを確認してください。
*.ovpn
CentOS マシン (以前動作していたマシン) から Windows マシンにファイルをコピーします。ファイルを転送する場合、Unix/DOS の行末文字の問題が発生する可能性があります。パッケージには、ファイルを DOS 形式に変換するdos2unix
コンバーターが含まれています。unix2dos
notepad
管理者として開き(右クリックして「管理者として実行」を選択)、*.ovpn
キーと 2 つの証明書へのパスを変更してファイルを編集します。パスには 2 つのバックスラッシュを使用することを忘れないでください (例C:\\Users\\Bloggs\\key.pem
)。このファイルを に保存しますC:\Program Files\OpenVPN\config
。
OpenVPN クライアントをスタート メニューから右クリックして「管理者として実行」を選択し、起動します (これは、初めて実行するときにのみ必要です)。上記の手順が機能している場合は、タスク バーのアイコンを右クリックして接続できるはずです。接続オプションがない場合は、上記を確認してください。
1 ~ 3 秒後に、接続したことを知らせるポップアップが表示されます。Webhttps
ページを試してみてください。
基本的なWindows互換構成
テストとして、現在のサーバー構成をバックアップし、次の操作を試してください。
port 1194
proto udp
dev tun
ca /etc/pki/openvpn/cacerts/CA.crt
cert /etc/pki/openvpn/public/OpenVPN_Server.crt
key /etc/pki/openvpn/private/OpenVPN_Server.pem # This file should be kept secret
dh /etc/pki/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
これは、Linux と Windows クライアント (OpenVPN と SecurePoint の両方) の両方を搭載した私のサーバーで動作します。サーバーに必要な機能は提供されませんが、問題の場所を見つけるのに役立つ場合があります。もちろん、ファイルへのパスを調整する必要があるかもしれません。
参考までに、*.ovpn
私が使用したファイルは次のとおりです。
client
dev tun
proto udp
remote <IP or FQDN of server> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
ca C:\\Users\\gareth\\ca.crt
cert C:\\Users\\gareth\\client.pem
key C:\\Users\\gareth\\key.crt
SecurePoint クライアントの場合、Auth user/pass
チェックボックスのチェックを外し、(もちろん) キーと証明書を除くすべてをデフォルトのままにしました。