pf를 사용하는 OpenBSD-Box의 NAT에 이상한 문제가 있습니다. pf.conf를 다음 줄로 줄였습니다.
extif = "pcn0"
intif = "pcn1"
block drop all
#Allow all incoming traffic from intif
pass in on $intif inet from $intif:network to any
#NAT everything which comes from intif and goes out on extif
match out on $extif inet from $intif:network to any nat-to $extif
pass out quick on $extif inet from $intif:network to any
이것은 어떤 방식으로든 작동하지 않습니다. nat-to는 통과 규칙과 함께 작동하지 않습니다. 하지만 다음과 같은 규칙을 사용하면:
[...]
match out on $extif inet from $intif:network to any nat-to $extif
pass out quick all
실제로 작동한다. 또한 match 문을 사용하지 않아도 작동합니다.
[...]
pass out quick on $extif inet from $intif:network to any nat-to $extif
규칙을 더 제한하고 매칭을 통해 nat-to를 적용하고 싶기 때문에 이것은 정말 이상하고 해결책이 아닙니다. 왜 이것이 경쟁에서 작동하지 않는지 또는 내 오타가 어디에 있는지 아는 사람이 있습니까? (예, IP 전달이 활성화되어 있습니다)
답변1
오래된 질문이지만 대답하는 것이 좋을 것 같습니다 ...
"일치" 규칙은 주소를 $extif로 다시 씁니다....문제가 보이나요?
아래 절차에서는 이를 고려하지 않으며... 바닥에 있는 패킷... 음 /dev/null 또는
"일치" 규칙 끝에 "허용된 태그"를 추가한 다음 통과 규칙을 변경하는 것이 좋습니다.
pass out quick on $extif tagged ALLOWED