web-dev-qa-db-ja.com

openvpn接続のデフォルトDNSを変更する

Ubuntu 12.10でNetwork Managerを使用してopenvpnサーバーに接続しています。接続は問題なく動作します。ただし、接続するときに、デフォルトのDNSサーバーをvpnネットワーク上のサーバーに変更したいと思います。そうすれば、VPNネットワークでのみ定義されているドメイン名を使用できます。 Network Managerでこれを自動化する方法はありますか?

Openvpnサーバーの設定を変更することもできます。

ありがとう!

6
Daniel

Rajeshによると、サーバーにオプションを追加するのが最善の方法でした。
詳細についてはこの質問を参照してください

0
Daniel

これはコメントで述べたようにサーバーで通常行われることですが、VPNの内部のクエリにVPNのDNSのみを使用したい場合があります。その場合、おそらくシステム上で軽量のDNSデーモンを実行し、どのクエリをどこに送信するかを指示する必要があります。一度に複数のVPNを使用している場合、これは基本的に必須です。

3
peterph
  1. サーバー構成に関しては、OpenVPNサーバーは次のようなものを発行する必要があります

Push dhcp-option DNS XXX.XXX.XXX.XXX

Push dhcp-option DOMAIN mylocaldomain.local

(詳細をご覧ください こちら )。 XXX.XXX.XXX.XXXはDNSサーバー、mylocaldomain.localはローカルドメインです。ローカルマシンでOpenVPNクライアントの出力(dhcp-option DNS ...、dhcp-option DOMAIN ...)を起動すると、簡単に見つかります。

  1. OpenVPNクライアントはresolv.confを更新する必要があります(14.04でテスト済み)

$ Sudo openvpn --config client.ovpn --up /etc/openvpn/update-resolv-conf --down /etc/openvpn/update-resolv-conf --script-security 2

3
igorp1024

@peterphが指摘しているように、軽量DNSは最適なオプションのようです。これは、/etc/resolv.confが実際に処理できるDNSは1つだけであるためです。

したがって、Linuxでは dnsmasq が最良のオプションだと思います。私はこれをCentOS 6で使用しましたが、構成は何でも似ているはずです。

  • yum install dnsmasq(またはapt-get install)などでインストールします。
  • Dnsmasq(テストのためだけ)service dnsmasq startを開始します。他のDNSサーバーがある場合は、停止して無効にする必要がある場合があります(DNSポートで実行されているものを確認してください:netstat -aonp | grep ":53")。
  • 編集/etc/dnsmasq.conf
    • いいですね(説明は man dnsmasq を参照):
      • ドメインが必要
      • 偽物
      • 厳密な順序
      • 解決しない
    • Sepcifc URLのサーバーをセットアップします。
      • 構文はserver=/some URL base/dns server IPです
      • 例:server=/example.com/192.168.0.1-192.168.0.1のDNSサーバーに*.example.comを要求します。
    • 他の汎用サーバーを追加します。例えば。 googleサーバー:
      • サーバー= 8.8.8.8
      • サーバー= 8.8.4.4
    • 必要に応じて、ルックアップキャッシュを無効にします(一部のサーバーが切断された場合などのキャッシュの問題を回避するため):
      • cache-size = 0
  • 設定service dnsmasq restartを再読み込みします。
  • NetworkManagerのDNSを設定します(使用する場合)
    • /etc/sysconfig/network-scripts/ifcfg-*を編集します(DNS1:DNS1=127.0.0.1を変更します)。
    • 再起動:/etc/init.d/network restart
  • Digまたはnslookupを使用してドメインをテストします。
  • 起動時にサービスを実行:chkconfig dnsmasq onchkconfigはCentOS/RedHat固有であり、他のほとんどの場合はupdate-rc.dを使用することに注意してください)。
0
Nux