OS X Mavericks 10.9.2가 설치된 MacBook Pro를 사용하고 있습니다. 그것은 USB 3G 동글을 통해 인터넷에 연결하고, 와이파이를 통해 그 인터넷 연결을 공유하고 싶습니다. 그러나 생성 된 wifi 액세스 포인트에 연결하는 장치에서 DNS 조회가 작동하지 않습니다 (단 8.8.8.8을 ping 할 수는 있지만). 8.8.8.8을 사용하도록 장치를 정적으로 구성하면 모든 장치가 작동하지만 모든 장치가이를 지원하지는 않습니다 (또는 고정 IP 및 게이트웨이를 구성하려는 경우에만 해당).
문제는 OS X이 bootp (DHCP 서버)가 MacBook 자체의 DNS 서버 주소를 할당하도록 구성하는 것 같습니다.
$ cat /etc/bootp.list
...
<key>dhcp_domain_name_server</key>
<array>
<string>192.168.2.1</string>
</array>
...
이것은 실제로 기계 자체의 IP 주소입니다.
$ ifconfig
...
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 02:26:bb:66:19:64
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
...
DHCP 응답에서 클라이언트가받는 것은 다음과 같습니다.
$ sudo tcpdump -vv
15:26:07.265635 IP (tos 0x0, ttl 255, id 9846, offset 0, flags [none], proto UDP (17), length 328)
192.168.2.1.bootps > 192.168.2.2.bootpc: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x4e0988af, Flags [none] (0x0000)
Your-IP 192.168.2.2
Server-IP 192.168.2.1
Client-Ethernet-Address 10:bf:48:cc:49:7d (oui Unknown)
sname "ip-77-24-232-37.web.vodafone.de"
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: 192.168.2.1
Lease-Time Option 51, length 4: 85536
Subnet-Mask Option 1, length 4: 255.255.255.0
Default-Gateway Option 3, length 4: 192.168.2.1
Domain-Name-Server Option 6, length 4: 192.168.2.1
이제 실제로 작동한다면 괜찮을 것입니다. 여기에 쓴 , 즉 OS X은 바인드를 실행합니다 ( named
) 서버 자체로, DNS 요청과 응답을 ISP의 서버로 전달합니다.
그러나 ... using tcpdump
클라이언트가 DNS 조회에서 오류 응답을 받고있는 것을 볼 수 있습니다.
$ sudo tcpdump
15:23:33.181447 IP 192.168.2.2.57291 > 192.168.2.1.domain: 32713+ A? google.com. (28)
15:23:33.181528 IP 192.168.2.1 > 192.168.2.2: ICMP 192.168.2.1 udp port domain unreachable, length 36
실제로, 아니오 named
서버가 실행 중이고 설치되지 않은 것 같습니다.
$ ps aux | grep named
thomas 2175 0.0 0.0 2423368 188 s000 R+ 3:14pm 0:00.00 grep named
$ which named
$
5353에는 mDNSResponder라는 것이 있지만 UDP 포트 53에서도 수신 대기중인 것은 없습니다.
$ sudo lsof -i -P | grep 53
mDNSRespo 47 _mdnsresponder 8u IPv4 0x4dcb7c0f075daa1d 0t0 UDP *:5353
mDNSRespo 47 _mdnsresponder 9u IPv6 0x4dcb7c0f075da835 0t0 UDP *:5353
natpmpd 1664 root 4u IPv4 0x4dcb7c0f064b6f15 0t0 UDP 192.168.2.1:5351
이제이 문제를 해결할 수있는 두 가지 방법을 생각해 볼 수 있습니다.
- UDP 포트 53에서 일부 DNS 서버를 실행하십시오. 아쉽게도 아무 것도 설치되어 있지 않습니다.
- 8.8.8.8과 같이 실제로 작동하는 DNS 서버 주소를 DHCP가 제공하도록합니다. 불행히도
InternetSharing
응용 프로그램 덮어 쓰기/etc/bootp.plist
인터넷 공유가 켜질 때마다 IP 주소를 추가하고 작동하더라도 영원히 작동하지 않습니다.
그러나 무언가는 이것이 (그리고 일반적으로) 박스에서 제대로 작동해야한다고 말해줍니다 ... 나는 무엇을 놓치고 있습니까?
named
서비스를 실행하지만, 나는 53 실행하고있어. 참고 lsof에서 16 진수 값을 제거했습니다.mDNSRespo 42 _mdnsresponder 8u IPv4 0t0 UDP *:5353 mDNSRespo 42 _mdnsresponder 9u IPv6 0t0 UDP *:5353 mDNSRespo 42 _mdnsresponder 64u IPv4 0t0 UDP *:53 mDNSRespo 42 _mdnsresponder 65u IPv6 0t0 UDP *:53 mDNSRespo 42 _mdnsresponder 66u IPv4 0t0 TCP *:53 (LISTEN) mDNSRespo 42 _mdnsresponder 67u IPv6 0t0 TCP *:53 (LISTEN)