Eu tenho um cenário em que usaremos um Mac para transmitir conteúdo de vídeo para um servidor RTMP. Esse serviço de RMTP fornece 2 URLs de ingestão para que você possa enviar o mesmo conteúdo de vídeo duas vezes e ter redundância caso sua conexão tenha um problema. No entanto, as duas URLs de entrada do RTMP são iguais, a única diferença é o número da porta TCP, por exemplo:
{
"rtmp1": "rtmp://xxx.xxx.com:1935/id1",
"rtmp2": "rtmp://xxx.xxx.com:1936/id1"
}
O que eu quero fazer é o seguinte:
Eu não sei como dividir o tráfego para o mesmo host (mas porta diferente) através de diferentes interfaces de rede no OS X. Eu encontrei esses links ( "aqui e aqui ), mas eles resolvem problemas diferentes.
Alguém sabe como usar o iptables, nat, hosts ou qualquer combinação de serviços no OS X para conseguir essa divisão que estou procurando?
UPDATE
Depois de algumas pesquisas, estou convencido de que isso deve ser possível com a PF. Eu criei o seguinte conjunto de regras e habilitei pf com esta regra carregada. No entanto, todo o tráfego é bloqueado e o tráfego rtmp real que deve ser permitido de saída e roteado adequadamente também é bloqueado. Parece que tenho um problema de sintaxe em ter o PF correspondendo ao tráfego RTMP com a regra que eu configurei:
ext_if1 = "en0"
ext_if1_gwt = "192.168.1.1"
ext_if2 = "en5"
ext_if2_gwt = "192.168.1.1"
rtmp_ip = "104.46.55.96"
rtmp_port1 = "1935"
rtmp_port2 = "1936"
pass in on $ext-if1 route-to ($ext_if1 $ext_if1_gwt) proto tcp from any to $rtmp_ip port $rtmp_port1
pass in on $ext-if1 route-to ($ext_if2 $ext_if2_gwt) proto tcp from any to $rtmp_ip port $rtmp_port2
pass in on $ext-if2 route-to ($ext_if1 $ext_if1_gwt) proto tcp from any to $rtmp_ip port $rtmp_port1
pass in on $ext-if2 route-to ($ext_if2 $ext_if2_gwt) proto tcp from any to $rtmp_ip port $rtmp_port2
block out