[apple] DNS를 제외한 패킷을 라우팅하지 않는 인터넷 공유를 수정하는 방법은 무엇입니까?

10.8.2를 실행하는 Mac mini가 있습니다. Wi-Fi를 통해 인터넷에 연결되며 모든 것이 작동하는 것 같습니다. 미니의 이더넷에 연결된 다른 컴퓨터에서이 Wi-Fi를 사용할 수 있도록하고 싶습니다.

Wi-Fi 라우터가에 10.0.0.1있습니다.

정적 및 동적 설정을 실험했습니다. 이것이 내가 현재 가지고있는 것입니다 :

mini
Static IP: 192.168.2.1
Netmask:   255.255.255.0
Router:    10.0.0.1

인터넷 공유가 Wi-Fi에서 이더넷으로 이동하도록 설정되어 있습니다. 이 구성에서 :

  1. 미니는 이더넷을 통한 DHCP 주소를 제공합니다.
  2. 미니는 이더넷을 통한 DNS 해상도를 제공합니다.
  3. 미니는 외부 호스트에 대한 패킷을 라우팅하지 않습니다.
  4. 연결된 컴퓨터 수 ping또는 ssh미니로.
  5. 연결된 컴퓨터가 DNS를 확인할 수 있습니다.
  6. 연결된 컴퓨터는 ping라우터, Google 또는 기타 외부 컴퓨터를 사용할 수 없습니다 .

다음은 명령 행에서 희망적으로 유용한 것들의 작은 덤프입니다.

boots@eiji:~$ ps ax | egrep '(bootp|natp)'
52502   ??  S      0:00.01 bootpd -d -P
52503   ??  S      0:29.94 natpmpd -d -y bridge0 en1
53729 s001  S+     0:00.00 egrep (bootp|natp)
boots@eiji:~$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:07:54:58:2f:9c
    media: autoselect (none)
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 68:a8:6d:58:06:e7
    inet6 fe80::6aa8:6dff:fe58:6e7%en1 prefixlen 64 scopeid 0x5
    inet 10.0.0.145 netmask 0xffffff00 broadcast 10.0.0.255
    media: autoselect
    status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 0a:a8:6d:58:06:e7
    media: autoselect
    status: inactive
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    lladdr a4:b1:97:ff:fe:d9:44:ca
    media: autoselect <full-duplex>
    status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether ac:de:48:65:39:32
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    Configuration:
        priority 0 hellotime 0 fwddelay 0 maxage 0
        ipfilter disabled flags 0x2
    member: en0 flags=3<LEARNING,DISCOVER>
             port 4 priority 0 path cost 0



답변

Matt의 대답은 실제로 해결책이 아니라 해결 방법입니다. pf 구성 파일의 버그로 인해 10.8.2의 NAT가 작동하지 않습니다. 여기에서 해결책을 찾을 수 있습니다 :
http://support.apple.com/kb/TS4418?viewlocale=en_US&locale=en_US


답변

증상이 약간 다릅니다. Wi-Fi 연결 iPhone은 Wi-Fi에 연결할 수 있으며 IP (192.168.2.2)와 라우터 (192.168.2.1)가 DHCP를 통해 할당됩니다. Mac은이를 핑할 수 있고 iPhone은 IP 주소를 통해 로컬 네트워크의 서비스에 액세스 할 수 있습니다. 그러나 iPhone은 인터넷 서비스 (예 :지도)에 접근 할 수 없습니다.

DNS가 할당되지 않았 음을 발견했습니다. 따라서 iPhone에서 DNS를 수동으로 지정하면 연결이 완벽하게 작동합니다. 10.8.2의 인터넷 공유 DHCP 서버가 DNS를 클라이언트에 올바르게 할당하지 않은 것 같습니다.

rdar : // 12468765 도 참조하십시오 .


답변

내 친구가의 존재에 대해 상기시켜주었습니다 tcpdump. 이것은 내 문제를 추적하는 데 필요한 도구를 제공했습니다.

연결된 컴퓨터에서 무선 라우터를 핑하기 시작했습니다.

boots@frobisher:~$ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
...

나는 쉽게 추적 할 수있는 트래픽을 생성하기 위해이 실행을 떠났습니다. 내 미니에서 나는 달렸다

boots@eiji:~$ sudo tcpdump -l -i en1 -n | grep ICMP
13:41:45.776732 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 28, length 64
13:41:46.776635 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 29, length 64
13:41:47.776489 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 30, length 64
...

이것이 나의 첫 단서였습니다. Mac mini 무선 네트워크로 트래픽을 반향하고 있지만 손실되었습니다.

이 시점에서 라우터의 무선 구성을 열었습니다. 대부분의 라우터의 경우 이는 라우터에서 웹 브라우저를 가리키는 것을 의미합니다 http://10.0.0.1/. 고급 탭으로 이동하여 라우팅 테이블을 보았습니다. 192.168.2.x주소가 LAN이 아닌 인터넷 연결로 라우팅되고 있음을 알았습니다 . 그래서 정적 경로를 추가했습니다.

Static Route: 192.168.2.0
Netmask: 255.255.255.0
Gateway: 10.0.0.145

갑자기 내 tcpdump가 응답을보기 시작합니다!

13:41:56.775330 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 39, length 64
13:41:56.777700 IP 10.0.0.1 > 192.168.2.14: ICMP echo reply, id 31530, seq 39, length 64
13:41:57.774797 IP 192.168.2.14 > 10.0.0.1: ICMP echo request, id 31530, seq 40, length 64
13:41:57.777136 IP 10.0.0.1 > 192.168.2.14: ICMP echo reply, id 31530, seq 40, length 64
...

마찬가지로 연결된 컴퓨터의 핑에서 응답을보고 있습니다.

boots@frobisher:~$ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes
64 bytes from 10.0.0.1: icmp_seq=0 ttl=64 time=3.864 ms
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=4.463 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.246 ms
...

그래서 연결된 컴퓨터에서 웹 브라우저를 테스트하고 모든 것이 작동합니다. 기술적으로 여기서 멈출 수는 있지만 DHCP를 미니로 임대하면 경로를 수동으로 수정해야합니다. 이 문제를 피하기 위해 고정 IP 주소를 미니로 발행하도록 라우터를 설정하고 192.168.2.x트래픽이 고정 IP 주소를 가리 키도록 라우터를 설정했습니다 .

연결된 컴퓨터에서 작동하게되었으므로 이더넷 케이블을 내 xbox로 전환하고 테스트했습니다. 모든 것이 완벽하게 작동했기 때문에 이제 xbox는 이더넷을 통해 원하는대로 wifi를 사용하여 인터넷에 연결하는 Mac mini에 연결합니다.


답변