Làm cách nào để mở một cổng cụ thể trong tường lửa? Tôi không thể sử dụng "cho phép kết nối từ ứng dụng" vì tôi muốn mở cổng cho Jenkins, điều đó không có trong danh sách ...
ipfw
sẽ có liên quan? apple.stackexchange.com/questions/33871/...
Làm cách nào để mở một cổng cụ thể trong tường lửa? Tôi không thể sử dụng "cho phép kết nối từ ứng dụng" vì tôi muốn mở cổng cho Jenkins, điều đó không có trong danh sách ...
ipfw
sẽ có liên quan? apple.stackexchange.com/questions/33871/...
Câu trả lời:
OS X Mavericks của Apple chứa ba tường lửa. Trước hết, Tường lửa cấp ứng dụng có thể được cấu hình bằng cài đặt hệ thống. Nhưng cũng có ipfw, một tường lửa lọc gói như netfilter / iptables trên GNU / Linux và pf (FreeBSD / OpenBSD).
Bạn có thể định cấu hình ipfw bằng dòng lệnh hoặc sử dụng giao diện đồ họa như WaterRoust miễn phí / libre .
Bạn có thể bắt đầu với một lệnh ipfw như:
sudo ipfw add 31010 allow tcp from any to any dst-port 8080
Tôi gặp vấn đề tương tự theo OS X Yosemite (10.10.3). Tìm thấy bài viết blog này cung cấp hướng dẫn rõ ràng. Chúng tôi không thể sử dụng ipfw nữa, vì nó không dùng nữa. Thay vào đó, sử dụng pfctl, không may thiếu một cách dòng lệnh hay để bảo nó mở một cổng. Thay vào đó, bạn cần phải:
# Mở cổng 8080 cho TCP trên tất cả các giao diện
vượt qua proto tcp từ bất kỳ đến bất kỳ cổng 8080 nào
sudo pfctl -f /etc/pf.conf
Nếu bạn cần mở một cổng udp, hãy đổi tcp
thành udp
, nếu bạn cần cả hai, hãy thêm một dòng thứ hai. Chi tiết bổ sung có thể được tìm thấy trong man pf.conf
.
Đồng thời đảm bảo rằng máy chủ của bạn đang lắng nghe trên giao diện thực tế mà bạn muốn nó có thể truy cập qua (hoặc tất cả các giao diện, sử dụng 0.0.0.0
hoặc ::0
), chứ không phải localhost ( 127.0.0.1
hoặc ::1
).
-n
đến pfctl để xác minh các quy tắc và không tải chúng. Sử dụng chỉ -f /etc/pf.conf
để tải các quy tắc. Xác nhận chúng được tải với pfctl -sr
. Tuy nhiên, trong khi các quy tắc pfctl là cần thiết, bản thân nó không xuất hiện đủ để cho phép truy cập vào El Capitan trên một cổng nhất định.
localhost
); người ta có được tên máy chủ với $ hostname
trên dòng lệnh. Ngoài ra, người ta có thể khởi động lại tường lửa, thay vì khởi động lại, bằng cách đi tới Tùy chọn hệ thống -> Bảo mật & quyền riêng tư -> Tường lửa -> Tắt Tường lửa và sau đó Bật Tường lửa.
ipfw bị Apple phản đối. Sư tử núi và sau đó sử dụng pfctl.
Đây là một lớp lót thay vì yêu cầu người dùng phải loay hoay với Vim. Hữu ích cho tự động hóa.
sed -i '' -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf
Hoặc một sự thay thế cho người dùng Linux
sed -i -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf
Chỉ cần chắc chắn rằng bạn thay đổi 8080
trong ví dụ thành bất cứ điều gì bạn có trong tâm trí. Trao đổi tcp với udp nếu bạn thích.