Как маршрутизировать трафик через два разных сетевых адаптера на основе порта TCP в OS X
(кросс-пост от ServerFault, так как этот форум кажется более подходящим для этого вопроса)
У меня есть сценарий, в котором мы будем использовать Mac для потоковой передачи видео на сервер RTMP. Эта служба RMTP предоставляет 2 URL-адреса для загрузки, поэтому вы можете загружать один и тот же видеоконтент дважды и иметь избыточность в случае возникновения проблем с подключением. Тем не менее, оба URL-адреса RTMP-входа одинаковы, единственное отличие - это номер порта TCP, например:
{ "rtmp1": "rtmp://xxx.xxx.com:1935/id1", "rtmp2": "rtmp://xxx.xxx.com:1936/id1" }
Я хочу сделать следующее:
- На Mac есть два сетевых интерфейса (каждый использует разных сетевых провайдеров для резервирования).
- Пусть OS X использует 1 из этих сетевых интерфейсов для потоковой передачи контента на первый URL, а второй сетевой интерфейс использует для потоковой передачи на второй URL
Я не знаю, как разделить трафик на один и тот же хост (но другой порт) через разные сетевые интерфейсы в OS X. Я нашел эти ссылки ( здесь и здесь ), но они решают разные проблемы.
Кто-нибудь знает, как использовать iptables, nat, hosts или какую-либо комбинацию сервисов в OS X для достижения этого разрыва, который я ищу?
ОБНОВИТЬ
После некоторого исследования я убежден, что это может быть достигнуто с помощью PF. Я создал следующий набор правил и включил pf с этим загруженным правилом. Однако весь трафик блокируется, и фактический трафик rtmp, который должен быть разрешен для исходящих и правильно маршрутизируемых, также блокируется. Похоже, у меня есть проблема с синтаксисом, когда PF сопоставляет трафик RTMP с настроенным мною правилом:
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 ответов на вопрос
Похожие вопросы
-
3
Почему Macbook Pro Unibody вылетает в спящем режиме под Windows?
-
3
Ускорение загрузки OS X на годичной MBP
-
2
iTunes на Mac: как использовать внешнюю музыкальную библиотеку на NAS (общий ресурс Windows)?
-
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
3
Как повторно связать резервную копию Airport Time Machine после перехода на новый Mac?
-
4
Как я могу конвертировать ISO-образ CD в формат bin / cue на Mac?
-
6
Как вы отключите звук запуска на Mac?
-
5
Почему мой Macbook сильно нагревается при использовании Boot Camp?
-
5
Macbook Pro продолжает извлекать все, что я положил во внутренний оптический привод
-
4
Есть ли альтернативы TextExpander в Mac OS X?