การส่งต่อพอร์ตบน Centos 7


9

ฉันกำลังทำงานบนเซิร์ฟเวอร์ CentOS 7 และฉันพยายามทำให้ JBoss ทำงานในแบบที่ฉันต้องการ ฉันกำลังใช้งาน Java 8 และ JBoss (อย่างดุเดือด) 8. ฉันได้ติดตั้งและใช้งานพอร์ตเริ่มต้นแล้ว แต่ฉันต้องการให้ JBoss ทำงานบนพอร์ต 80 ฉันรู้ว่าฉันสามารถใช้งานพอร์ต 80 ได้ถ้าฉัน เรียกใช้เป็น root แต่ฉันรู้ว่าไม่ใช่ความคิดที่ดีและฉันไม่ต้องการเรียกใช้เป็น root แต่อย่างใด

ฉันได้ลองส่งต่อพอร์ต 80 ถึง 8080 แล้ว แต่ฉันยังไม่ได้ใช้งาน ฉันคิดว่าฉันขาดขั้นตอน แต่ฉันไม่รู้ว่าฉันพลาดอะไรไป

ฉันใช้ firewall-cmd ฉันได้เปิดทั้งสองพอร์ต (80 & 8080) และฉันได้เปิดใช้งานการปลอมแปลงสำหรับพื้นที่สาธารณะ ฉันยังใช้คำสั่งนี้เพื่อส่งต่อพอร์ต

firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.  

ความคิดใด ๆ ที่ฉันหายไป?


เกิดอะไรขึ้นกับการใช้ httpd หรือ nginx อยู่ข้างหน้า
Michael Hampton

ไม่มีอะไรฉันพยายามจะไม่ทำอย่างนั้นถ้าฉันสามารถช่วยได้
zzzsys

คำตอบ:


10

ฉันเพิ่งพบวิธีที่ทำให้สิ่งนี้เป็นไปได้สำหรับฉัน:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=3001 --permanent

1
+1 ที่ถูกต้องสำหรับคุณ ฉันต้องดิ้นรนมากมายที่จะได้มาที่นี่
ปราชญ์

FirewallD ไม่ทำงาน
Steve Yakovenko

@SteveYakovenko แล้วเริ่มมันเป็นขั้นตอนแรกที่ดี
just_user

0

firewall-cmd'add-forward-port' จะเพิ่มกฎให้กับPREROUTINGโซ่ NAT ซึ่งจะใช้กับแพ็กเก็ตที่สร้างจากภายนอกเท่านั้น ถ้าคุณกำลังพยายามที่จะเชื่อมต่อกับ localhost (หรือเซิร์ฟเวอร์ IP ท้องถิ่น) ในพอร์ต 80 PREROUTINGบนเซิร์ฟเวอร์ก็จะล้มเหลวเพราะแพ็คเก็ตเหล่านั้นไม่เคยผ่าน

หากคุณกำลังเชื่อมต่อกับพอร์ต 80 จากแหล่งข้อมูลภายนอกfirewall-cmdแสดงว่าคุณอยู่ในรายการควรทำงานอย่างถูกต้อง ฉันขอแนะนำให้ยืนยันว่าอินเทอร์เฟซของคุณอยู่ในโซน 'สาธารณะ'

คุณยังสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับจำนวนแพ็กเก็ตบนกฎเพื่อให้แน่ใจว่ามีการเข้าชมจริง:

iptables -t nat -vnL | grep 8080 -B1

หากแพ็กเก็ตนับเพิ่มขึ้นในการลองแต่ละครั้งไฟร์วอลล์จะทำงานอย่างถูกต้องและคุณมีปัญหาเกินกว่าไฟร์วอลล์ (อาจเป็น ACL ใน JBOSS หรือไม่) หากแพ็กเก็ตไม่เพิ่มขึ้นในการลองแต่ละครั้งกฎไฟร์วอลล์จะไม่ได้รับผลกระทบเลยแนะนำว่าคุณอาจอยู่ในโซนที่ไม่ถูกต้องหรือมีกฎอื่น ๆ ที่ครอบครองกฎการส่งต่อพอร์ต


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