![NetBSD에서 로컬이 아닌 주소 바인딩](https://linux55.com/image/66347/NetBSD%EC%97%90%EC%84%9C%20%EB%A1%9C%EC%BB%AC%EC%9D%B4%20%EC%95%84%EB%8B%8C%20%EC%A3%BC%EC%86%8C%20%EB%B0%94%EC%9D%B8%EB%94%A9.png)
이것은 프로그래밍 질문이 아니라 NetBSD에 대한 질문입니다.
Linux, FreeBSD 및 OpenBSD에는 상호 배타적이지만 연결의 로컬 측이 로컬 인터페이스에 존재하지 않는 주소에 바인딩될 수 있도록 하는 유사한 인터페이스가 있습니다. 예를 들어 연결 설정~에서8.8.8.8. 나는 NetBSD에서 동일한 효과를 내는 것이 있는지 알아보기 위해 성공하지 못한 채 탐색해 왔습니다. 당신은 있나요?
참조용 샘플 코드는 다음과 같습니다.
https://github.com/UlricE/pen/blob/master/server.c
함수 spoof_bind, 라인 ~250.
이 개념을 설명하기 위해 매우 단순화된 예:
리눅스:
setsockopt(upfd, SOL_IP, IP_TRANSPARENT, &one, sizeof one);
bind(upfd, (struct sockaddr *)&addr, sizeof addr);
FreeBSD:
setsockopt(upfd, IPPROTO_IP, IP_BINDANY, &one, sizeof one);
bind(upfd, (struct sockaddr *)&addr, sizeof addr);
오픈 BSD:
setsockopt(upfd, SOL_SOCKET, SO_BINDANY, &one, sizeof one);
bind(upfd, (struct sockaddr *)&addr, sizeof addr);
다시 말하지만 이것은 프로그래밍 문제가 아니라 그러한 인터페이스가 NetBSD에 존재하는지에 대한 질문입니다.