GUI 또는 AppleScript를 사용하지 않고 인터넷 공유를 활성화하려면 어떻게합니까?


2

다소 이상한 이유로 내 공유 환경 설정 탭이 파손되었습니다 (긴 이야기이고 더 좋은 해결책이없는 것 같습니다. 더 이상 존재하지 않는 UI 개체를 찾고 있습니다).

어쨌든 인터넷 공유를 통해 내 Macbook의 인터넷 연결을 내 iPad와 공유하고 싶지만 GUI 또는 사과 스크립트 (기본적으로 GUI를 호출 함) 없이는 할 수있는 방법을 찾을 수 없습니다.

문제는 내가 (1) 설정하고 (2) 인터넷 공유 데몬을 실행해야합니다. 데몬을 실행하는 것은 쉽지만 구성 할 수는 없습니다.

지금까지 나는 1을 라우팅 할 필요가 있다고 생각하고 있습니다. 2 - natd를 실행하십시오. 3- 방화벽이 올바르게 설정되었는지 확인하십시오. 4- 와이파이에서 피어 투 피어 네트워크를 구성하십시오. 또 다른 옵션은 sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist 문제는이 작업을 위해 최소한 유효한 Snow Leopard .plist 파일이 필요하다는 것입니다.

내가 시도한 또 다른 솔루션은 가상 머신 (Parallels에서 Ubuntu VM을 사용)을 사용하여 연결 공유를하는 것입니다. 그것은 작동하지만 너무 많은 일을합니다.

(궁금한 점이 있다면 환경 설정 탭에서 공유를 클릭하면 충돌이 발생하고 콘솔에서 '알 수없는 클래스'AppleSharing_NatManager '대신'NSObject '를 사용하는 오류가 발생합니다.)

다른하실 말씀 있나요?



아니, 나는 그것을 게시하기 전에 읽었다. 일반적으로 스크립트를 사용하여 인터넷 공유를 자동화하려는 경우 사람들이해야 할 일은 Apple 스크립트를 사용하는 것입니다 (기본적으로 올바른 버튼과 확인란을 클릭하여 작업을 수행함). 설명했듯이 환경 설정 UI가 나는 이것을하기 위해 좀 더 "유닉스적인"방법이 필요하다.
Ali

1
선택한 답변을 읽지 말고 가장 많은 득표 수를 가진 링크를 읽고 GUI 스크립팅을 사용하지 마십시오.

1
@Ali : 환경 설정 창을 수정하는 것이 더 쉬운 것 같아요 ;-) 다른 사용자 계정에서 실행될 때 성공적으로 열렸는지 여부를 시도해 보셨습니까? 그리고 다른 .plist 파일을 이동하여 문제가 지속되는지 확인해 보았습니까?
Asmus

너는 너무 겸손하다. 대답은 선택되지 않았지만 가장 많은 표를 얻는다. :) +1!
ghoppe

답변:


2

다른 사람들이 언급 한 plist ( /System/Library/LaunchDaemons/com.apple.InternetSharing.plist )는 인터넷 공유의 상태에 관계없이 결코 변화하지 않는 것으로 보입니다 - 적어도 Snow Leopard 아래.

나는 그 대답이 어딘가에 있다고 생각한다. /usr/libexec/InternetSharing/etc/boopd.plist.

먼저 실행 해보십시오.

sudo /usr/libexec/InternetSharing -d

다음과 같은 메시지가 표시됩니다.

InternetSharing[40307]: InternetSharing starting

/etc/bootpd.plist is empty/missing

InternetSharing[40307]: no primary service specified, exiting

그것은 /etc/bootpd.plist 공유 기본 설정 창에서 인터넷 공유를 시작할 때 만들어지며 인터넷 공유가 꺼지면 삭제됩니다.

모험을 느끼는 경우 수동으로 plist 파일을 만들 수 있습니다. AirPort에 공유 된 이더넷을 사용하여 인터넷 공유를 활성화하고 결과로 나오는 텍스트를 복사했습니다. /etc/bootpd.plist 파일을 여기에 붙여 넣기 : http://pastebin.com/gQVzARfa

이 plist에는 필요한 모든 설정 (예 : 무선 공유 연결의 SSID)이 포함되어 있지 않으므로 자체적으로 작동하지 않는다고 생각합니다. 나는 여전히 다른 설정을 찾고 있는데이 설정을 찾으면이 답변을 업데이트 할 것입니다. (일부는 매개 변수로 전달 될 수 있습니다. /usr/libexec/InternetSharing,하지만 그것에 대한 설명서를 찾을 수 없습니다.)

plist 파일을 만든 후에는 실행 해보십시오. sudo /usr/libexec/InternetSharing -d 다시. 우리는이 오류를 한 번에 해결할 수 있습니다. 이 시점에서 실제로 학문적 인 연습입니다. OS를 다시 설치하여 프리 페어 문제를 해결하는 것이 훨씬 쉬울 것입니다. ;]

어떤 기적으로 시작된다면 나는 믿는다. /usr/libexec/InternetSharing -q 공유가 중단됩니다.

시스템 파일을 망친 것은 항상 다소 위험하므로 중요한 파일을 최근에 백업했는지 확인하십시오 (필자는 드롭 박스 ).


