Как открыть определенный порт в Firewall OS X 10.9.4
15
Как открыть определенный порт в брандмауэре? Я не могу использовать «разрешить соединения из приложения», так как хочу открыть порт для Jenkins, которого нет в списке ...
Какие порты и протоколы вы хотите, чтобы Jenkins мог слушать? Этот пост поможет вам увидеть, на каких портах он настроен ... stackoverflow.com/a/10106086/475228
Apple OS X Mavericks содержит три брандмауэра. Прежде всего, брандмауэр прикладного уровня, который можно настроить с помощью системных настроек. Но есть также ipfw, межсетевой экран фильтрации пакетов, такой как netfilter / iptables в GNU / Linux и pf (FreeBSD / OpenBSD).
Вы можете настроить ipfw с помощью командной строки или с помощью графического интерфейса, такого как free / libre WaterRoof .
Вы можете начать с команды ipfw, например:
sudo ipfw add 31010 allow tcp from any to any dst-port 8080
У меня была такая же проблема под OS X Yosemite (10.10.3). Нашел этот пост в блоге, который содержит четкие инструкции. Мы больше не можем использовать ipfw, так как он устарел. Вместо этого используйте pfctl, который, к сожалению, не имеет хорошего способа командной строки, чтобы сказать ему, чтобы открыть порт. Вместо этого вам необходимо:
Откройте /etc/pf.conf в текстовом редакторе.
Добавьте такую строку:
# Откройте порт 8080 для TCP на всех интерфейсах
перейти в прото TCP с любого на любой порт 8080
Сохраните файл.
Загрузите изменения:
sudo pfctl -f /etc/pf.conf
Если вам нужно открыть порт udp, измените tcpна udp, если вам нужно оба, добавьте вторую строку. Дополнительные детали можно найти в man pf.conf.
Также убедитесь, что ваш сервер прослушивает фактический интерфейс, через который вы хотите, чтобы он был доступен (или все интерфейсы, использующие 0.0.0.0или ::0), а не localhost ( 127.0.0.1или ::1).
Вау, перезагрузка? Вы действительно должны перезагрузиться, чтобы открыть порт?
jcollum
1
передача -nв pfctl проверяет правила и не загружает их. Используйте только -f /etc/pf.confдля загрузки правил. Убедитесь, что они загружены pfctl -sr. Тем не менее, хотя правила pfctl необходимы, сами по себе они не являются достаточными для предоставления доступа к El Capitan через данный порт.
Брайан М. Хант
... Также необходимо убедиться, что приложение связано с именем хоста (не localhost); каждый получает имя хоста $ hostnameв командной строке. Кроме того, вместо перезагрузки можно перезагрузить брандмауэр, перейдя в «Системные настройки» -> «Безопасность и конфиденциальность» -> «Брандмауэр» -> «Выключить брандмауэр», а затем включите «Брандмауэр».
Вы можете отправить конкретную команду, чтобы открыть порт?
Это
Если вы хотите добавить определенный порт, то я думаю, что вам нужно отредактировать файл конфигурации (см. Krypted.com/mac-security/… и найдите деталь с 192.168). С другой стороны, если вы хотите убедиться, что приложение не заблокировано, jamfnation.jamfsoftware.com/discussion.html?id=6566 содержит довольно хорошее резюме в последнем комментарии. Я до сих пор в основном использую 10.6, поэтому я мало работал с pfctl.
Кент,
1
Вот один вкладыш, вместо того, чтобы требовать от пользователя возиться с Vim. Полезно для автоматизации.
sed -i '' -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf
Или альтернатива для пользователей Linux
sed -i -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf
Просто убедитесь, что вы изменили 8080в примере то, что вы имеете в виду. Поменяйте местами tcp с udp, если хотите.
ipfw
актуальным? apple.stackexchange.com/questions/33871/...Ответы:
Apple OS X Mavericks содержит три брандмауэра. Прежде всего, брандмауэр прикладного уровня, который можно настроить с помощью системных настроек. Но есть также ipfw, межсетевой экран фильтрации пакетов, такой как netfilter / iptables в GNU / Linux и pf (FreeBSD / OpenBSD).
Вы можете настроить ipfw с помощью командной строки или с помощью графического интерфейса, такого как free / libre WaterRoof .
Вы можете начать с команды ipfw, например:
источник
У меня была такая же проблема под OS X Yosemite (10.10.3). Нашел этот пост в блоге, который содержит четкие инструкции. Мы больше не можем использовать ipfw, так как он устарел. Вместо этого используйте pfctl, который, к сожалению, не имеет хорошего способа командной строки, чтобы сказать ему, чтобы открыть порт. Вместо этого вам необходимо:
Если вам нужно открыть порт udp, измените
tcp
наudp
, если вам нужно оба, добавьте вторую строку. Дополнительные детали можно найти вman pf.conf
.Также убедитесь, что ваш сервер прослушивает фактический интерфейс, через который вы хотите, чтобы он был доступен (или все интерфейсы, использующие
0.0.0.0
или::0
), а не localhost (127.0.0.1
или::1
).источник
-n
в pfctl проверяет правила и не загружает их. Используйте только-f /etc/pf.conf
для загрузки правил. Убедитесь, что они загруженыpfctl -sr
. Тем не менее, хотя правила pfctl необходимы, сами по себе они не являются достаточными для предоставления доступа к El Capitan через данный порт.localhost
); каждый получает имя хоста$ hostname
в командной строке. Кроме того, вместо перезагрузки можно перезагрузить брандмауэр, перейдя в «Системные настройки» -> «Безопасность и конфиденциальность» -> «Брандмауэр» -> «Выключить брандмауэр», а затем включите «Брандмауэр».ipfw устарела Apple. Mountain Lion и позже используйте pfctl.
http://support.apple.com/kb/ht5413
источник
Вот один вкладыш, вместо того, чтобы требовать от пользователя возиться с Vim. Полезно для автоматизации.
Или альтернатива для пользователей Linux
Просто убедитесь, что вы изменили
8080
в примере то, что вы имеете в виду. Поменяйте местами tcp с udp, если хотите.источник