ฉันสามารถใช้ ufw เพื่อตั้งค่าพอร์ตไปข้างหน้าได้หรือไม่


31

ฉันกำลังใช้ ufw เพื่อบังคับใช้กฎไฟร์วอลล์พื้นฐานบางอย่าง เป็นไปได้ไหมที่จะใช้ ufw เพื่อทำการส่งต่อพอร์ต

ฉันต้องการส่งต่อทราฟฟิกขาเข้าไปยังเซิร์ฟเวอร์ของฉัน (เครื่องเดียวกันที่รัน ufw) บนพอร์ต 80 ถึงพอร์ต 8080 (ทราฟฟิก http ที่ส่งต่อไปยัง Tomcat)

Th

คำตอบ:


50

สมมติว่าคุณต้องการส่งต่อคำขอไปที่ 80 ไปยังเซิร์ฟเวอร์ที่กำลังฟังบนพอร์ต 8080

โปรดทราบว่าคุณจะต้องแน่ใจว่าอนุญาตให้ใช้พอร์ต 8080 มิฉะนั้น ufw จะบล็อกคำขอที่เปลี่ยนเส้นทางไปที่ 8080

sudo ufw allow 8080/tcp

ไม่มีคำสั่ง ufw สำหรับการตั้งค่าพอร์ตไปข้างหน้าดังนั้นจึงต้องทำผ่านไฟล์กำหนดค่า เพิ่มบรรทัดด้านล่างเพื่อ/etc/ufw/before.rulesก่อนfilterส่วนให้อยู่ที่ด้านบนของไฟล์:

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
COMMIT

จากนั้นรีสตาร์ทและเปิดใช้งาน ufw เพื่อเริ่มบู๊ต:

sudo ufw enable

7
กรุณาอธิบายบรรทัดนี้ทีละบรรทัดได้ไหม ยังมีอะไรที่ไม่เหมือนกันufw forward 80 to 8080ไหม ฉันคิดว่า UFW นั้นไม่ซับซ้อน
Tom

4
ดูเหมือนว่าไม่มีคำสั่ง ufw สำหรับการตั้งค่าพอร์ต fowards ดังนั้นจึงต้องทำผ่านไฟล์กำหนดค่า คำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับไวยากรณ์ของไฟล์การกำหนดค่ามีอยู่ที่: frozentux.net/iptables-tutorial/…
Juha Palomäki

ที่ไม่ได้ทำงานสำหรับฉันฉันได้รับข้อความต่อไปนี้ใน/var/log/syslogหลังจากที่เปิด Loggin [52627.259812] [UFW BLOCK] IN=eth0 OUT= MAC=xxx SRC=xxx DST=xxx LEN=60 TOS=0x00 PREC=0x00 TTL=59 ID=59278 DF PROTO=TCP SPT=53997 DPT=8080 WINDOW=14600 RES=0x00 SYN URGP=0เมื่อ: มันอาจจะเป็นประโยชน์ที่จะรู้ว่าก่อนที่ทุกอย่างผมขอปฏิเสธทั้งหมดที่เข้ามาใช้และได้รับอนุญาตเท่านั้นufw deny incoming ssh,80,443ใครช่วยกรุณาแนะนำปัญหาคืออะไร
Yuriy Nakonechnyy

1
@Yura ฉันมีปัญหาเดียวกัน (8080 ถูกบล็อกเมื่อฉันดู syslog) การทำงานsudo ufw allow 8080/tcpแก้ไขปัญหาให้ฉันได้แล้ว
Tim Swast

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