@Austin 사람은 멋지다. 그래도 내가 /etc/bootpd.plist를 만지거나 그 내용을 복사하거나 (444에 대한 권한을 설정하더라도) 섭취 한 내용을 복사하더라도 그 내용이 삭제 될 것이라고 밝혀진다. /usr/libexec/InternetSharing 하지만 멋진 일은 지금 내 iPad에서 내 맥에 연결할 수 있다는 것입니다! SSH가 포함되어 있습니다. 그것은 여전히 ​​패킷을 라우팅하지 않기 때문에 내 iPad에서는 인터넷이 없지만 진행 상황입니다. 그런데 AirPort 아이콘이 Interent 공유 기호라고 생각하는 위쪽 화살표로 바뀝니다. 나는 또한 Dropbox 팬이다!
Ali

@ 오스틴은 '/ usr / libexec / InternetSharing'이 나에게 돌아 오지 않는다. (나는 Ctrl-c를 누를 때까지 멈추다.) 위에서 언급 한 세 번째 줄을 보지 못한다. ( 'InternetSharing [40307 ] : 1 차 서비스가 지정되지 않고 종료 됨 ').
Ali

1
@Ali 나가기 전에 멈추는 것은 흥미 롭습니다 ... 당신의 pref 창을 괴롭히고있는 동일한 문제의 징후 일 수 있습니다. 아마도 콘솔을 살펴보십시오 ( /Applications/Utilities/Console.app ) 거기에 유용한 메시지가 있는지 확인하십시오. "위쪽 화살표"는 AirPort 인터넷 공유의 표시이므로, 최소한 좋은 신호입니다.
Austin

@ 오스틴, 그것은 붙어있어, 그것은 "5/2/11 오후 3시 30 분 18 초 UserEventAgent [410] **** 오류 : SCNetworkSignatureCopyActiveIdentifiers nil을 반환"볼 콘솔에서 충돌하지 않습니다. 어떤이 헤더 파일에 따르면 ( opensource.apple.com/source/configd/configd-210/... ) 사용할 수있는 네트워크 또는 뭔가 목록을 반환해야합니다.
Ali

@ 오스틴, 두 개의 네트워크 인터페이스간에 라우팅 (패킷 포워딩)을 활성화 할 수 있는지 알고 있습니까? 나는 내 퍼즐의 마지막 조각을 믿는다.
Ali

1

UUID 문제를 해결하려면 다음과 같이 시스템의 UUID를 볼 수 있습니다. system_profiler | grep 'Hardware UUID' 파일을 업데이트했습니다.

이것은 내가 사본을 가져와야 할 때 내가 한 일이다. /Library/Preferences/SystemConfiguration/com.apple.nat.plist 내 컴퓨터가 그걸 가지고 있지 않다는 것을 알았을 때 다른 맥에서.

이 모든 것들에도 불구하고 이더넷에서 인터넷으로 나의 인터넷 연결을 공유하려고 애 쓰고 있습니다.

달리는 sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist 잘못된 설정 (공항에서 이더넷으로 공유 - 역방향이 필요함)으로 인터넷 공유 환경 설정 GUI를 켭니다.

launchctl로드 요청에도 불구하고 오류 로그는 여전히 출력과 동일하게 표시됩니다. sudo /usr/libexec/InternetSharing -d

Oct 14 01:54:39 boatdelight-lm InternetSharing[52015]: InternetSharing starting
Oct 14 01:54:39 boatdelight-lm InternetSharing[52015]: no primary service specified, exiting

나는 수동으로 생성하지 않고 이것을 시도했다. /etc/bootpd.plist 파일.


0
man networksetup 

또는

man systemsetup 

그것을 할 수도 있습니다.


덕분에 나는이 두 명령에 대해 몰랐습니다. 그러나 인터넷 공유 (또는 해당 문제에 대해 NAT 또는 라우팅)에 대해서는 아무 것도 없습니다.
Ali

0

@Austin과 다른 사람들 덕분에, 나는 마침내 문제를 해결했습니다! 젠장, 유닉스 박스라고 생각했는데, 무슨 일이 일어나는지 알아낼 수 있어야 해! 나는 결코 인터넷 공유가 켜지지 않은 직장에서 또 다른 스노우 레오파드 머신을 발견했고 터미널에서 나는 달렸다 :
touch now && sudo find -x / -newer now

그리고 항상 표시되는 짧은 파일 목록 (주목할만한 색인, / private / log의 로그 파일, FileVault에서 암호화 된 스파 스 번들을 사용하는 경우)

인터넷 공유를 활성화하고 이번에는 다음을 실행했습니다. sudo find -x / -newer now 분명히 "지금 만지지"않고. 로그 파일과 다른 junk가 수정 된 파일들로 가득 차 있음을 알 수 있습니다. 나는 그들을 내 컴퓨터에 복사하고 인터페이스 이름과 몇 가지 다른 호스트 이름과 IP 주소를 수정했습니다. 문제는 /Library/Preferences/SystemConfiguration/com.apple.nat.plist 기본 서비스 키가 UUID로 설정되어 있고 테스트 한 모든 머신 (실제로는 2 머신)마다 다르며 한 machin에서 다음 머신으로 복사하는 경우에는 작동하지 않습니다.

* 만약 당신이 허리에있어이 부분을 반드시 읽으십시오 *

처음부터 OS를 재설치하는 것을 피했습니다. 설치 및 구성이 너무 많아서 느슨하게하고 싶지 않았기 때문입니다. 컴퓨터와 함께 제공되는 원본 DVD를 사용하고 응용 프로그램, 홈 디렉토리, 사용자 정의 수정, Mac 포트 및 fink 설치, 환경 설정, 네트워크 마운트, 네트워크 위치, 개발자 도구 등을 모두 재설치하면 모든 것이 보존된다는 것이 밝혀졌습니다. 하지만 환경 설정 공유 창을 수정하는 핵심 시스템 구성 요소를 다시 설치하십시오!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.