Score:0

การส่งต่อพอร์ต firewalld ไม่ทำงานใน CentOS 7

ธง jp
Laa

ในเซิร์ฟเวอร์ของฉัน ฉันต้องการเปลี่ยนเส้นทางคำขอทั้งหมด: มาจากพอร์ต 81 ถึง 8080

เนื่องจากบริการ Jenkins ไม่ได้รับอนุญาตให้รับฟังที่พอร์ต 80 ฉันจึงทำตาม Jenkins doc Jenkins - พร็อกซีย้อนกลับ โดยใช้ไฟร์วอลล์

แต่ไม่ทำงาน ด้านล่างนี้เป็นขั้นตอนของฉันและรายละเอียดระบบบางส่วน:

  1. เวอร์ชัน CentOS = 7.9.2009
[root@xxx ~]# cat /etc/centos-release
CentOS Linux รีลีส 7.9.2009 (คอร์)
  1. ฉันได้เปิดใช้งานพอร์ตและเพิ่มกฎการส่งต่อพอร์ตในไฟร์วอลล์แล้ว: (เพิ่มแล้วถาวรและโหลดไฟร์วอลล์ใหม่)
[root@xxx ~]# firewall-cmd --list-all --zone=public
สาธารณะ (ใช้งานอยู่)
  เป้าหมาย: ค่าเริ่มต้น
  icmp-block-inversion: ไม่
  อินเทอร์เฟซ: ens160 lo
  แหล่งที่มา:
  บริการ: dhcpv6-client http ssh
  พอร์ต: 80/tcp 443/tcp 81/tcp
  โปรโตคอล:
  สวมหน้ากาก: ใช่
  ส่งต่อพอร์ต: port=81:proto=tcp:toport=8080:toaddr=
  พอร์ตต้นทาง:
  icmp บล็อก:
  กฎมากมาย:
  1. ตรวจสอบ netstat:
[root@xxx ~]# netstat -tulpn | ฟัง
tcp 0 0 0.0.0.0:22 0.0.0.0:* ฟัง 1090/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* ฟัง 1724/หลัก
tcp6 0 0 :::8080 :::* ฟัง 1107/java
tcp6 0 0 :::22 :::* ฟัง 1090/sshd
tcp6 0 0 ::1:25 :::* ฟัง 1724/master

ฟังได้เฉพาะ 8080/22/25 เท่านั้น

  1. ฉันพยายามใช้เครื่องมือ nc เพื่อตรวจสอบการส่งต่อพอร์ต:
[root@xxx ~]# nc -v 127.0.0.1 8080
Ncat: เวอร์ชัน 7.50 ( https://nmap.org/ncat )
Ncat: เชื่อมต่อกับ 127.0.0.1:8080
^ซี
[root@xxx ~]# nc -v 127.0.0.1 81
Ncat: เวอร์ชัน 7.50 ( https://nmap.org/ncat )
Ncat: การเชื่อมต่อถูกปฏิเสธ

8080 ใช้ได้ แต่การส่งต่อ 81 ไม่ทำงาน

  1. การอ้างอิงบางคนกล่าวว่าจำเป็นต้องตั้งค่า net.ipv4.ip_forward=1 ฉันยังตั้งค่าก่อนหน้านี้:
[root@xxx ~]# sysctl -a |grep "ip_forward"
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
sysctl: อ่านคีย์ "net.ipv6.conf.all.stable_secret"
sysctl: อ่านคีย์ "net.ipv6.conf.default.stable_secret"
sysctl: อ่านคีย์ "net.ipv6.conf.ens160.stable_secret"
sysctl: อ่านคีย์ "net.ipv6.conf.lo.stable_secret"
  1. ตรวจสอบ iptables ของฉันอีกครั้ง และฉันไม่ได้ตั้งค่า iptables:
[root@xxx ~]# iptables -L
เชนอินพุท (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง

ส่งต่อไปข้างหน้า (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง

Chain OUTPUT (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
[root@xxx ~]# systemctl สถานะ iptables
ไม่พบ iptables.service

มีแนวคิดเกี่ยวกับวิธีการทำงาน "การส่งต่อพอร์ต" โดยใช้ไฟร์วอลล์หรือไม่ ขอบคุณ.

jp flag
Laa
ขออภัย ฉันแก้ไขโดยใช้คำที่ถูกต้องมากขึ้น: port-forwarding on local
Score:0
ธง jp
Laa

ในที่สุดฉันก็พบวิธีแก้ปัญหา และอีกอย่างหนึ่ง netstat ไม่สามารถตรวจสอบการส่งต่อพอร์ตได้

จำเป็นต้องเพิ่มกฎโดยตรงสำหรับ lo:

[root@xxx ~]$ firewall-cmd --direct --get-all-rules
ipv4 nat เอาต์พุต 0 -p tcp -o lo --dport 80 -j REDIRECT --to-ports 8080

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา