macos - pfctl을 사용한 로컬 포트 ​​리디렉션 및 구문 오류

macos - pfctl을 사용한 로컬 포트 ​​리디렉션 및 구문 오류

저는 MacOS(실제로는 BSD)를 실행 중이고 로컬 전달을 사용하여 SSH 터널을 통해 일부 트래픽을 리디렉션하고 싶습니다. 아주 간단해 보이지만 모호한 "/etc/pf.conf:29: Syntax error" 메시지로 인해 매번 반복적으로 차단됩니다. 나는 지금까지 이 규칙을 30번 이상 반복했을 것입니다. 또한 구문 및 리디렉션과 관련된 OpenBSD 패킷 필터 정보를 읽었습니다. 나는 BSD 패킷 필터와 관련하여 혼란스럽고 나보다 똑똑한 사람의 도움을 찾고 있습니다.

목표는 내 로컬 컴퓨터에서 인터넷에 있는 컴퓨터로의 모든 트래픽을 포트 1234로 전환하고 트래픽을 127.0.0.1:1234로 리디렉션하는 것입니다. 내 특정 운영 체제는 OS X 10.10.2 Yosemite입니다.

이는 pfctl이 "구문 오류"를 반환하게 하는 규칙의 최신 반복입니다.

pass out quick on en6 from any to en6 port 1234 rdr-to 127.0.0.1 port 1234

문서와 인터넷의 기타 블로그에 따르면 이 규칙은 올바른 것으로 보이지만 pfctl은 이에 동의하지 않습니다.

문서에 대한 나의 이해를 바탕으로 분석은 다음과 같습니다.

pass- 트래픽을 전달하는 작업
out- 트래픽 흐름의 방향
quick- 패킷이 이 규칙과 일치하면 체인의 마지막 규칙으로 간주됩니다
on en6. - 규칙이 적용되는 인터페이스
from any- 패킷 소스(항상 내
to en6 port 1234- 인터페이스의 모든 항목은 포트 1234로 전송됩니다.
rdr-to 127.0.0.1 port 1234- 패킷을 이 인터페이스로 리디렉션합니다 .

답변1

할 수 있어요:

rdr pass quick on $ext_inf inet proto tcp from any to any port 1394 -> $target port 1394

관련 정보