So leiten Sie den Verkehr über zwei verschiedene Netzwerkadapter basierend auf dem TCP-Port in OS X weiter
(Crossposting von ServerFault, da dieses Forum für diese Frage eher geeignet erscheint)
Ich habe ein Szenario, in dem wir einen Mac verwenden, um Videoinhalte auf einen RTMP-Server zu streamen. Dieser RMTP-Dienst stellt zwei Ingest-URLs zur Verfügung, sodass Sie denselben Videoinhalt zweimal hochladen können und Redundanz haben, falls Ihre Verbindung ein Problem aufweist. Beide RTMP-Ingest-URLs sind jedoch identisch. Der einzige Unterschied ist die TCP-Portnummer. Beispiel:
{ "rtmp1": "rtmp://xxx.xxx.com:1935/id1", "rtmp2": "rtmp://xxx.xxx.com:1936/id1" }
Was ich tun möchte, ist folgendes:
- Verfügen über zwei Netzwerkschnittstellen auf dem Mac (die jeweils unterschiedliche Netzwerkanbieter verwenden, um Redundanz zu erreichen).
- Lassen Sie das OS X eine dieser Netzwerkschnittstellen verwenden, um Inhalte an die erste URL zu streamen, und verwenden Sie die zweite Netzwerkschnittstelle, um an die zweite URL zu streamen
Ich weiß nicht, wie ich den Verkehr über verschiedene Netzwerkschnittstellen in OS X auf denselben Host (aber einen anderen Port) aufteilen kann. Ich habe diese Links ( hier und hier ) gefunden, aber sie lösen unterschiedliche Probleme.
Weiß jemand, wie man iptables, nat, hosts oder eine beliebige Kombination von Diensten innerhalb von OS X verwendet, um diese gesuchte Aufteilung zu erreichen?
AKTUALISIEREN
Nach einigen Recherchen bin ich überzeugt, dass dies mit PF erreichbar sein sollte. Ich habe den folgenden Regelsatz erstellt und pf mit dieser geladenen Regel aktiviert. Der gesamte Datenverkehr wird jedoch blockiert, und der eigentliche RTMP-Verkehr, der ausgehend zugelassen und ordnungsgemäß geleitet werden sollte, wird ebenfalls blockiert. Anscheinend habe ich ein Syntaxproblem, wenn PF den RTMP-Verkehr mit der von mir konfigurierten Regel abgleichen lässt:
ext_if1 = "en0" ext_if1_gwt = "192.168.1.1" ext_if2 = "en5" ext_if2_gwt = "172.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
0 Antworten auf die Frage
Verwandte Probleme
-
3
Warum stürzt der Macbook Pro Unibody im Ruhezustand unter Windows ab?
-
3
Beschleunigung der Bootzeiten von OS X bei einem Jahr alten MBP
-
2
iTunes auf dem Mac: Wie verwendet man eine externe Musikbibliothek auf einem NAS (Windows-Freigabe)?
-
2
Erinnert sich Windows 7 Home Premium an Netzwerkfreigaben-Passwörter?
-
3
Wie ordnen Sie ein Airport Time Machine-Backup nach der Migration auf einen neuen Mac wieder zu?
-
4
Wie kann ich ein ISO-CD-Image auf einem Mac in das bin / cue-Format konvertieren?
-
6
Wie können Sie den Startton auf einem Mac stummschalten?
-
5
Warum wird mein Macbook bei der Verwendung von Boot Camp extrem heiß?
-
5
Das Macbook Pro stößt ständig alles aus, was ich in das interne optische Laufwerk eingelegt habe
-
4
Gibt es Alternativen zu TextExpander unter Mac OS X?