
Ubuntu 12.10では、ネットワーク管理者を使用してopenvpnサーバーに接続しています。接続は問題なく動作します。ところで、接続時にプライマリDNSサーバーをVPNネットワークのサーバーに変更したいと思います。これにより、VPNネットワークにのみ定義されているドメイン名を使用できます。 Network Managerを使用して自動化する方法はありますか?
必要に応じて openvpn サーバーの設定を変更することもできます。
ありがとうございます!
答え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 ...)を起動したときに簡単に見つけることができます。
- 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
答え2
@peterphが指摘したように、軽量DNSが最良の選択肢のようです。/etc/resolv.conf
実際には1つのDNSしか処理できないからです。
だから私は思うDNSLinuxで最高の選択です。 CentOS 6ではこれを使用していますが、他の設定も似ています。
yum install dnsmasq
apt-get install(またはapt-get install)などの方法でインストールします。- dnsmasqを起動します(テスト用)
service dnsmasq start
。他のDNSサーバーがある場合は、停止して無効にする必要があるかもしれません(DNSポートで実行されているエントリの確認:)netstat -aonp | grep ":53"
。 - 編集する
/etc/dnsmasq.conf
- あればいいです(参照peoplednsmasq説明用):
- ドメインが必要です
- 偽のプライバシー
- 厳格な秩序
- 解決できない
- 特定のURLのサーバーを設定します。
- 構文は次のとおりです。
server=/some URL base/dns server IP
- 例:
server=/example.com/192.168.0.1
-DNS サーバーにお問い合わせください。192.168.0.1
*.example.com
- 構文は次のとおりです。
- 別の汎用サーバーを追加します。たとえば、Google サーバーは次のようになります。
- サーバー=8.8.8.8
- サーバー=8.8.4.4
- ルックアップキャッシュを無効にするオプションがあります(一部のサーバーが切断されたり、他の状況でキャッシュの問題を防ぐため)。
- キャッシュサイズ=0
- あればいいです(参照peoplednsmasq説明用):
- 設定を再ロードします
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 on
これはchkconfig
CentOS / RedHatにのみ適用され、他のupdate-rc.d
ほとんどのシステムで使用されます)
答え3
これは通常コメントに記載されているサーバーで実行されますが、場合によってはVPN内部クエリにVPNのDNSを使用したい場合があります。この場合、システムは軽量DNSデーモンを実行し、どのクエリをどこに送信するかを指示できます。これは、デフォルトで複数のVPNを同時に使用する場合に必須です。