端末でVPNを使用するか、ネットワーク管理者を介してLubuntu 15.10の会社ネットワークに接続しています。時にはイントラネットホストにうまくアクセスできますが、突然消えることがあります。それから彼らは戻ってきました。設定を変更せず、接続が安定しています。これはとても残念です。
通常はIPで連絡できますが、ホスト名では連絡できません。これはわずか5分間隔で行われた発掘結果です。 1つは失敗し、もう1つは失敗しました。
; <<>> DiG 9.9.5-11ubuntu1-Ubuntu <<>> some.intranet.host
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7423
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;some.intranet.host. IN A
;; ANSWER SECTION:
some.intranet.host. 3500 IN A 10.0.20.107
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Dec 10 18:46:17 CET 2015
;; MSG SIZE rcvd: 65
; <<>> DiG 9.9.5-11ubuntu1-Ubuntu <<>> some.intranet.host
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 17766
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;some.intranet.host. IN A
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Dec 10 19:06:35 CET 2015
;; MSG SIZE rcvd: 49
私はネットワーク設定がうまくいかず、デバッグするのに苦労しました。 VPNに接続したときの私のresolv.confの内容:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search intranet.host intranet fritz.box
ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:172.16.0.138 P-t-P:172.16.0.138 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1412 Metric:1
RX packets:46575 errors:0 dropped:0 overruns:0 frame:0
TX packets:36452 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:45875777 (45.8 MB) TX bytes:4059895 (4.0 MB)
修正する:
dnsmasqを無効にしたにもかかわらず、再起動後に実行中のプロセスを見ることができ、resolv.confはまだ127.0.0.1をネームサーバーとして保持します。プロセスを終了した後、URLを解析することはできません。 resolv.confからネームサーバーを手動で取り出す必要がありますか?
$ grep dnsmasq /etc/NetworkManager/NetworkManager.conf
#dns=dnsmasq
$ ps aux|grep dnsmas
dnsmasq 1730 0.0 0.0 49580 3052 ? S 16:26 0:00 /usr/sbin/dnsmasq -x /var/run/dnsmasq/dnsmasq.pid -u dnsmasq -r /var/run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service
答え1
Ubuntuはdnsmasq
工場出荷時にデフォルトで有効になっています。 Dnsmasqは1)DNSキャッシュプロキシ(パフォーマンス用)、2)DHCPサーバーです。一般的なホームルーターと通信する一般的なホームユーザーが、ルーターが提供するこれら2つのサービスを複製するためにdnsmasqが必要な理由が見つかりません。
最初のステップはdnsmasqを無効にすることです。
$ grep dnsmasq /etc/NetworkManager/NetworkManager.conf
#dns=dnsmasq
$ sudo service network-manager restart
$ sudo killall dnsmasq
まず、ネットワーク接続がそのままであることを確認することをお勧めします。 DNSのパフォーマンスが影響を受ける場合は驚くでしょう。
Fires up vpnc
; NetworkManagerの助けを借りずに手動で実行した。デフォルトルートをVPNにリダイレクトする必要があるかもしれません。次のコマンドを使用して、VPNトンネル疑似デバイスを見つけることができますifconfig
。私の名前は次のとおりです。tun0
$ sudo route del default ; sudo route add default tun0
端末をブロックするデフォルトのルーターがない場合に備えて、1行にしておくことをお勧めします(そうではありませんが…)。
上記の最初のコードブロックは一度だけ完了します。デフォルトルートを変更する必要がある場合は、VPNを使用するたびにそれを変更する必要があります。これをすべて行う単純なスクリプトがありますが、NetworkManagerをよりよく理解しておらず、あまりにもローカルであると思うので、ここに投稿しません。
答え2
Debian Bullseye/sid/unstable の同じクライアント/VPN 状況の現在のタスク設定は、NetworkManager を方程式から除外することです。
NetworkManagerをアンインストールします(通常のトレイアイコンGUIを介してWi-Fiに接続できない可能性があります)。
sudo apt 削除 ネットワーク管理者-gnome ネットワーク管理者 sudo apt install dnsmasq
簡単なカスタム dnsmasq 構成を使用します。
ファイル:/etc/dnsmasq.d/yourname
# Use my router as default
server=192.168.2.1
# Use some-company dns for intranet hosts
server=/some-company.com/10.49.123.5
server=/.foo/10.49.123.5
オプションでログを介してデバッグするには、次の2行を追加します。
log-queries
log-dhcp
マニュアルは次の場所にあります。https://wiki.ubuntuusers.de/Dnsmasq/
/etc/resolv.conf
シンボリックリンクではないことを確認し、dnsmasqを指してください。 VPNスクリプトのアップ/ダウンスクリプトがファイルの変更を試み、接続/リンク解除時に設定を混乱させる可能性があるため、これは重要です。
ファイル:/etc/resolv.con
nameserver 127.0.0.1
YMMV:/etc/resolf.confを上書きする内容がまだ表示されるため、/etc/dhcp/dhclient.confの末尾に1行追加しました。
supersede domain-name-servers 127.0.0.1;
サービスの再起動
/etc/init.d/networking 再起動
sudo /etc/init.d/dnsmasq 再起動
これにより、VPNに接続または接続されていないときに、会社ではなく住所と会社の住所の両方で機能するようになりました。