Esta não é uma questão de programação, mas uma questão sobre o NetBSD.
Linux, FreeBSD e OpenBSD têm interfaces mutuamente exclusivas, mas similares, para permitir a ligação da extremidade local de uma conexão a um endereço que não esteja presente em nenhuma interface local. Por exemplo. faça uma conexão de 8.8.8.8. Eu tenho andado por aí sem sucesso no NetBSD para ver se há algo com o mesmo efeito lá. Existe?
Aqui está o código de exemplo (my), para referência:
Função spoof_bind, linha ~ 250.
Exemplos simplificados para ilustrar o conceito:
Linux:
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);
OpenBSD:
setsockopt(upfd, SOL_SOCKET, SO_BINDANY, &one, sizeof one);
bind(upfd, (struct sockaddr *)&addr, sizeof addr);
Mais uma vez, esta não é uma questão de programação, mas uma questão de saber se tal interface existe no NetBSD.
Tags networking ip netbsd