会社のサーバーへのOpenVPN接続をセットアップして、自宅から働いている人や外出している人が社内リソースにアクセスできるようにしています。
Digital Oceanのブログ(16.04用に作成)のガイドを使用して、VPNを正しくセットアップしています。
外部回線から接続し、内部サーバーとデバイスにpingを送信して、それらのリソースにアクセスできます。これはうまく機能します。
ただし、接続を内部リソースのみに制限する必要があります。 OpenVPNを介したインターネット接続は通過しません。これは、VPNの一般的な使用方法ではありません(接続のマスキング、Geoblockingのバイパス、または単に接続の暗号化)。
これは可能ですか?私は明らかにVPN接続がクライアントと通信できる必要があることを知っていますが、それ以外では、Webへのすべての接続をブロックしたいです。
問題のサーバーは、別のマシンで実行されているVMでもあります。
インターネットに接続せずに内部リソースにアクセスすることは可能ですが、これは実際にはOpenVPNを使用するための通常のシナリオだと思います。したがって、OpenVPNサーバーをセットアップするためのガイドに従っている場合、クライアントトラフィックをインターネットに転送できるようにするいくつかの手順がありました。それらの手順を元に戻す必要があります。 server.confでこの行をコメントすることから始めるべきだと思います
Push "redirect-gateway def1 bypass-dhcp"
次に、次のような行をコメントアウトして、クライアント用のDNSサーバーのプッシュを無効にする必要があります。
Push "dhcp-option DNS xxx.xxx.xxx.xxx
もちろん、変更を行った後にOpenVpn confをリロードする必要があります。
Sudo service openvpn reload
そして、インターネットへのパケット転送を無効にします
echo 0 > /proc/sys/net/ipv4/ip_forward
転送の無効化を永続的にするには、編集する必要もあります
/etc/sysctl.conf
コメント行
net.ipv4.ip_forward=1
今では、クライアントがVPNを介してインターネットにアクセスできるようになるべきではないと考えています。
クライアント側で別の方法で解決しました
Windows:VPN接続設定を開く必要があります[ネットワーク]> [TCP/IPv4]> [プロパティ]> [詳細]-[リモートネットワークにデフォルトゲートウェイを使用する]オプションを無効にします