방화벽 OS X 10.9.4에서 특정 포트를 여는 방법


15

방화벽에서 특정 포트를 어떻게 열 수 있습니까? Jenkins의 포트를 열려고하는데 "응용 프로그램에서 연결 허용"을 사용할 수 없습니다. 목록에 없습니다.


Jenkins가 수신 할 수있는 포트 및 프로토콜은 무엇입니까? 이 포스팅은 당신이에 ... 구성 무슨 포트를 확인하는 데 도움이됩니다 stackoverflow.com/a/10106086/475228
bmike

프로토 TCP 포트 8080
Guy

이 게시물에 ipfw관련이 있습니까? apple.stackexchange.com/questions/33871/…
bmike

답변:


7

Apple의 OS X Maverick에는 3 개의 방화벽이 있습니다. 우선 시스템 설정을 사용하여 구성 할 수있는 응용 프로그램 수준 방화벽입니다. 그러나 GNU / Linux 및 pf (FreeBSD / OpenBSD)에는 netfilter / iptables와 같은 패킷 필터링 방화벽 인 ipfw도 있습니다.

명령 행을 사용하거나 free / libre WaterRoof 와 같은 그래픽 프론트 엔드를 사용하여 ipfw 를 구성 할 수 있습니다 .

다음과 같은 ipfw 명령으로 시작할 수 있습니다.

sudo ipfw add 31010 allow tcp from any to any dst-port 8080

7
IPFW는 사용되지 않으며 엘 캐피 탄에서 사라 졌어요
slashdottir

21

OS X Yosemite (10.10.3)에서 동일한 문제가 발생했습니다. 명확한 지침을 제공하는 이 블로그 게시물 을 찾았 습니다 . 더 이상 사용되지 않으므로 ipfw를 더 이상 사용할 수 없습니다. 대신 pfctl을 사용하면 안타깝게도 포트를 열도록 지시하는 멋진 명령 줄 방법이 없습니다. 대신 다음을 수행해야합니다.

  1. 텍스트 편집기에서 /etc/pf.conf를여십시오.
  2. 다음과 같은 줄을 추가하십시오.

# 모든 인터페이스에서 TCP 용 포트 8080 열기

프로토 타입 TCP를 모든 포트에서 8080으로 전달

  1. 파일을 저장하십시오.
  2. 다음을 사용하여 변경 사항을로드하십시오.

sudo pfctl -f /etc/pf.conf

udp 포트를 열어야하는 경우로 변경 tcp하고 udp둘 다 필요한 경우 두 번째 줄을 추가하십시오. 자세한 내용은에서 확인할 수 있습니다 man pf.conf.

또한 반드시 서버가 실제 인터페이스에서 수신되어 있는지 확인합니다 (사용, 또는 모든 인터페이스 그것을 접근 할 이상을 원 0.0.0.0하거나 ::0하지 로컬 호스트 (,) 127.0.0.1또는 ::1).


3
우와, 재부팅? 실제로 포트를 열려면 재부팅해야합니까?
jcollum

1
-npfctl에 전달 하면 규칙이 확인되고 뾰족하게로드되지 않습니다. -f /etc/pf.conf규칙을로드하는 데만 사용하십시오 . 로로드되어 있는지 확인하십시오 pfctl -sr. 그러나 pfctl 규칙이 필요하지만 지정된 포트에서 El Capitan에 액세스하기에 충분하지는 않습니다.
Brian M. Hunt

... 또한 응용 프로그램이 호스트 이름에 바인딩되어 있는지 확인해야합니다 (아닌 localhost). 하나는 $ hostname명령 행 에서 호스트 이름을 얻습니다 . 또한 시스템 환경 설정-> 보안 및 개인 정보-> 방화벽-> 방화벽 끄기로 이동 한 다음 방화벽을 켜서 재부팅하지 않고 방화벽을 다시 시작할 수 있습니다.
브라이언 M. 헌트

@ 환상적인 환상적인 아바타-멋진 추억!
Dónal

6

ipfw는 Apple에서 더 이상 사용되지 않습니다. Mountain Lion 이상은 pfctl을 사용합니다.

http://support.apple.com/kb/ht5413


6
특정 명령을 게시하여 포트를 열 수 있습니까?
thias

특정 포트를 추가하려면 구성 파일을 편집해야한다고 생각합니다 ( krypted.com/mac-security/… 및 192.168로 부품 검색). 반면에 응용 프로그램이 차단되지 않도록 하려면 jamfnation.jamfsoftware.com/discussion.html?id=6566 에 최종 주석에 대한 요약이 있습니다. 나는 여전히 대부분 10.6을 사용하므로 pfctl을 많이 사용하지 않았습니다.
Kent

1

여기에 사용자가 Vim을 엉망으로 만드는 대신 하나의 라이너가 있습니다. 자동화에 유용합니다.

sed -i '' -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf

또는 Linux 사용자를위한 대안

sed -i -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf

8080예제에서 생각한대로 변경하십시오 . 원하는 경우 tcp를 udp로 교체하십시오.

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