저는 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