ฉันจะเพิ่มกฎการส่งต่อ ipfw ไปยังสนิชเล็กน้อยได้อย่างไร


2

ฉันใช้กฎต่อไปนี้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ nginx ของฉันบนเครื่องคนเร่ร่อน:

sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to me 80
sudo ipfw add 100 fwd 127.0.0.1,8090 tcp from any to me 443

หลังจากติดตั้ง snitch เล็ก ๆ น้อย ๆ ดูเหมือนว่าจะทำให้ ipfw ไร้ประโยชน์และฉันไม่สามารถหาวิธีใช้กฎการส่งต่อไปยัง snitch น้อยได้หรือไม่


ลูกสนิชตัวน้อยกำลังบล็อคมันอยู่หรือ การจราจรที่เข้ามา!
Ruskes

ดูเหมือนว่ามันจะไม่สนใจกฎ ipfw เรียก 127.0.0.1:8080 งาน
kritop

คำตอบ:


2

เนื่องจาก ipfw ถูกลบในโยเซมิตีด้วยวิธีการแก้ปัญหาคือใช้ pf

สร้างไฟล์ใน /etc/pf.anchors/

เช่น com.myapp

rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080

หมายเหตุ: เพิ่มตัวแบ่งบรรทัดต่อท้าย มิฉะนั้น pf จะบอกว่าคุณมีข้อผิดพลาดทางไวยากรณ์

แก้ไข /etc/pf.conf เพิ่มทันทีหลังจากrdr-anchor "com.apple/*":

rdr-anchor "myapp"

และหลังload anchor "com.apple" from "/etc/pf.anchors/com.apple":

load anchor "myap" from "/etc/pf.anchors/com.myapp"

หมายเหตุ: เพิ่มตัวแบ่งบรรทัดต่อท้าย มิฉะนั้น pf จะบอกว่าคุณมีข้อผิดพลาดทางไวยากรณ์

จากนั้นโหลดกฎลงใน pf อีกครั้งโดยเรียกใช้ sudo pfctl -f /etc/pf.conf

ในที่สุดเปิดใช้งาน pf โดยการเรียกใช้ sudo pfctl -e

ที่มา: https://github.com/basecamp/pow/issues/452

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.