ด้วยความช่วยเหลือจาก Michael Hampton (ขอบคุณ!) ฉันคิดออกและกำลังตอบคำถามของฉันเอง
สิ่งที่จำเป็นคือโซนแยกต่างหากที่คุณกำหนดโดยการเพิ่มขอบเขตเข้าไป:
ไฟร์วอลล์ cmd --new-zone = พิเศษ --permanent
ไฟร์วอลล์ cmd --reload
ไฟร์วอลล์ cmd --zone = พิเศษ --add-source = 12.34.56.78/32 --ถาวร
ไฟร์วอลล์ cmd --zone = พิเศษ --add-source = 12.34.56.88/32 --ถาวร
ไฟร์วอลล์-cmd --zone=พิเศษ --add-source=12.34.99.0/24 --ถาวร
จากนั้นเพิ่ม ทั้งหมด บริการ/พอร์ตปกติที่คุณมี สาธารณะ โซนไปยังโซนใหม่นี้ (โดยทั่วไปจะทำซ้ำการกำหนดค่า) และสุดท้ายเพิ่มกฎพอร์ตที่ส่งต่อ ไปยังโซนใหม่เท่านั้น ด้วย (ตัวอย่างพร็อกซี http):
ไฟร์วอลล์ cmd --zone = พิเศษ --add-forward-port = port = 8080:proto = tcp:toaddr = 10.0.0.2 -- ถาวร
จากนั้นทำการโหลดซ้ำครั้งสุดท้ายเพื่อใช้:
ไฟร์วอลล์ cmd --reload
และ voila: ขอบเขต 12.34.56.78/32 12.34.56.88/32 และ 12.34.99.0/24 สามารถเข้าถึงบริการพร็อกซีตัวอย่างได้แล้ว แต่ไม่มีใครอื่น
อัปเดต
หมายเหตุสำคัญ: ขั้นตอนเหล่านี้ใช้ได้ดีสำหรับ การจราจรขาเข้า แต่การทำให้ไฟร์วอลล์ทำงานเป็นเราเตอร์ NAT รวมถึงขาออกต้องใช้งานมากขึ้น (ซึ่งฉันไม่สามารถทำงานได้ ... ) ถ้าใครมีโซลูชันที่สมบูรณ์กว่านี้ที่อนุญาตให้ขาเข้าและขาออกทำงานผ่านเซิร์ฟเวอร์ที่มีไฟร์วอลล์ ฉันจะทำเครื่องหมายว่าเป็นคำตอบที่ยอมรับอย่างมีความสุข!
OT: ในที่สุดฉันก็ใช้ IPTables ซึ่งฉันได้ทำงานเพื่อส่งต่อพอร์ต และ NAT โดยไม่มีปัญหามากเกินไปเมื่อฉันรู้ว่าฉันทำอะไรผิด (ฉันไม่มีกฎขาออกในห่วงโซ่ FORWARD... >.> <.<) และช่วยให้สามารถควบคุมขอบเขตอย่างละเอียดในทุกกฎ (ด้วย โบนัส ฉันสามารถทำทุกอย่างได้จาก Webmin :P) เนื่องจากไม่อยู่ในหัวข้อฉันจึงออกจากคำตอบนี้ตามที่เป็นอยู่