터미널에서 VPN을 사용하거나 네트워크 관리자를 통해 Lubuntu 15.10의 회사 네트워크에 연결하고 있습니다. 때로는 인트라넷 호스트에 잘 액세스할 수 있지만 갑자기 사라지는 경우도 있습니다. 그런 다음 그들은 돌아 왔습니다. 설정을 변경하지 않았으며 연결이 안정적입니다. 이것은 매우 실망 스럽습니다.
일반적으로 IP로 연락할 수 있지만 호스트 이름으로는 연락할 수 없습니다. 이것은 불과 5분 간격으로 진행된 발굴 결과입니다. 하나는 실패했고 다른 하나는 실패했습니다.
; <<>> 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 서버입니다. 일반적인 홈 라우터와 통신하는 일반 홈 사용자가 라우터에서 제공하는 이 두 가지 서비스를 복제하기 위해 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
터미널을 막는 기본 라우터가 없는 경우를 대비해 한 줄로 유지하는 것이 좋습니다(그렇지 않아야 하지만...).
위의 첫 번째 코드 블록은 한 번만 완료됩니다. 기본 경로를 변경해야 하는 경우 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
선택적으로 로그를 통해 디버그하려면 다음 두 줄을 추가하세요.
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 끝에 한 줄을 추가했습니다.
supersede domain-name-servers 127.0.0.1;
서비스 다시 시작
/etc/init.d/networking 재시작
sudo /etc/init.d/dnsmasq 재시작
이로 인해 VPN에 연결되거나 연결되지 않았을 때 회사가 아닌 주소와 회사 주소 모두에서 작동하게 되었습니다.