방화벽에서 특정 포트를 어떻게 열 수 있습니까? Jenkins의 포트를 열려고하는데 “응용 프로그램에서 연결 허용”을 사용할 수 없습니다. 목록에 없습니다.
답변
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
답변
OS X Yosemite (10.10.3)에서 동일한 문제가 발생했습니다. 명확한 지침을 제공하는 이 블로그 게시물 을 찾았 습니다 . 더 이상 사용되지 않으므로 ipfw를 더 이상 사용할 수 없습니다. 대신 pfctl을 사용하면 안타깝게도 포트를 열도록 지시하는 멋진 명령 줄 방법이 없습니다. 대신 다음을 수행해야합니다.
- 텍스트 편집기에서 /etc/pf.conf를여십시오.
- 다음과 같은 줄을 추가하십시오.
# 모든 인터페이스에서 TCP 용 포트 8080 열기
프로토 타입 TCP를 모든 포트에서 8080으로 전달
- 파일을 저장하십시오.
- 다음을 사용하여 변경 사항을로드하십시오.
sudo pfctl -f /etc/pf.conf
udp 포트를 열어야하는 경우로 변경 tcp
하고 udp
둘 다 필요한 경우 두 번째 줄을 추가하십시오. 자세한 내용은에서 확인할 수 있습니다 man pf.conf
.
또한 반드시 서버가 실제 인터페이스에서 수신되어 있는지 확인합니다 (사용, 또는 모든 인터페이스 그것을 접근 할 이상을 원 0.0.0.0
하거나 ::0
하지 로컬 호스트 (,) 127.0.0.1
또는 ::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로 교체하십시오.