Score:1

ip ส่งต่อไปยังอินเทอร์เฟซอื่นด้วย ufw ไม่ทำงาน

ธง pk

ฉันกำลังพยายามตั้งค่า IP ไปข้างหน้า ไม่สามารถจัดการเพื่อให้ทำงานได้ เป้าหมายคือการรับการเชื่อมต่อบนอินเทอร์เฟซ 1 (IP บนอินเทอร์เฟซนี้คือ 192.168.101.3) พอร์ต 4443 และส่งผ่านอินเทอร์เฟซ 2 ไปยัง IP 192.168.4.5 (IP ปลายทาง) พอร์ต 4443

  • ฉันเปิดใช้งาน "net.ipv4.ip_forward = 1" ใน /etc/sysctl.conf
  • ตั้งค่า DEFAULT_FORWARD_POLICY="ACCEPT" ใน /etc/default/ufw
  • เพิ่มไปที่ /etc/ufw/before.rules (จากบทช่วยสอนต่างๆ):
: ยอมรับ [0:0]
-A PREROUTING -p tcp --dport 4443 -j DNAT --to-ปลายทาง 192.168.4.5:4443
-A POSTROUTING -o interface2 -j MASQUERADE
ให้สัญญา

ฉันยังไม่สามารถเชื่อมต่อกับ "nc 192.168.101.3 4443"

  1. คุณเห็นอะไรผิดปกติหรือไม่?
  2. ufw รู้ได้อย่างไรว่าจะส่งต่ออินเทอร์เฟซใดหากไม่สามารถระบุ -o ใน DNAT ได้ มันจะไม่พยายามส่งต่อไปยัง 192.168.4.5:4443 บน interface1 หรือไม่

แก้ไข:

192.168.101.1(คอมพิวเตอร์ 1) -> (192.168.101.3, 192.168.4.1) (คอมพิวเตอร์ 2) -> 192.168.4.5 (คอมพิวเตอร์ 3)

สิ่งที่ดีที่สุดที่ฉันจะได้รับในตอนนี้คือสิ่งนี้ในบันทึก

[ 1177.553749] [UFW AUDIT] IN= OUT=enp6s0 SRC=192.168.101.3 DST=192.168.101.1 LEN=88 TOS=0x00 PREC=0xC0 TTL=64 ID=62781 PROTO=ICMP TYPE=3 CODE=3 [SRC=192.168 .101.1 DST=192.168.4.5 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=13975 DF PROTO=TCP SPT=60720 DPT=4445 WINDOW=64240 RES=0x00 SYN URGP=0 ]

ถ้าฉันเข้าใจถูกต้อง พอร์ต 4443 บน 192.168.4.5 ไม่สามารถเข้าถึงได้ ดังนั้น 192.168.101.3 จึงส่งแพ็คเก็ตข้อผิดพลาด ICMP กลับไปที่ 192.168.101.1 (เครื่องที่ฉันเชื่อมต่อด้วย nc) ซึ่งแปลกเพราะถ้าฉันพยายามเชื่อมต่อกับ nc โดยตรงจาก 192.168.101.3 มันก็ใช้ได้ดี ...

Doug Smythies avatar
gn flag
ฉันไม่เห็นอะไรผิดปกติ แต่ฉันจะระบุอินเทอร์เฟซอินพุตสำหรับคำสั่ง PREROUTING ของคุณ: `-A PREROUTING -p tcp -i interface1 --dport 4443 -j DNAT --to-destination 192.168.4.5:4443` ระบบควรทราบว่าซับเน็ต 192.168.4.0 อยู่บนอินเทอร์เฟซ 2 ผ่านที่อยู่ IP และตารางเส้นทางเราอาจจำเป็นต้องดูสิ่งต่างๆ ในบริบทของชุดกฎ iptables โดยรวม `sudo iptables -xvnL` และ `sudo iptables -t nat -xvnL` แม้ว่ากฎที่สร้างขึ้น ufw จะอ่านและปฏิบัติตามได้ยาก
pk flag
สวัสดีดั๊ก ขอบคุณสำหรับความคิดเห็นของคุณ ไปที่ https://pastebin.com/26YVtdes, https://pastebin.com/UNSypVxE (เปลี่ยนพอร์ตเป็น 4445 ไม่ได้ช่วย) แก้ไขโพสต์เพื่อดูรายละเอียดเพิ่มเติม
Doug Smythies avatar
gn flag
อันที่จริง ฉันคิดว่าคุณต้องเพิ่มกฎ FORWARD ในเชน LIBVIRT_FWI เพิ่มเป็นกฎข้อแรกหรือข้อสอง ก่อนกฎ REJECT หนึ่งข้อเพื่อยอมรับแพ็กเก็ตที่มีพอร์ตปลายทาง 4445 (ฉันจะกลับมาพร้อมกับไวยากรณ์ในภายหลัง)
Doug Smythies avatar
gn flag
กฎที่จำเป็นที่แนะนำที่ยังไม่ทดลอง รวมถึงการเพิ่มการบันทึก: `sudo iptables -I LIBVIRT_FWI 1 -i enp6s0 -o virbr0 -p tcp --dport 4445 -d 192.168.4.5 -m state --state NEW -j LOG --log-prefix " PFNEW:" --ข้อมูลระดับล็อก` และ `sudo iptables -I LIBVIRT_FWI 2 -i enp6s0 -o virbr0 -p tcp --dport 4445 -d 192.168.4.5 -m state --state NEW -j ACCEPT`
pk flag
เฮ้ ขออภัยในความล่าช้า ขอบคุณมาก มันยอดเยี่ยมมาก!
Score:0
ธง pk

ดังที่ดั๊กกล่าวไว้ในความคิดเห็น ปัญหามาจาก libvirt ยุ่งกับ iptables

sudo iptables -I LIBVIRT_FWI 1 -i enp6s0 -o virbr0 -p tcp --dport 4445 -d 192.168.4.5 -m state --state NEW -j LOG --log-prefix "PFNEW:" -- ข้อมูลระดับบันทึก

sudo iptables -I LIBVIRT_FWI 2 -i enp6s0 -o virbr0 -p tcp --dport 4445 -d 192.168.4.5 -m state --state NEW -j ยอมรับ

ควรแก้ปัญหา การใช้การเชื่อมต่อแบบบริดจ์เป็นอีกวิธีหนึ่ง

โพสต์คำตอบ

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